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

#include "protobuf/pg_query.pb.h"

#include <algorithm>
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/extension_set.h"
#include "google/protobuf/wire_format_lite.h"
#include "google/protobuf/descriptor.h"
#include "google/protobuf/generated_message_reflection.h"
#include "google/protobuf/reflection_ops.h"
#include "google/protobuf/wire_format.h"
#include "google/protobuf/generated_message_tctable_impl.h"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"
PROTOBUF_PRAGMA_INIT_SEG
namespace _pb = ::google::protobuf;
namespace _pbi = ::google::protobuf::internal;
namespace _fl = ::google::protobuf::internal::field_layout;
namespace pg_query {

inline constexpr VariableShowStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR VariableShowStmt::VariableShowStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct VariableShowStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VariableShowStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~VariableShowStmtDefaultTypeInternal() {}
  union {
    VariableShowStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VariableShowStmtDefaultTypeInternal _VariableShowStmt_default_instance_;

inline constexpr UnlistenStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : conditionname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR UnlistenStmt::UnlistenStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct UnlistenStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR UnlistenStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~UnlistenStmtDefaultTypeInternal() {}
  union {
    UnlistenStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UnlistenStmtDefaultTypeInternal _UnlistenStmt_default_instance_;

inline constexpr TriggerTransition::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_new_{false},
        is_table_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TriggerTransition::TriggerTransition(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TriggerTransitionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TriggerTransitionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TriggerTransitionDefaultTypeInternal() {}
  union {
    TriggerTransition _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TriggerTransitionDefaultTypeInternal _TriggerTransition_default_instance_;

inline constexpr String::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : sval_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR String::String(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct StringDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StringDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~StringDefaultTypeInternal() {}
  union {
    String _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StringDefaultTypeInternal _String_default_instance_;

inline constexpr SortGroupClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : tle_sort_group_ref_{0u},
        eqop_{0u},
        sortop_{0u},
        nulls_first_{false},
        hashable_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SortGroupClause::SortGroupClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SortGroupClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SortGroupClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SortGroupClauseDefaultTypeInternal() {}
  union {
    SortGroupClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SortGroupClauseDefaultTypeInternal _SortGroupClause_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR SinglePartitionSpec::SinglePartitionSpec(::_pbi::ConstantInitialized) {}
struct SinglePartitionSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SinglePartitionSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SinglePartitionSpecDefaultTypeInternal() {}
  union {
    SinglePartitionSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SinglePartitionSpecDefaultTypeInternal _SinglePartitionSpec_default_instance_;

inline constexpr ScanToken::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : start_{0},
        end_{0},
        token_{static_cast< ::pg_query::Token >(0)},
        keyword_kind_{static_cast< ::pg_query::KeywordKind >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ScanToken::ScanToken(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ScanTokenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScanTokenDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScanTokenDefaultTypeInternal() {}
  union {
    ScanToken _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScanTokenDefaultTypeInternal _ScanToken_default_instance_;

inline constexpr RowMarkClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : rti_{0u},
        strength_{static_cast< ::pg_query::LockClauseStrength >(0)},
        wait_policy_{static_cast< ::pg_query::LockWaitPolicy >(0)},
        pushed_down_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RowMarkClause::RowMarkClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RowMarkClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowMarkClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowMarkClauseDefaultTypeInternal() {}
  union {
    RowMarkClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowMarkClauseDefaultTypeInternal _RowMarkClause_default_instance_;

inline constexpr RoleSpec::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : rolename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        roletype_{static_cast< ::pg_query::RoleSpecType >(0)},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RoleSpec::RoleSpec(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RoleSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RoleSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RoleSpecDefaultTypeInternal() {}
  union {
    RoleSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RoleSpecDefaultTypeInternal _RoleSpec_default_instance_;

inline constexpr ReplicaIdentityStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : identity_type_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ReplicaIdentityStmt::ReplicaIdentityStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ReplicaIdentityStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReplicaIdentityStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReplicaIdentityStmtDefaultTypeInternal() {}
  union {
    ReplicaIdentityStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReplicaIdentityStmtDefaultTypeInternal _ReplicaIdentityStmt_default_instance_;

inline constexpr RangeTblRef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : rtindex_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTblRef::RangeTblRef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTblRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblRefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblRefDefaultTypeInternal() {}
  union {
    RangeTblRef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblRefDefaultTypeInternal _RangeTblRef_default_instance_;

inline constexpr RTEPermissionInfo::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : selected_cols_{},
        _selected_cols_cached_byte_size_{0},
        inserted_cols_{},
        _inserted_cols_cached_byte_size_{0},
        updated_cols_{},
        _updated_cols_cached_byte_size_{0},
        relid_{0u},
        inh_{false},
        required_perms_{::uint64_t{0u}},
        check_as_user_{0u},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RTEPermissionInfo::RTEPermissionInfo(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RTEPermissionInfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RTEPermissionInfoDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RTEPermissionInfoDefaultTypeInternal() {}
  union {
    RTEPermissionInfo _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RTEPermissionInfoDefaultTypeInternal _RTEPermissionInfo_default_instance_;

inline constexpr ParamRef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : number_{0},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ParamRef::ParamRef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ParamRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParamRefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParamRefDefaultTypeInternal() {}
  union {
    ParamRef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParamRefDefaultTypeInternal _ParamRef_default_instance_;

inline constexpr NotifyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : conditionname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        payload_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NotifyStmt::NotifyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NotifyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NotifyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NotifyStmtDefaultTypeInternal() {}
  union {
    NotifyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NotifyStmtDefaultTypeInternal _NotifyStmt_default_instance_;

inline constexpr LoadStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : filename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR LoadStmt::LoadStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct LoadStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LoadStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~LoadStmtDefaultTypeInternal() {}
  union {
    LoadStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LoadStmtDefaultTypeInternal _LoadStmt_default_instance_;

inline constexpr ListenStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : conditionname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ListenStmt::ListenStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ListenStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListenStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListenStmtDefaultTypeInternal() {}
  union {
    ListenStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListenStmtDefaultTypeInternal _ListenStmt_default_instance_;

inline constexpr JsonTablePath::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTablePath::JsonTablePath(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTablePathDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTablePathDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTablePathDefaultTypeInternal() {}
  union {
    JsonTablePath _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTablePathDefaultTypeInternal _JsonTablePath_default_instance_;

inline constexpr JsonFormat::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : format_type_{static_cast< ::pg_query::JsonFormatType >(0)},
        encoding_{static_cast< ::pg_query::JsonEncoding >(0)},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonFormat::JsonFormat(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonFormatDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonFormatDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonFormatDefaultTypeInternal() {}
  union {
    JsonFormat _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonFormatDefaultTypeInternal _JsonFormat_default_instance_;

inline constexpr Integer::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : ival_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Integer::Integer(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IntegerDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntegerDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntegerDefaultTypeInternal() {}
  union {
    Integer _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntegerDefaultTypeInternal _Integer_default_instance_;

inline constexpr InlineCodeBlock::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : source_text_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        lang_oid_{0u},
        lang_is_trusted_{false},
        atomic_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR InlineCodeBlock::InlineCodeBlock(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct InlineCodeBlockDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InlineCodeBlockDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~InlineCodeBlockDefaultTypeInternal() {}
  union {
    InlineCodeBlock _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InlineCodeBlockDefaultTypeInternal _InlineCodeBlock_default_instance_;

inline constexpr Float::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : fval_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Float::Float(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FloatDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FloatDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FloatDefaultTypeInternal() {}
  union {
    Float _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FloatDefaultTypeInternal _Float_default_instance_;

inline constexpr FetchStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : portalname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        how_many_{::int64_t{0}},
        direction_{static_cast< ::pg_query::FetchDirection >(0)},
        ismove_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR FetchStmt::FetchStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FetchStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FetchStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FetchStmtDefaultTypeInternal() {}
  union {
    FetchStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FetchStmtDefaultTypeInternal _FetchStmt_default_instance_;

inline constexpr DropTableSpaceStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        missing_ok_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropTableSpaceStmt::DropTableSpaceStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropTableSpaceStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropTableSpaceStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropTableSpaceStmtDefaultTypeInternal() {}
  union {
    DropTableSpaceStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropTableSpaceStmtDefaultTypeInternal _DropTableSpaceStmt_default_instance_;

inline constexpr DropSubscriptionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : subname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        missing_ok_{false},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropSubscriptionStmt::DropSubscriptionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropSubscriptionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropSubscriptionStmtDefaultTypeInternal() {}
  union {
    DropSubscriptionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropSubscriptionStmtDefaultTypeInternal _DropSubscriptionStmt_default_instance_;

inline constexpr DiscardStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : target_{static_cast< ::pg_query::DiscardMode >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DiscardStmt::DiscardStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DiscardStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DiscardStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DiscardStmtDefaultTypeInternal() {}
  union {
    DiscardStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DiscardStmtDefaultTypeInternal _DiscardStmt_default_instance_;

inline constexpr DeallocateStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        isall_{false},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DeallocateStmt::DeallocateStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DeallocateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeallocateStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeallocateStmtDefaultTypeInternal() {}
  union {
    DeallocateStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeallocateStmtDefaultTypeInternal _DeallocateStmt_default_instance_;

inline constexpr ClosePortalStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : portalname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ClosePortalStmt::ClosePortalStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ClosePortalStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ClosePortalStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ClosePortalStmtDefaultTypeInternal() {}
  union {
    ClosePortalStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClosePortalStmtDefaultTypeInternal _ClosePortalStmt_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR CheckPointStmt::CheckPointStmt(::_pbi::ConstantInitialized) {}
struct CheckPointStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CheckPointStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CheckPointStmtDefaultTypeInternal() {}
  union {
    CheckPointStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CheckPointStmtDefaultTypeInternal _CheckPointStmt_default_instance_;

inline constexpr CallContext::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : atomic_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CallContext::CallContext(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CallContextDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CallContextDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CallContextDefaultTypeInternal() {}
  union {
    CallContext _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CallContextDefaultTypeInternal _CallContext_default_instance_;

inline constexpr Boolean::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : boolval_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Boolean::Boolean(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BooleanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BooleanDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BooleanDefaultTypeInternal() {}
  union {
    Boolean _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanDefaultTypeInternal _Boolean_default_instance_;

inline constexpr BitString::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : bsval_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BitString::BitString(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BitStringDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BitStringDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BitStringDefaultTypeInternal() {}
  union {
    BitString _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BitStringDefaultTypeInternal _BitString_default_instance_;

inline constexpr AlterEventTrigStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : trigname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        tgenabled_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterEventTrigStmt::AlterEventTrigStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterEventTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterEventTrigStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterEventTrigStmtDefaultTypeInternal() {}
  union {
    AlterEventTrigStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterEventTrigStmtDefaultTypeInternal _AlterEventTrigStmt_default_instance_;

inline constexpr AlterDatabaseRefreshCollStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : dbname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterDatabaseRefreshCollStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseRefreshCollStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseRefreshCollStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseRefreshCollStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseRefreshCollStmtDefaultTypeInternal _AlterDatabaseRefreshCollStmt_default_instance_;
      template <typename>
PROTOBUF_CONSTEXPR A_Star::A_Star(::_pbi::ConstantInitialized) {}
struct A_StarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_StarDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_StarDefaultTypeInternal() {}
  union {
    A_Star _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_StarDefaultTypeInternal _A_Star_default_instance_;

inline constexpr ScanResult::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : tokens_{},
        version_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ScanResult::ScanResult(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ScanResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScanResultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScanResultDefaultTypeInternal() {}
  union {
    ScanResult _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScanResultDefaultTypeInternal _ScanResult_default_instance_;

inline constexpr JsonReturning::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        format_{nullptr},
        typid_{0u},
        typmod_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonReturning::JsonReturning(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonReturningDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonReturningDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonReturningDefaultTypeInternal() {}
  union {
    JsonReturning _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonReturningDefaultTypeInternal _JsonReturning_default_instance_;

inline constexpr DropUserMappingStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        user_{nullptr},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR DropUserMappingStmt::DropUserMappingStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropUserMappingStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropUserMappingStmtDefaultTypeInternal() {}
  union {
    DropUserMappingStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropUserMappingStmtDefaultTypeInternal _DropUserMappingStmt_default_instance_;

inline constexpr A_Const::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : isnull_{false},
        location_{0},
        val_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
PROTOBUF_CONSTEXPR A_Const::A_Const(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct A_ConstDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ConstDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ConstDefaultTypeInternal() {}
  union {
    A_Const _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ConstDefaultTypeInternal _A_Const_default_instance_;

inline constexpr A_ArrayExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : elements_{},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR A_ArrayExpr::A_ArrayExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct A_ArrayExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ArrayExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ArrayExprDefaultTypeInternal() {}
  union {
    A_ArrayExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ArrayExprDefaultTypeInternal _A_ArrayExpr_default_instance_;

inline constexpr A_Expr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_{},
        lexpr_{nullptr},
        rexpr_{nullptr},
        kind_{static_cast< ::pg_query::A_Expr_Kind >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR A_Expr::A_Expr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct A_ExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_ExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_ExprDefaultTypeInternal() {}
  union {
    A_Expr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_ExprDefaultTypeInternal _A_Expr_default_instance_;

inline constexpr A_Indices::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        lidx_{nullptr},
        uidx_{nullptr},
        is_slice_{false} {}

template <typename>
PROTOBUF_CONSTEXPR A_Indices::A_Indices(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct A_IndicesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_IndicesDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_IndicesDefaultTypeInternal() {}
  union {
    A_Indices _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_IndicesDefaultTypeInternal _A_Indices_default_instance_;

inline constexpr A_Indirection::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        indirection_{},
        arg_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR A_Indirection::A_Indirection(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct A_IndirectionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR A_IndirectionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~A_IndirectionDefaultTypeInternal() {}
  union {
    A_Indirection _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 A_IndirectionDefaultTypeInternal _A_Indirection_default_instance_;

inline constexpr AccessPriv::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : cols_{},
        priv_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AccessPriv::AccessPriv(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AccessPrivDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AccessPrivDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AccessPrivDefaultTypeInternal() {}
  union {
    AccessPriv _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AccessPrivDefaultTypeInternal _AccessPriv_default_instance_;

inline constexpr Aggref::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        aggargtypes_{},
        aggdirectargs_{},
        args_{},
        aggorder_{},
        aggdistinct_{},
        aggkind_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        aggfilter_{nullptr},
        aggfnoid_{0u},
        aggtype_{0u},
        aggcollid_{0u},
        inputcollid_{0u},
        aggstar_{false},
        aggvariadic_{false},
        agglevelsup_{0u},
        aggsplit_{static_cast< ::pg_query::AggSplit >(0)},
        aggno_{0},
        aggtransno_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Aggref::Aggref(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AggrefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AggrefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AggrefDefaultTypeInternal() {}
  union {
    Aggref _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AggrefDefaultTypeInternal _Aggref_default_instance_;

inline constexpr Alias::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : colnames_{},
        aliasname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Alias::Alias(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AliasDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AliasDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AliasDefaultTypeInternal() {}
  union {
    Alias _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AliasDefaultTypeInternal _Alias_default_instance_;

inline constexpr AlterCollationStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : collname_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterCollationStmt::AlterCollationStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterCollationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterCollationStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterCollationStmtDefaultTypeInternal() {}
  union {
    AlterCollationStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterCollationStmtDefaultTypeInternal _AlterCollationStmt_default_instance_;

inline constexpr AlterDatabaseSetStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        dbname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        setstmt_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterDatabaseSetStmt::AlterDatabaseSetStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterDatabaseSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseSetStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseSetStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseSetStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseSetStmtDefaultTypeInternal _AlterDatabaseSetStmt_default_instance_;

inline constexpr AlterDatabaseStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        dbname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterDatabaseStmt::AlterDatabaseStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterDatabaseStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDatabaseStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDatabaseStmtDefaultTypeInternal() {}
  union {
    AlterDatabaseStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDatabaseStmtDefaultTypeInternal _AlterDatabaseStmt_default_instance_;

inline constexpr AlterDefaultPrivilegesStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        action_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterDefaultPrivilegesStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDefaultPrivilegesStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDefaultPrivilegesStmtDefaultTypeInternal() {}
  union {
    AlterDefaultPrivilegesStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDefaultPrivilegesStmtDefaultTypeInternal _AlterDefaultPrivilegesStmt_default_instance_;

inline constexpr AlterDomainStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_name_{},
        subtype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        def_{nullptr},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterDomainStmt::AlterDomainStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterDomainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterDomainStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterDomainStmtDefaultTypeInternal() {}
  union {
    AlterDomainStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterDomainStmtDefaultTypeInternal _AlterDomainStmt_default_instance_;

inline constexpr AlterEnumStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : type_name_{},
        old_val_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        new_val_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        new_val_neighbor_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        new_val_is_after_{false},
        skip_if_new_val_exists_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterEnumStmt::AlterEnumStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterEnumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterEnumStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterEnumStmtDefaultTypeInternal() {}
  union {
    AlterEnumStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterEnumStmtDefaultTypeInternal _AlterEnumStmt_default_instance_;

inline constexpr AlterExtensionContentsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        extname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        object_{nullptr},
        action_{0},
        objtype_{static_cast< ::pg_query::ObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR AlterExtensionContentsStmt::AlterExtensionContentsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterExtensionContentsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterExtensionContentsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterExtensionContentsStmtDefaultTypeInternal() {}
  union {
    AlterExtensionContentsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterExtensionContentsStmtDefaultTypeInternal _AlterExtensionContentsStmt_default_instance_;

inline constexpr AlterExtensionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        extname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterExtensionStmt::AlterExtensionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterExtensionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterExtensionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterExtensionStmtDefaultTypeInternal() {}
  union {
    AlterExtensionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterExtensionStmtDefaultTypeInternal _AlterExtensionStmt_default_instance_;

inline constexpr AlterFdwStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : func_options_{},
        options_{},
        fdwname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterFdwStmt::AlterFdwStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterFdwStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterFdwStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterFdwStmtDefaultTypeInternal() {}
  union {
    AlterFdwStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterFdwStmtDefaultTypeInternal _AlterFdwStmt_default_instance_;

inline constexpr AlterForeignServerStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        has_version_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterForeignServerStmt::AlterForeignServerStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterForeignServerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterForeignServerStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterForeignServerStmtDefaultTypeInternal() {}
  union {
    AlterForeignServerStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterForeignServerStmtDefaultTypeInternal _AlterForeignServerStmt_default_instance_;

inline constexpr AlterFunctionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        actions_{},
        func_{nullptr},
        objtype_{static_cast< ::pg_query::ObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR AlterFunctionStmt::AlterFunctionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterFunctionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterFunctionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterFunctionStmtDefaultTypeInternal() {}
  union {
    AlterFunctionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterFunctionStmtDefaultTypeInternal _AlterFunctionStmt_default_instance_;

inline constexpr AlterObjectDependsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        relation_{nullptr},
        object_{nullptr},
        extname_{nullptr},
        object_type_{static_cast< ::pg_query::ObjectType >(0)},
        remove_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterObjectDependsStmt::AlterObjectDependsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterObjectDependsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterObjectDependsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterObjectDependsStmtDefaultTypeInternal() {}
  union {
    AlterObjectDependsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterObjectDependsStmtDefaultTypeInternal _AlterObjectDependsStmt_default_instance_;

inline constexpr AlterObjectSchemaStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        newschema_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        object_{nullptr},
        object_type_{static_cast< ::pg_query::ObjectType >(0)},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterObjectSchemaStmt::AlterObjectSchemaStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterObjectSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterObjectSchemaStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterObjectSchemaStmtDefaultTypeInternal() {}
  union {
    AlterObjectSchemaStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterObjectSchemaStmtDefaultTypeInternal _AlterObjectSchemaStmt_default_instance_;

inline constexpr AlterOpFamilyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : opfamilyname_{},
        items_{},
        amname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_drop_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterOpFamilyStmt::AlterOpFamilyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterOpFamilyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOpFamilyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOpFamilyStmtDefaultTypeInternal() {}
  union {
    AlterOpFamilyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOpFamilyStmtDefaultTypeInternal _AlterOpFamilyStmt_default_instance_;

inline constexpr AlterOperatorStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        opername_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterOperatorStmt::AlterOperatorStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterOperatorStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOperatorStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOperatorStmtDefaultTypeInternal() {}
  union {
    AlterOperatorStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOperatorStmtDefaultTypeInternal _AlterOperatorStmt_default_instance_;

inline constexpr AlterOwnerStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        relation_{nullptr},
        object_{nullptr},
        newowner_{nullptr},
        object_type_{static_cast< ::pg_query::ObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR AlterOwnerStmt::AlterOwnerStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterOwnerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterOwnerStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterOwnerStmtDefaultTypeInternal() {}
  union {
    AlterOwnerStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterOwnerStmtDefaultTypeInternal _AlterOwnerStmt_default_instance_;

inline constexpr AlterPolicyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        roles_{},
        policy_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        table_{nullptr},
        qual_{nullptr},
        with_check_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterPolicyStmt::AlterPolicyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterPolicyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterPolicyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterPolicyStmtDefaultTypeInternal() {}
  union {
    AlterPolicyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterPolicyStmtDefaultTypeInternal _AlterPolicyStmt_default_instance_;

inline constexpr AlterPublicationStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        pubobjects_{},
        pubname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        for_all_tables_{false},
        action_{static_cast< ::pg_query::AlterPublicationAction >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterPublicationStmt::AlterPublicationStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterPublicationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterPublicationStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterPublicationStmtDefaultTypeInternal() {}
  union {
    AlterPublicationStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterPublicationStmtDefaultTypeInternal _AlterPublicationStmt_default_instance_;

inline constexpr AlterRoleSetStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        database_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        role_{nullptr},
        setstmt_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterRoleSetStmt::AlterRoleSetStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterRoleSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterRoleSetStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterRoleSetStmtDefaultTypeInternal() {}
  union {
    AlterRoleSetStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterRoleSetStmtDefaultTypeInternal _AlterRoleSetStmt_default_instance_;

inline constexpr AlterRoleStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        role_{nullptr},
        action_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterRoleStmt::AlterRoleStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterRoleStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterRoleStmtDefaultTypeInternal() {}
  union {
    AlterRoleStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterRoleStmtDefaultTypeInternal _AlterRoleStmt_default_instance_;

inline constexpr AlterSeqStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        sequence_{nullptr},
        for_identity_{false},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterSeqStmt::AlterSeqStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterSeqStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSeqStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSeqStmtDefaultTypeInternal() {}
  union {
    AlterSeqStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSeqStmtDefaultTypeInternal _AlterSeqStmt_default_instance_;

inline constexpr AlterStatsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        defnames_{},
        stxstattarget_{nullptr},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterStatsStmt::AlterStatsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterStatsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterStatsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterStatsStmtDefaultTypeInternal() {}
  union {
    AlterStatsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterStatsStmtDefaultTypeInternal _AlterStatsStmt_default_instance_;

inline constexpr AlterSubscriptionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : publication_{},
        options_{},
        subname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        conninfo_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        kind_{static_cast< ::pg_query::AlterSubscriptionType >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterSubscriptionStmt::AlterSubscriptionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSubscriptionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSubscriptionStmtDefaultTypeInternal() {}
  union {
    AlterSubscriptionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSubscriptionStmtDefaultTypeInternal _AlterSubscriptionStmt_default_instance_;

inline constexpr AlterSystemStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        setstmt_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterSystemStmt::AlterSystemStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterSystemStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterSystemStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterSystemStmtDefaultTypeInternal() {}
  union {
    AlterSystemStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterSystemStmtDefaultTypeInternal _AlterSystemStmt_default_instance_;

inline constexpr AlterTSConfigurationStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : cfgname_{},
        tokentype_{},
        dicts_{},
        kind_{static_cast< ::pg_query::AlterTSConfigType >(0)},
        override_{false},
        replace_{false},
        missing_ok_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTSConfigurationStmt::AlterTSConfigurationStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTSConfigurationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTSConfigurationStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTSConfigurationStmtDefaultTypeInternal() {}
  union {
    AlterTSConfigurationStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTSConfigurationStmtDefaultTypeInternal _AlterTSConfigurationStmt_default_instance_;

inline constexpr AlterTSDictionaryStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : dictname_{},
        options_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTSDictionaryStmt::AlterTSDictionaryStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTSDictionaryStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTSDictionaryStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTSDictionaryStmtDefaultTypeInternal() {}
  union {
    AlterTSDictionaryStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTSDictionaryStmtDefaultTypeInternal _AlterTSDictionaryStmt_default_instance_;

inline constexpr AlterTableCmd::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        newowner_{nullptr},
        def_{nullptr},
        subtype_{static_cast< ::pg_query::AlterTableType >(0)},
        num_{0},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        missing_ok_{false},
        recurse_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTableCmd::AlterTableCmd(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTableCmdDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableCmdDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableCmdDefaultTypeInternal() {}
  union {
    AlterTableCmd _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableCmdDefaultTypeInternal _AlterTableCmd_default_instance_;

inline constexpr AlterTableMoveAllStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : roles_{},
        orig_tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        new_tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        objtype_{static_cast< ::pg_query::ObjectType >(0)},
        nowait_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTableMoveAllStmt::AlterTableMoveAllStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTableMoveAllStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableMoveAllStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableMoveAllStmtDefaultTypeInternal() {}
  union {
    AlterTableMoveAllStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableMoveAllStmtDefaultTypeInternal _AlterTableMoveAllStmt_default_instance_;

inline constexpr AlterTableSpaceOptionsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_reset_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTableSpaceOptionsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableSpaceOptionsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableSpaceOptionsStmtDefaultTypeInternal() {}
  union {
    AlterTableSpaceOptionsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableSpaceOptionsStmtDefaultTypeInternal _AlterTableSpaceOptionsStmt_default_instance_;

inline constexpr AlterTableStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cmds_{},
        relation_{nullptr},
        objtype_{static_cast< ::pg_query::ObjectType >(0)},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTableStmt::AlterTableStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTableStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTableStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTableStmtDefaultTypeInternal() {}
  union {
    AlterTableStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTableStmtDefaultTypeInternal _AlterTableStmt_default_instance_;

inline constexpr AlterTypeStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : type_name_{},
        options_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR AlterTypeStmt::AlterTypeStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterTypeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterTypeStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterTypeStmtDefaultTypeInternal() {}
  union {
    AlterTypeStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterTypeStmtDefaultTypeInternal _AlterTypeStmt_default_instance_;

inline constexpr AlterUserMappingStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        user_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlterUserMappingStmt::AlterUserMappingStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlterUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlterUserMappingStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlterUserMappingStmtDefaultTypeInternal() {}
  union {
    AlterUserMappingStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlterUserMappingStmtDefaultTypeInternal _AlterUserMappingStmt_default_instance_;

inline constexpr AlternativeSubPlan::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        subplans_{},
        xpr_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR AlternativeSubPlan::AlternativeSubPlan(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct AlternativeSubPlanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AlternativeSubPlanDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~AlternativeSubPlanDefaultTypeInternal() {}
  union {
    AlternativeSubPlan _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AlternativeSubPlanDefaultTypeInternal _AlternativeSubPlan_default_instance_;

inline constexpr ArrayCoerceExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        elemexpr_{nullptr},
        resulttype_{0u},
        resulttypmod_{0},
        resultcollid_{0u},
        coerceformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ArrayCoerceExpr::ArrayCoerceExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ArrayCoerceExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ArrayCoerceExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ArrayCoerceExprDefaultTypeInternal() {}
  union {
    ArrayCoerceExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayCoerceExprDefaultTypeInternal _ArrayCoerceExpr_default_instance_;

inline constexpr ArrayExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        elements_{},
        xpr_{nullptr},
        array_typeid_{0u},
        array_collid_{0u},
        element_typeid_{0u},
        multidims_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ArrayExpr::ArrayExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ArrayExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ArrayExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ArrayExprDefaultTypeInternal() {}
  union {
    ArrayExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ArrayExprDefaultTypeInternal _ArrayExpr_default_instance_;

inline constexpr BoolExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        boolop_{static_cast< ::pg_query::BoolExprType >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BoolExpr::BoolExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BoolExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BoolExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BoolExprDefaultTypeInternal() {}
  union {
    BoolExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BoolExprDefaultTypeInternal _BoolExpr_default_instance_;

inline constexpr BooleanTest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        booltesttype_{static_cast< ::pg_query::BoolTestType >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR BooleanTest::BooleanTest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct BooleanTestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR BooleanTestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~BooleanTestDefaultTypeInternal() {}
  union {
    BooleanTest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 BooleanTestDefaultTypeInternal _BooleanTest_default_instance_;

inline constexpr CTECycleClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cycle_col_list_{},
        cycle_mark_column_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cycle_path_column_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cycle_mark_value_{nullptr},
        cycle_mark_default_{nullptr},
        location_{0},
        cycle_mark_type_{0u},
        cycle_mark_typmod_{0},
        cycle_mark_collation_{0u},
        cycle_mark_neop_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR CTECycleClause::CTECycleClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CTECycleClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CTECycleClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CTECycleClauseDefaultTypeInternal() {}
  union {
    CTECycleClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CTECycleClauseDefaultTypeInternal _CTECycleClause_default_instance_;

inline constexpr CTESearchClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : search_col_list_{},
        search_seq_column_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        search_breadth_first_{false},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CTESearchClause::CTESearchClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CTESearchClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CTESearchClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CTESearchClauseDefaultTypeInternal() {}
  union {
    CTESearchClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CTESearchClauseDefaultTypeInternal _CTESearchClause_default_instance_;

inline constexpr CallStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        outargs_{},
        funccall_{nullptr},
        funcexpr_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR CallStmt::CallStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CallStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CallStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CallStmtDefaultTypeInternal() {}
  union {
    CallStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CallStmtDefaultTypeInternal _CallStmt_default_instance_;

inline constexpr CaseExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        arg_{nullptr},
        defresult_{nullptr},
        casetype_{0u},
        casecollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CaseExpr::CaseExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CaseExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseExprDefaultTypeInternal() {}
  union {
    CaseExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseExprDefaultTypeInternal _CaseExpr_default_instance_;

inline constexpr CaseTestExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        type_id_{0u},
        type_mod_{0},
        collation_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR CaseTestExpr::CaseTestExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CaseTestExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseTestExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseTestExprDefaultTypeInternal() {}
  union {
    CaseTestExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseTestExprDefaultTypeInternal _CaseTestExpr_default_instance_;

inline constexpr CaseWhen::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        expr_{nullptr},
        result_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CaseWhen::CaseWhen(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CaseWhenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CaseWhenDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CaseWhenDefaultTypeInternal() {}
  union {
    CaseWhen _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CaseWhenDefaultTypeInternal _CaseWhen_default_instance_;

inline constexpr ClusterStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        params_{},
        indexname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ClusterStmt::ClusterStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ClusterStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ClusterStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ClusterStmtDefaultTypeInternal() {}
  union {
    ClusterStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClusterStmtDefaultTypeInternal _ClusterStmt_default_instance_;

inline constexpr CoalesceExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        coalescetype_{0u},
        coalescecollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CoalesceExpr::CoalesceExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CoalesceExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoalesceExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoalesceExprDefaultTypeInternal() {}
  union {
    CoalesceExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoalesceExprDefaultTypeInternal _CoalesceExpr_default_instance_;

inline constexpr CoerceToDomain::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        resulttype_{0u},
        resulttypmod_{0},
        resultcollid_{0u},
        coercionformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CoerceToDomain::CoerceToDomain(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CoerceToDomainDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceToDomainDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceToDomainDefaultTypeInternal() {}
  union {
    CoerceToDomain _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceToDomainDefaultTypeInternal _CoerceToDomain_default_instance_;

inline constexpr CoerceToDomainValue::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        type_id_{0u},
        type_mod_{0},
        collation_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CoerceToDomainValue::CoerceToDomainValue(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CoerceToDomainValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceToDomainValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceToDomainValueDefaultTypeInternal() {}
  union {
    CoerceToDomainValue _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceToDomainValueDefaultTypeInternal _CoerceToDomainValue_default_instance_;

inline constexpr CoerceViaIO::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        resulttype_{0u},
        resultcollid_{0u},
        coerceformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CoerceViaIO::CoerceViaIO(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CoerceViaIODefaultTypeInternal {
  PROTOBUF_CONSTEXPR CoerceViaIODefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CoerceViaIODefaultTypeInternal() {}
  union {
    CoerceViaIO _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CoerceViaIODefaultTypeInternal _CoerceViaIO_default_instance_;

inline constexpr CollateClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        collname_{},
        arg_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CollateClause::CollateClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CollateClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CollateClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CollateClauseDefaultTypeInternal() {}
  union {
    CollateClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CollateClauseDefaultTypeInternal _CollateClause_default_instance_;

inline constexpr CollateExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        coll_oid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CollateExpr::CollateExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CollateExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CollateExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CollateExprDefaultTypeInternal() {}
  union {
    CollateExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CollateExprDefaultTypeInternal _CollateExpr_default_instance_;

inline constexpr ColumnDef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        constraints_{},
        fdwoptions_{},
        colname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        compression_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        storage_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        storage_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        identity_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        generated_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_{nullptr},
        raw_default_{nullptr},
        cooked_default_{nullptr},
        identity_sequence_{nullptr},
        coll_clause_{nullptr},
        inhcount_{0},
        is_local_{false},
        is_not_null_{false},
        is_from_type_{false},
        coll_oid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ColumnDef::ColumnDef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ColumnDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnDefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnDefDefaultTypeInternal() {}
  union {
    ColumnDef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnDefDefaultTypeInternal _ColumnDef_default_instance_;

inline constexpr ColumnRef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : fields_{},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ColumnRef::ColumnRef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ColumnRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ColumnRefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ColumnRefDefaultTypeInternal() {}
  union {
    ColumnRef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ColumnRefDefaultTypeInternal _ColumnRef_default_instance_;

inline constexpr CommentStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        comment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        object_{nullptr},
        objtype_{static_cast< ::pg_query::ObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR CommentStmt::CommentStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CommentStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CommentStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CommentStmtDefaultTypeInternal() {}
  union {
    CommentStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CommentStmtDefaultTypeInternal _CommentStmt_default_instance_;

inline constexpr CommonTableExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        aliascolnames_{},
        ctecolnames_{},
        ctecoltypes_{},
        ctecoltypmods_{},
        ctecolcollations_{},
        ctename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ctequery_{nullptr},
        search_clause_{nullptr},
        cycle_clause_{nullptr},
        ctematerialized_{static_cast< ::pg_query::CTEMaterialize >(0)},
        location_{0},
        cterecursive_{false},
        cterefcount_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CommonTableExpr::CommonTableExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CommonTableExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CommonTableExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CommonTableExprDefaultTypeInternal() {}
  union {
    CommonTableExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CommonTableExprDefaultTypeInternal _CommonTableExpr_default_instance_;

inline constexpr CompositeTypeStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        coldeflist_{},
        typevar_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR CompositeTypeStmt::CompositeTypeStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CompositeTypeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CompositeTypeStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CompositeTypeStmtDefaultTypeInternal() {}
  union {
    CompositeTypeStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CompositeTypeStmtDefaultTypeInternal _CompositeTypeStmt_default_instance_;

inline constexpr Constraint::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        keys_{},
        including_{},
        exclusions_{},
        options_{},
        fk_attrs_{},
        pk_attrs_{},
        fk_del_set_cols_{},
        old_conpfeqop_{},
        conname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cooked_expr_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        generated_when_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        indexname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        indexspace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        access_method_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        fk_matchtype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        fk_upd_action_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        fk_del_action_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        raw_expr_{nullptr},
        where_clause_{nullptr},
        pktable_{nullptr},
        contype_{static_cast< ::pg_query::ConstrType >(0)},
        deferrable_{false},
        initdeferred_{false},
        skip_validation_{false},
        initially_valid_{false},
        inhcount_{0},
        is_no_inherit_{false},
        nulls_not_distinct_{false},
        reset_default_tblspc_{false},
        old_pktable_oid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Constraint::Constraint(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ConstraintDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConstraintDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConstraintDefaultTypeInternal() {}
  union {
    Constraint _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintDefaultTypeInternal _Constraint_default_instance_;

inline constexpr ConstraintsSetStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : constraints_{},
        deferred_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ConstraintsSetStmt::ConstraintsSetStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ConstraintsSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConstraintsSetStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConstraintsSetStmtDefaultTypeInternal() {}
  union {
    ConstraintsSetStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConstraintsSetStmtDefaultTypeInternal _ConstraintsSetStmt_default_instance_;

inline constexpr ConvertRowtypeExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        resulttype_{0u},
        convertformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ConvertRowtypeExpr::ConvertRowtypeExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ConvertRowtypeExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ConvertRowtypeExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ConvertRowtypeExprDefaultTypeInternal() {}
  union {
    ConvertRowtypeExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ConvertRowtypeExprDefaultTypeInternal _ConvertRowtypeExpr_default_instance_;

inline constexpr CopyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        attlist_{},
        options_{},
        filename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        query_{nullptr},
        where_clause_{nullptr},
        is_from_{false},
        is_program_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CopyStmt::CopyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CopyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CopyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CopyStmtDefaultTypeInternal() {}
  union {
    CopyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CopyStmtDefaultTypeInternal _CopyStmt_default_instance_;

inline constexpr CreateAmStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : handler_name_{},
        amname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        amtype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateAmStmt::CreateAmStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateAmStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateAmStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateAmStmtDefaultTypeInternal() {}
  union {
    CreateAmStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateAmStmtDefaultTypeInternal _CreateAmStmt_default_instance_;

inline constexpr CreateCastStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        sourcetype_{nullptr},
        targettype_{nullptr},
        func_{nullptr},
        context_{static_cast< ::pg_query::CoercionContext >(0)},
        inout_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateCastStmt::CreateCastStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateCastStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateCastStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateCastStmtDefaultTypeInternal() {}
  union {
    CreateCastStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateCastStmtDefaultTypeInternal _CreateCastStmt_default_instance_;

inline constexpr CreateConversionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : conversion_name_{},
        func_name_{},
        for_encoding_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        to_encoding_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        def_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateConversionStmt::CreateConversionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateConversionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateConversionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateConversionStmtDefaultTypeInternal() {}
  union {
    CreateConversionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateConversionStmtDefaultTypeInternal _CreateConversionStmt_default_instance_;

inline constexpr CreateDomainStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        domainname_{},
        constraints_{},
        type_name_{nullptr},
        coll_clause_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR CreateDomainStmt::CreateDomainStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateDomainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateDomainStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateDomainStmtDefaultTypeInternal() {}
  union {
    CreateDomainStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateDomainStmtDefaultTypeInternal _CreateDomainStmt_default_instance_;

inline constexpr CreateEnumStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : type_name_{},
        vals_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateEnumStmt::CreateEnumStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateEnumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateEnumStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateEnumStmtDefaultTypeInternal() {}
  union {
    CreateEnumStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateEnumStmtDefaultTypeInternal _CreateEnumStmt_default_instance_;

inline constexpr CreateEventTrigStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : whenclause_{},
        funcname_{},
        trigname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        eventname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateEventTrigStmt::CreateEventTrigStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateEventTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateEventTrigStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateEventTrigStmtDefaultTypeInternal() {}
  union {
    CreateEventTrigStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateEventTrigStmtDefaultTypeInternal _CreateEventTrigStmt_default_instance_;

inline constexpr CreateExtensionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        extname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        if_not_exists_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateExtensionStmt::CreateExtensionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateExtensionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateExtensionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateExtensionStmtDefaultTypeInternal() {}
  union {
    CreateExtensionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateExtensionStmtDefaultTypeInternal _CreateExtensionStmt_default_instance_;

inline constexpr CreateFdwStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : func_options_{},
        options_{},
        fdwname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateFdwStmt::CreateFdwStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateFdwStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFdwStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFdwStmtDefaultTypeInternal() {}
  union {
    CreateFdwStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFdwStmtDefaultTypeInternal _CreateFdwStmt_default_instance_;

inline constexpr CreateForeignServerStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        servertype_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        version_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        fdwname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        if_not_exists_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateForeignServerStmt::CreateForeignServerStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateForeignServerStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateForeignServerStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateForeignServerStmtDefaultTypeInternal() {}
  union {
    CreateForeignServerStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateForeignServerStmtDefaultTypeInternal _CreateForeignServerStmt_default_instance_;

inline constexpr CreateForeignTableStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        base_stmt_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR CreateForeignTableStmt::CreateForeignTableStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateForeignTableStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateForeignTableStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateForeignTableStmtDefaultTypeInternal() {}
  union {
    CreateForeignTableStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateForeignTableStmtDefaultTypeInternal _CreateForeignTableStmt_default_instance_;

inline constexpr CreateFunctionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        funcname_{},
        parameters_{},
        options_{},
        return_type_{nullptr},
        sql_body_{nullptr},
        is_procedure_{false},
        replace_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateFunctionStmt::CreateFunctionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateFunctionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateFunctionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateFunctionStmtDefaultTypeInternal() {}
  union {
    CreateFunctionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateFunctionStmtDefaultTypeInternal _CreateFunctionStmt_default_instance_;

inline constexpr CreateOpClassItem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        order_family_{},
        class_args_{},
        name_{nullptr},
        storedtype_{nullptr},
        itemtype_{0},
        number_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateOpClassItem::CreateOpClassItem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateOpClassItemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpClassItemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpClassItemDefaultTypeInternal() {}
  union {
    CreateOpClassItem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpClassItemDefaultTypeInternal _CreateOpClassItem_default_instance_;

inline constexpr CreateOpClassStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        opclassname_{},
        opfamilyname_{},
        items_{},
        amname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        datatype_{nullptr},
        is_default_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateOpClassStmt::CreateOpClassStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateOpClassStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpClassStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpClassStmtDefaultTypeInternal() {}
  union {
    CreateOpClassStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpClassStmtDefaultTypeInternal _CreateOpClassStmt_default_instance_;

inline constexpr CreateOpFamilyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : opfamilyname_{},
        amname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateOpFamilyStmt::CreateOpFamilyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateOpFamilyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateOpFamilyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateOpFamilyStmtDefaultTypeInternal() {}
  union {
    CreateOpFamilyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateOpFamilyStmtDefaultTypeInternal _CreateOpFamilyStmt_default_instance_;

inline constexpr CreatePLangStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : plhandler_{},
        plinline_{},
        plvalidator_{},
        plname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        replace_{false},
        pltrusted_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreatePLangStmt::CreatePLangStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreatePLangStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePLangStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePLangStmtDefaultTypeInternal() {}
  union {
    CreatePLangStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePLangStmtDefaultTypeInternal _CreatePLangStmt_default_instance_;

inline constexpr CreatePolicyStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        roles_{},
        policy_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        cmd_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        table_{nullptr},
        qual_{nullptr},
        with_check_{nullptr},
        permissive_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreatePolicyStmt::CreatePolicyStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreatePolicyStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePolicyStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePolicyStmtDefaultTypeInternal() {}
  union {
    CreatePolicyStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePolicyStmtDefaultTypeInternal _CreatePolicyStmt_default_instance_;

inline constexpr CreatePublicationStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        pubobjects_{},
        pubname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        for_all_tables_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreatePublicationStmt::CreatePublicationStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreatePublicationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatePublicationStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatePublicationStmtDefaultTypeInternal() {}
  union {
    CreatePublicationStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatePublicationStmtDefaultTypeInternal _CreatePublicationStmt_default_instance_;

inline constexpr CreateRangeStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : type_name_{},
        params_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateRangeStmt::CreateRangeStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateRangeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateRangeStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateRangeStmtDefaultTypeInternal() {}
  union {
    CreateRangeStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateRangeStmtDefaultTypeInternal _CreateRangeStmt_default_instance_;

inline constexpr CreateRoleStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        role_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        stmt_type_{static_cast< ::pg_query::RoleStmtType >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateRoleStmt::CreateRoleStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateRoleStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateRoleStmtDefaultTypeInternal() {}
  union {
    CreateRoleStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateRoleStmtDefaultTypeInternal _CreateRoleStmt_default_instance_;

inline constexpr CreateSchemaStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        schema_elts_{},
        schemaname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        authrole_{nullptr},
        if_not_exists_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateSchemaStmt::CreateSchemaStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSchemaStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSchemaStmtDefaultTypeInternal() {}
  union {
    CreateSchemaStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSchemaStmtDefaultTypeInternal _CreateSchemaStmt_default_instance_;

inline constexpr CreateSeqStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        sequence_{nullptr},
        owner_id_{0u},
        for_identity_{false},
        if_not_exists_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateSeqStmt::CreateSeqStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateSeqStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSeqStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSeqStmtDefaultTypeInternal() {}
  union {
    CreateSeqStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSeqStmtDefaultTypeInternal _CreateSeqStmt_default_instance_;

inline constexpr CreateStatsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : defnames_{},
        stat_types_{},
        exprs_{},
        relations_{},
        stxcomment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        transformed_{false},
        if_not_exists_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateStatsStmt::CreateStatsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateStatsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateStatsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateStatsStmtDefaultTypeInternal() {}
  union {
    CreateStatsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateStatsStmtDefaultTypeInternal _CreateStatsStmt_default_instance_;

inline constexpr CreateStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        table_elts_{},
        inh_relations_{},
        constraints_{},
        options_{},
        tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        access_method_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        partbound_{nullptr},
        partspec_{nullptr},
        of_typename_{nullptr},
        oncommit_{static_cast< ::pg_query::OnCommitAction >(0)},
        if_not_exists_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateStmt::CreateStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateStmtDefaultTypeInternal() {}
  union {
    CreateStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateStmtDefaultTypeInternal _CreateStmt_default_instance_;

inline constexpr CreateSubscriptionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : publication_{},
        options_{},
        subname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        conninfo_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreateSubscriptionStmt::CreateSubscriptionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateSubscriptionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateSubscriptionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateSubscriptionStmtDefaultTypeInternal() {}
  union {
    CreateSubscriptionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateSubscriptionStmtDefaultTypeInternal _CreateSubscriptionStmt_default_instance_;

inline constexpr CreateTableAsStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        query_{nullptr},
        into_{nullptr},
        objtype_{static_cast< ::pg_query::ObjectType >(0)},
        is_select_into_{false},
        if_not_exists_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateTableAsStmt::CreateTableAsStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateTableAsStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableAsStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableAsStmtDefaultTypeInternal() {}
  union {
    CreateTableAsStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableAsStmtDefaultTypeInternal _CreateTableAsStmt_default_instance_;

inline constexpr CreateTableSpaceStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        tablespacename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        location_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        owner_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR CreateTableSpaceStmt::CreateTableSpaceStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateTableSpaceStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTableSpaceStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTableSpaceStmtDefaultTypeInternal() {}
  union {
    CreateTableSpaceStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTableSpaceStmtDefaultTypeInternal _CreateTableSpaceStmt_default_instance_;

inline constexpr CreateTransformStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        lang_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_{nullptr},
        fromsql_{nullptr},
        tosql_{nullptr},
        replace_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateTransformStmt::CreateTransformStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateTransformStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTransformStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTransformStmtDefaultTypeInternal() {}
  union {
    CreateTransformStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTransformStmtDefaultTypeInternal _CreateTransformStmt_default_instance_;

inline constexpr CreateTrigStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        funcname_{},
        args_{},
        columns_{},
        transition_rels_{},
        trigname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        when_clause_{nullptr},
        constrrel_{nullptr},
        replace_{false},
        isconstraint_{false},
        row_{false},
        deferrable_{false},
        timing_{0},
        events_{0},
        initdeferred_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateTrigStmt::CreateTrigStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateTrigStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateTrigStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateTrigStmtDefaultTypeInternal() {}
  union {
    CreateTrigStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateTrigStmtDefaultTypeInternal _CreateTrigStmt_default_instance_;

inline constexpr CreateUserMappingStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        servername_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        user_{nullptr},
        if_not_exists_{false} {}

template <typename>
PROTOBUF_CONSTEXPR CreateUserMappingStmt::CreateUserMappingStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreateUserMappingStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreateUserMappingStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreateUserMappingStmtDefaultTypeInternal() {}
  union {
    CreateUserMappingStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreateUserMappingStmtDefaultTypeInternal _CreateUserMappingStmt_default_instance_;

inline constexpr CreatedbStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        dbname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CreatedbStmt::CreatedbStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CreatedbStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CreatedbStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CreatedbStmtDefaultTypeInternal() {}
  union {
    CreatedbStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CreatedbStmtDefaultTypeInternal _CreatedbStmt_default_instance_;

inline constexpr CurrentOfExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cursor_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        cvarno_{0u},
        cursor_param_{0} {}

template <typename>
PROTOBUF_CONSTEXPR CurrentOfExpr::CurrentOfExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct CurrentOfExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR CurrentOfExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~CurrentOfExprDefaultTypeInternal() {}
  union {
    CurrentOfExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 CurrentOfExprDefaultTypeInternal _CurrentOfExpr_default_instance_;

inline constexpr DeclareCursorStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        portalname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        query_{nullptr},
        options_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DeclareCursorStmt::DeclareCursorStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DeclareCursorStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeclareCursorStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeclareCursorStmtDefaultTypeInternal() {}
  union {
    DeclareCursorStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeclareCursorStmtDefaultTypeInternal _DeclareCursorStmt_default_instance_;

inline constexpr DefElem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        defnamespace_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        defname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        arg_{nullptr},
        defaction_{static_cast< ::pg_query::DefElemAction >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DefElem::DefElem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DefElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DefElemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DefElemDefaultTypeInternal() {}
  union {
    DefElem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DefElemDefaultTypeInternal _DefElem_default_instance_;

inline constexpr DefineStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : defnames_{},
        args_{},
        definition_{},
        kind_{static_cast< ::pg_query::ObjectType >(0)},
        oldstyle_{false},
        if_not_exists_{false},
        replace_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DefineStmt::DefineStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DefineStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DefineStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DefineStmtDefaultTypeInternal() {}
  union {
    DefineStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DefineStmtDefaultTypeInternal _DefineStmt_default_instance_;

inline constexpr DeleteStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        using_clause_{},
        returning_list_{},
        relation_{nullptr},
        where_clause_{nullptr},
        with_clause_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR DeleteStmt::DeleteStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DeleteStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DeleteStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DeleteStmtDefaultTypeInternal() {}
  union {
    DeleteStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DeleteStmtDefaultTypeInternal _DeleteStmt_default_instance_;

inline constexpr DistinctExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        opno_{0u},
        opresulttype_{0u},
        opretset_{false},
        opcollid_{0u},
        inputcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DistinctExpr::DistinctExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DistinctExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DistinctExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DistinctExprDefaultTypeInternal() {}
  union {
    DistinctExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DistinctExprDefaultTypeInternal _DistinctExpr_default_instance_;

inline constexpr DoStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : args_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DoStmt::DoStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DoStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DoStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DoStmtDefaultTypeInternal() {}
  union {
    DoStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DoStmtDefaultTypeInternal _DoStmt_default_instance_;

inline constexpr DropOwnedStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : roles_{},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropOwnedStmt::DropOwnedStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropOwnedStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropOwnedStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropOwnedStmtDefaultTypeInternal() {}
  union {
    DropOwnedStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropOwnedStmtDefaultTypeInternal _DropOwnedStmt_default_instance_;

inline constexpr DropRoleStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : roles_{},
        missing_ok_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropRoleStmt::DropRoleStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropRoleStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropRoleStmtDefaultTypeInternal() {}
  union {
    DropRoleStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropRoleStmtDefaultTypeInternal _DropRoleStmt_default_instance_;

inline constexpr DropStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : objects_{},
        remove_type_{static_cast< ::pg_query::ObjectType >(0)},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        missing_ok_{false},
        concurrent_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropStmt::DropStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropStmtDefaultTypeInternal() {}
  union {
    DropStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropStmtDefaultTypeInternal _DropStmt_default_instance_;

inline constexpr DropdbStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        dbname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        missing_ok_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR DropdbStmt::DropdbStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct DropdbStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DropdbStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~DropdbStmtDefaultTypeInternal() {}
  union {
    DropdbStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DropdbStmtDefaultTypeInternal _DropdbStmt_default_instance_;

inline constexpr ExecuteStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : params_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ExecuteStmt::ExecuteStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ExecuteStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ExecuteStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ExecuteStmtDefaultTypeInternal() {}
  union {
    ExecuteStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExecuteStmtDefaultTypeInternal _ExecuteStmt_default_instance_;

inline constexpr ExplainStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        options_{},
        query_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ExplainStmt::ExplainStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ExplainStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ExplainStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ExplainStmtDefaultTypeInternal() {}
  union {
    ExplainStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ExplainStmtDefaultTypeInternal _ExplainStmt_default_instance_;

inline constexpr FieldSelect::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        fieldnum_{0},
        resulttype_{0u},
        resulttypmod_{0},
        resultcollid_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR FieldSelect::FieldSelect(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FieldSelectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FieldSelectDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FieldSelectDefaultTypeInternal() {}
  union {
    FieldSelect _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldSelectDefaultTypeInternal _FieldSelect_default_instance_;

inline constexpr FieldStore::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        newvals_{},
        fieldnums_{},
        xpr_{nullptr},
        arg_{nullptr},
        resulttype_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR FieldStore::FieldStore(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FieldStoreDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FieldStoreDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FieldStoreDefaultTypeInternal() {}
  union {
    FieldStore _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FieldStoreDefaultTypeInternal _FieldStore_default_instance_;

inline constexpr FromExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        fromlist_{},
        quals_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR FromExpr::FromExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FromExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FromExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FromExprDefaultTypeInternal() {}
  union {
    FromExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FromExprDefaultTypeInternal _FromExpr_default_instance_;

inline constexpr FuncCall::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        funcname_{},
        args_{},
        agg_order_{},
        agg_filter_{nullptr},
        over_{nullptr},
        agg_within_group_{false},
        agg_star_{false},
        agg_distinct_{false},
        func_variadic_{false},
        funcformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR FuncCall::FuncCall(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FuncCallDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FuncCallDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FuncCallDefaultTypeInternal() {}
  union {
    FuncCall _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FuncCallDefaultTypeInternal _FuncCall_default_instance_;

inline constexpr FuncExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        funcid_{0u},
        funcresulttype_{0u},
        funcretset_{false},
        funcvariadic_{false},
        funcformat_{static_cast< ::pg_query::CoercionForm >(0)},
        funccollid_{0u},
        inputcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR FuncExpr::FuncExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FuncExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FuncExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FuncExprDefaultTypeInternal() {}
  union {
    FuncExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FuncExprDefaultTypeInternal _FuncExpr_default_instance_;

inline constexpr FunctionParameter::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        arg_type_{nullptr},
        defexpr_{nullptr},
        mode_{static_cast< ::pg_query::FunctionParameterMode >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR FunctionParameter::FunctionParameter(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct FunctionParameterDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FunctionParameterDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~FunctionParameterDefaultTypeInternal() {}
  union {
    FunctionParameter _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FunctionParameterDefaultTypeInternal _FunctionParameter_default_instance_;

inline constexpr GrantRoleStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        granted_roles_{},
        grantee_roles_{},
        opt_{},
        grantor_{nullptr},
        is_grant_{false},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR GrantRoleStmt::GrantRoleStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GrantRoleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GrantRoleStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GrantRoleStmtDefaultTypeInternal() {}
  union {
    GrantRoleStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GrantRoleStmtDefaultTypeInternal _GrantRoleStmt_default_instance_;

inline constexpr GrantStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        objects_{},
        privileges_{},
        grantees_{},
        grantor_{nullptr},
        targtype_{static_cast< ::pg_query::GrantTargetType >(0)},
        objtype_{static_cast< ::pg_query::ObjectType >(0)},
        is_grant_{false},
        grant_option_{false},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR GrantStmt::GrantStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GrantStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GrantStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GrantStmtDefaultTypeInternal() {}
  union {
    GrantStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GrantStmtDefaultTypeInternal _GrantStmt_default_instance_;

inline constexpr GroupingFunc::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        refs_{},
        xpr_{nullptr},
        agglevelsup_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GroupingFunc::GroupingFunc(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GroupingFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GroupingFuncDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GroupingFuncDefaultTypeInternal() {}
  union {
    GroupingFunc _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GroupingFuncDefaultTypeInternal _GroupingFunc_default_instance_;

inline constexpr GroupingSet::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : content_{},
        kind_{static_cast< ::pg_query::GroupingSetKind >(0)},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR GroupingSet::GroupingSet(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct GroupingSetDefaultTypeInternal {
  PROTOBUF_CONSTEXPR GroupingSetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~GroupingSetDefaultTypeInternal() {}
  union {
    GroupingSet _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GroupingSetDefaultTypeInternal _GroupingSet_default_instance_;

inline constexpr ImportForeignSchemaStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : table_list_{},
        options_{},
        server_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        remote_schema_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        local_schema_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        list_type_{static_cast< ::pg_query::ImportForeignSchemaType >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ImportForeignSchemaStmt::ImportForeignSchemaStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ImportForeignSchemaStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ImportForeignSchemaStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ImportForeignSchemaStmtDefaultTypeInternal() {}
  union {
    ImportForeignSchemaStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ImportForeignSchemaStmtDefaultTypeInternal _ImportForeignSchemaStmt_default_instance_;

inline constexpr IndexElem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        collation_{},
        opclass_{},
        opclassopts_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        indexcolname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        expr_{nullptr},
        ordering_{static_cast< ::pg_query::SortByDir >(0)},
        nulls_ordering_{static_cast< ::pg_query::SortByNulls >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR IndexElem::IndexElem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IndexElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IndexElemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IndexElemDefaultTypeInternal() {}
  union {
    IndexElem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IndexElemDefaultTypeInternal _IndexElem_default_instance_;

inline constexpr IndexStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        index_params_{},
        index_including_params_{},
        options_{},
        exclude_op_names_{},
        idxname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        access_method_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        table_space_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        idxcomment_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        where_clause_{nullptr},
        index_oid_{0u},
        old_number_{0u},
        old_create_subid_{0u},
        old_first_relfilelocator_subid_{0u},
        unique_{false},
        nulls_not_distinct_{false},
        primary_{false},
        isconstraint_{false},
        deferrable_{false},
        initdeferred_{false},
        transformed_{false},
        concurrent_{false},
        if_not_exists_{false},
        reset_default_tblspc_{false} {}

template <typename>
PROTOBUF_CONSTEXPR IndexStmt::IndexStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IndexStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IndexStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IndexStmtDefaultTypeInternal() {}
  union {
    IndexStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IndexStmtDefaultTypeInternal _IndexStmt_default_instance_;

inline constexpr InferClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        index_elems_{},
        conname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        where_clause_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR InferClause::InferClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct InferClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InferClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~InferClauseDefaultTypeInternal() {}
  union {
    InferClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InferClauseDefaultTypeInternal _InferClause_default_instance_;

inline constexpr InferenceElem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        expr_{nullptr},
        infercollid_{0u},
        inferopclass_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR InferenceElem::InferenceElem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct InferenceElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InferenceElemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~InferenceElemDefaultTypeInternal() {}
  union {
    InferenceElem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InferenceElemDefaultTypeInternal _InferenceElem_default_instance_;

inline constexpr InsertStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cols_{},
        returning_list_{},
        relation_{nullptr},
        select_stmt_{nullptr},
        on_conflict_clause_{nullptr},
        with_clause_{nullptr},
        override_{static_cast< ::pg_query::OverridingKind >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR InsertStmt::InsertStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct InsertStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InsertStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~InsertStmtDefaultTypeInternal() {}
  union {
    InsertStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InsertStmtDefaultTypeInternal _InsertStmt_default_instance_;

inline constexpr IntList::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : items_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR IntList::IntList(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IntListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntListDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntListDefaultTypeInternal() {}
  union {
    IntList _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntListDefaultTypeInternal _IntList_default_instance_;

inline constexpr IntoClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        col_names_{},
        options_{},
        access_method_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        table_space_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        rel_{nullptr},
        view_query_{nullptr},
        on_commit_{static_cast< ::pg_query::OnCommitAction >(0)},
        skip_data_{false} {}

template <typename>
PROTOBUF_CONSTEXPR IntoClause::IntoClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct IntoClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IntoClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~IntoClauseDefaultTypeInternal() {}
  union {
    IntoClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IntoClauseDefaultTypeInternal _IntoClause_default_instance_;

inline constexpr JoinExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        using_clause_{},
        larg_{nullptr},
        rarg_{nullptr},
        join_using_alias_{nullptr},
        quals_{nullptr},
        alias_{nullptr},
        jointype_{static_cast< ::pg_query::JoinType >(0)},
        is_natural_{false},
        rtindex_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JoinExpr::JoinExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JoinExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JoinExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JoinExprDefaultTypeInternal() {}
  union {
    JoinExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JoinExprDefaultTypeInternal _JoinExpr_default_instance_;

inline constexpr JsonAggConstructor::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        agg_order_{},
        output_{nullptr},
        agg_filter_{nullptr},
        over_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonAggConstructor::JsonAggConstructor(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonAggConstructorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonAggConstructorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonAggConstructorDefaultTypeInternal() {}
  union {
    JsonAggConstructor _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonAggConstructorDefaultTypeInternal _JsonAggConstructor_default_instance_;

inline constexpr JsonArgument::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        val_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR JsonArgument::JsonArgument(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonArgumentDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonArgumentDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonArgumentDefaultTypeInternal() {}
  union {
    JsonArgument _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonArgumentDefaultTypeInternal _JsonArgument_default_instance_;

inline constexpr JsonArrayAgg::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        constructor_{nullptr},
        arg_{nullptr},
        absent_on_null_{false} {}

template <typename>
PROTOBUF_CONSTEXPR JsonArrayAgg::JsonArrayAgg(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonArrayAggDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonArrayAggDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonArrayAggDefaultTypeInternal() {}
  union {
    JsonArrayAgg _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonArrayAggDefaultTypeInternal _JsonArrayAgg_default_instance_;

inline constexpr JsonArrayConstructor::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        exprs_{},
        output_{nullptr},
        absent_on_null_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonArrayConstructor::JsonArrayConstructor(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonArrayConstructorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonArrayConstructorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonArrayConstructorDefaultTypeInternal() {}
  union {
    JsonArrayConstructor _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonArrayConstructorDefaultTypeInternal _JsonArrayConstructor_default_instance_;

inline constexpr JsonArrayQueryConstructor::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        query_{nullptr},
        output_{nullptr},
        format_{nullptr},
        absent_on_null_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonArrayQueryConstructor::JsonArrayQueryConstructor(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonArrayQueryConstructorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonArrayQueryConstructorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonArrayQueryConstructorDefaultTypeInternal() {}
  union {
    JsonArrayQueryConstructor _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonArrayQueryConstructorDefaultTypeInternal _JsonArrayQueryConstructor_default_instance_;

inline constexpr JsonBehavior::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        btype_{static_cast< ::pg_query::JsonBehaviorType >(0)},
        coerce_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonBehavior::JsonBehavior(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonBehaviorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonBehaviorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonBehaviorDefaultTypeInternal() {}
  union {
    JsonBehavior _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonBehaviorDefaultTypeInternal _JsonBehavior_default_instance_;

inline constexpr JsonConstructorExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        func_{nullptr},
        coercion_{nullptr},
        returning_{nullptr},
        type_{static_cast< ::pg_query::JsonConstructorType >(0)},
        absent_on_null_{false},
        unique_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonConstructorExpr::JsonConstructorExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonConstructorExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonConstructorExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonConstructorExprDefaultTypeInternal() {}
  union {
    JsonConstructorExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonConstructorExprDefaultTypeInternal _JsonConstructorExpr_default_instance_;

inline constexpr JsonExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        passing_names_{},
        passing_values_{},
        column_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        formatted_expr_{nullptr},
        format_{nullptr},
        path_spec_{nullptr},
        returning_{nullptr},
        on_empty_{nullptr},
        on_error_{nullptr},
        op_{static_cast< ::pg_query::JsonExprOp >(0)},
        use_io_coercion_{false},
        use_json_coercion_{false},
        omit_quotes_{false},
        wrapper_{static_cast< ::pg_query::JsonWrapper >(0)},
        collation_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonExpr::JsonExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonExprDefaultTypeInternal() {}
  union {
    JsonExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonExprDefaultTypeInternal _JsonExpr_default_instance_;

inline constexpr JsonFuncExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        passing_{},
        column_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        context_item_{nullptr},
        pathspec_{nullptr},
        output_{nullptr},
        on_empty_{nullptr},
        on_error_{nullptr},
        op_{static_cast< ::pg_query::JsonExprOp >(0)},
        wrapper_{static_cast< ::pg_query::JsonWrapper >(0)},
        quotes_{static_cast< ::pg_query::JsonQuotes >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonFuncExpr::JsonFuncExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonFuncExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonFuncExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonFuncExprDefaultTypeInternal() {}
  union {
    JsonFuncExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonFuncExprDefaultTypeInternal _JsonFuncExpr_default_instance_;

inline constexpr JsonIsPredicate::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        format_{nullptr},
        item_type_{static_cast< ::pg_query::JsonValueType >(0)},
        unique_keys_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonIsPredicate::JsonIsPredicate(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonIsPredicateDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonIsPredicateDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonIsPredicateDefaultTypeInternal() {}
  union {
    JsonIsPredicate _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonIsPredicateDefaultTypeInternal _JsonIsPredicate_default_instance_;

inline constexpr JsonKeyValue::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        key_{nullptr},
        value_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR JsonKeyValue::JsonKeyValue(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonKeyValueDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonKeyValueDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonKeyValueDefaultTypeInternal() {}
  union {
    JsonKeyValue _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonKeyValueDefaultTypeInternal _JsonKeyValue_default_instance_;

inline constexpr JsonObjectAgg::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        constructor_{nullptr},
        arg_{nullptr},
        absent_on_null_{false},
        unique_{false} {}

template <typename>
PROTOBUF_CONSTEXPR JsonObjectAgg::JsonObjectAgg(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonObjectAggDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonObjectAggDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonObjectAggDefaultTypeInternal() {}
  union {
    JsonObjectAgg _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonObjectAggDefaultTypeInternal _JsonObjectAgg_default_instance_;

inline constexpr JsonObjectConstructor::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        exprs_{},
        output_{nullptr},
        absent_on_null_{false},
        unique_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonObjectConstructor::JsonObjectConstructor(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonObjectConstructorDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonObjectConstructorDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonObjectConstructorDefaultTypeInternal() {}
  union {
    JsonObjectConstructor _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonObjectConstructorDefaultTypeInternal _JsonObjectConstructor_default_instance_;

inline constexpr JsonOutput::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        type_name_{nullptr},
        returning_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR JsonOutput::JsonOutput(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonOutputDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonOutputDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonOutputDefaultTypeInternal() {}
  union {
    JsonOutput _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonOutputDefaultTypeInternal _JsonOutput_default_instance_;

inline constexpr JsonParseExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        output_{nullptr},
        unique_keys_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonParseExpr::JsonParseExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonParseExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonParseExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonParseExprDefaultTypeInternal() {}
  union {
    JsonParseExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonParseExprDefaultTypeInternal _JsonParseExpr_default_instance_;

inline constexpr JsonScalarExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        output_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonScalarExpr::JsonScalarExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonScalarExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonScalarExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonScalarExprDefaultTypeInternal() {}
  union {
    JsonScalarExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonScalarExprDefaultTypeInternal _JsonScalarExpr_default_instance_;

inline constexpr JsonSerializeExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        output_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonSerializeExpr::JsonSerializeExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonSerializeExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonSerializeExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonSerializeExprDefaultTypeInternal() {}
  union {
    JsonSerializeExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonSerializeExprDefaultTypeInternal _JsonSerializeExpr_default_instance_;

inline constexpr JsonTable::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        passing_{},
        columns_{},
        context_item_{nullptr},
        pathspec_{nullptr},
        on_error_{nullptr},
        alias_{nullptr},
        lateral_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTable::JsonTable(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTableDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTableDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTableDefaultTypeInternal() {}
  union {
    JsonTable _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTableDefaultTypeInternal _JsonTable_default_instance_;

inline constexpr JsonTableColumn::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        columns_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_{nullptr},
        pathspec_{nullptr},
        format_{nullptr},
        on_empty_{nullptr},
        on_error_{nullptr},
        coltype_{static_cast< ::pg_query::JsonTableColumnType >(0)},
        wrapper_{static_cast< ::pg_query::JsonWrapper >(0)},
        quotes_{static_cast< ::pg_query::JsonQuotes >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTableColumn::JsonTableColumn(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTableColumnDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTableColumnDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTableColumnDefaultTypeInternal() {}
  union {
    JsonTableColumn _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTableColumnDefaultTypeInternal _JsonTableColumn_default_instance_;

inline constexpr JsonTablePathScan::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        plan_{nullptr},
        path_{nullptr},
        child_{nullptr},
        error_on_error_{false},
        col_min_{0},
        col_max_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTablePathScan::JsonTablePathScan(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTablePathScanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTablePathScanDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTablePathScanDefaultTypeInternal() {}
  union {
    JsonTablePathScan _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTablePathScanDefaultTypeInternal _JsonTablePathScan_default_instance_;

inline constexpr JsonTablePathSpec::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        string_{nullptr},
        name_location_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTablePathSpec::JsonTablePathSpec(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTablePathSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTablePathSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTablePathSpecDefaultTypeInternal() {}
  union {
    JsonTablePathSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTablePathSpecDefaultTypeInternal _JsonTablePathSpec_default_instance_;

inline constexpr JsonTableSiblingJoin::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        plan_{nullptr},
        lplan_{nullptr},
        rplan_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR JsonTableSiblingJoin::JsonTableSiblingJoin(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonTableSiblingJoinDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonTableSiblingJoinDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonTableSiblingJoinDefaultTypeInternal() {}
  union {
    JsonTableSiblingJoin _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonTableSiblingJoinDefaultTypeInternal _JsonTableSiblingJoin_default_instance_;

inline constexpr JsonValueExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        raw_expr_{nullptr},
        formatted_expr_{nullptr},
        format_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR JsonValueExpr::JsonValueExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct JsonValueExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR JsonValueExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~JsonValueExprDefaultTypeInternal() {}
  union {
    JsonValueExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JsonValueExprDefaultTypeInternal _JsonValueExpr_default_instance_;

inline constexpr List::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : items_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR List::List(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ListDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ListDefaultTypeInternal() {}
  union {
    List _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ListDefaultTypeInternal _List_default_instance_;

inline constexpr LockStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : relations_{},
        mode_{0},
        nowait_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR LockStmt::LockStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct LockStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LockStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~LockStmtDefaultTypeInternal() {}
  union {
    LockStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LockStmtDefaultTypeInternal _LockStmt_default_instance_;

inline constexpr LockingClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : locked_rels_{},
        strength_{static_cast< ::pg_query::LockClauseStrength >(0)},
        wait_policy_{static_cast< ::pg_query::LockWaitPolicy >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR LockingClause::LockingClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct LockingClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR LockingClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~LockingClauseDefaultTypeInternal() {}
  union {
    LockingClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 LockingClauseDefaultTypeInternal _LockingClause_default_instance_;

inline constexpr MergeAction::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_list_{},
        update_colnos_{},
        qual_{nullptr},
        match_kind_{static_cast< ::pg_query::MergeMatchKind >(0)},
        command_type_{static_cast< ::pg_query::CmdType >(0)},
        override_{static_cast< ::pg_query::OverridingKind >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR MergeAction::MergeAction(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MergeActionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeActionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeActionDefaultTypeInternal() {}
  union {
    MergeAction _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeActionDefaultTypeInternal _MergeAction_default_instance_;

inline constexpr MergeStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        merge_when_clauses_{},
        returning_list_{},
        relation_{nullptr},
        source_relation_{nullptr},
        join_condition_{nullptr},
        with_clause_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR MergeStmt::MergeStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MergeStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeStmtDefaultTypeInternal() {}
  union {
    MergeStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeStmtDefaultTypeInternal _MergeStmt_default_instance_;

inline constexpr MergeSupportFunc::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        msftype_{0u},
        msfcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR MergeSupportFunc::MergeSupportFunc(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MergeSupportFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeSupportFuncDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeSupportFuncDefaultTypeInternal() {}
  union {
    MergeSupportFunc _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeSupportFuncDefaultTypeInternal _MergeSupportFunc_default_instance_;

inline constexpr MergeWhenClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_list_{},
        values_{},
        condition_{nullptr},
        match_kind_{static_cast< ::pg_query::MergeMatchKind >(0)},
        command_type_{static_cast< ::pg_query::CmdType >(0)},
        override_{static_cast< ::pg_query::OverridingKind >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR MergeWhenClause::MergeWhenClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MergeWhenClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MergeWhenClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MergeWhenClauseDefaultTypeInternal() {}
  union {
    MergeWhenClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MergeWhenClauseDefaultTypeInternal _MergeWhenClause_default_instance_;

inline constexpr MinMaxExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        minmaxtype_{0u},
        minmaxcollid_{0u},
        inputcollid_{0u},
        op_{static_cast< ::pg_query::MinMaxOp >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR MinMaxExpr::MinMaxExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MinMaxExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MinMaxExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MinMaxExprDefaultTypeInternal() {}
  union {
    MinMaxExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MinMaxExprDefaultTypeInternal _MinMaxExpr_default_instance_;

inline constexpr MultiAssignRef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        source_{nullptr},
        colno_{0},
        ncolumns_{0} {}

template <typename>
PROTOBUF_CONSTEXPR MultiAssignRef::MultiAssignRef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct MultiAssignRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MultiAssignRefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~MultiAssignRefDefaultTypeInternal() {}
  union {
    MultiAssignRef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MultiAssignRefDefaultTypeInternal _MultiAssignRef_default_instance_;

inline constexpr NamedArgExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        arg_{nullptr},
        argnumber_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NamedArgExpr::NamedArgExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NamedArgExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NamedArgExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NamedArgExprDefaultTypeInternal() {}
  union {
    NamedArgExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NamedArgExprDefaultTypeInternal _NamedArgExpr_default_instance_;

inline constexpr NextValueExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        seqid_{0u},
        type_id_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR NextValueExpr::NextValueExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NextValueExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NextValueExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NextValueExprDefaultTypeInternal() {}
  union {
    NextValueExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NextValueExprDefaultTypeInternal _NextValueExpr_default_instance_;

inline constexpr Node::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : node_{},
        _cached_size_{0},
        _oneof_case_{} {}

template <typename>
PROTOBUF_CONSTEXPR Node::Node(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NodeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NodeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NodeDefaultTypeInternal() {}
  union {
    Node _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NodeDefaultTypeInternal _Node_default_instance_;

inline constexpr NullIfExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        opno_{0u},
        opresulttype_{0u},
        opretset_{false},
        opcollid_{0u},
        inputcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NullIfExpr::NullIfExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NullIfExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NullIfExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NullIfExprDefaultTypeInternal() {}
  union {
    NullIfExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NullIfExprDefaultTypeInternal _NullIfExpr_default_instance_;

inline constexpr NullTest::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        nulltesttype_{static_cast< ::pg_query::NullTestType >(0)},
        argisrow_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR NullTest::NullTest(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct NullTestDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NullTestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~NullTestDefaultTypeInternal() {}
  union {
    NullTest _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NullTestDefaultTypeInternal _NullTest_default_instance_;

inline constexpr ObjectWithArgs::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : objname_{},
        objargs_{},
        objfuncargs_{},
        args_unspecified_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ObjectWithArgs::ObjectWithArgs(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ObjectWithArgsDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ObjectWithArgsDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ObjectWithArgsDefaultTypeInternal() {}
  union {
    ObjectWithArgs _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ObjectWithArgsDefaultTypeInternal _ObjectWithArgs_default_instance_;

inline constexpr OidList::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : items_{},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR OidList::OidList(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct OidListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OidListDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OidListDefaultTypeInternal() {}
  union {
    OidList _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OidListDefaultTypeInternal _OidList_default_instance_;

inline constexpr OnConflictClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_list_{},
        infer_{nullptr},
        where_clause_{nullptr},
        action_{static_cast< ::pg_query::OnConflictAction >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR OnConflictClause::OnConflictClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct OnConflictClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OnConflictClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OnConflictClauseDefaultTypeInternal() {}
  union {
    OnConflictClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OnConflictClauseDefaultTypeInternal _OnConflictClause_default_instance_;

inline constexpr OnConflictExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        arbiter_elems_{},
        on_conflict_set_{},
        excl_rel_tlist_{},
        arbiter_where_{nullptr},
        on_conflict_where_{nullptr},
        action_{static_cast< ::pg_query::OnConflictAction >(0)},
        constraint_{0u},
        excl_rel_index_{0} {}

template <typename>
PROTOBUF_CONSTEXPR OnConflictExpr::OnConflictExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct OnConflictExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OnConflictExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OnConflictExprDefaultTypeInternal() {}
  union {
    OnConflictExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OnConflictExprDefaultTypeInternal _OnConflictExpr_default_instance_;

inline constexpr OpExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        opno_{0u},
        opresulttype_{0u},
        opretset_{false},
        opcollid_{0u},
        inputcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR OpExpr::OpExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct OpExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR OpExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~OpExprDefaultTypeInternal() {}
  union {
    OpExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 OpExprDefaultTypeInternal _OpExpr_default_instance_;

inline constexpr PLAssignStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        indirection_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        val_{nullptr},
        nnames_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PLAssignStmt::PLAssignStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PLAssignStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PLAssignStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PLAssignStmtDefaultTypeInternal() {}
  union {
    PLAssignStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PLAssignStmtDefaultTypeInternal _PLAssignStmt_default_instance_;

inline constexpr Param::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        paramkind_{static_cast< ::pg_query::ParamKind >(0)},
        paramid_{0},
        paramtype_{0u},
        paramtypmod_{0},
        paramcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Param::Param(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ParamDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParamDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParamDefaultTypeInternal() {}
  union {
    Param _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParamDefaultTypeInternal _Param_default_instance_;

inline constexpr PartitionBoundSpec::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : listdatums_{},
        lowerdatums_{},
        upperdatums_{},
        strategy_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        is_default_{false},
        modulus_{0},
        remainder_{0},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PartitionBoundSpec::PartitionBoundSpec(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PartitionBoundSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionBoundSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionBoundSpecDefaultTypeInternal() {}
  union {
    PartitionBoundSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionBoundSpecDefaultTypeInternal _PartitionBoundSpec_default_instance_;

inline constexpr PartitionCmd::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_{nullptr},
        bound_{nullptr},
        concurrent_{false} {}

template <typename>
PROTOBUF_CONSTEXPR PartitionCmd::PartitionCmd(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PartitionCmdDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionCmdDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionCmdDefaultTypeInternal() {}
  union {
    PartitionCmd _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionCmdDefaultTypeInternal _PartitionCmd_default_instance_;

inline constexpr PartitionElem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        collation_{},
        opclass_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        expr_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PartitionElem::PartitionElem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PartitionElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionElemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionElemDefaultTypeInternal() {}
  union {
    PartitionElem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionElemDefaultTypeInternal _PartitionElem_default_instance_;

inline constexpr PartitionRangeDatum::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        value_{nullptr},
        kind_{static_cast< ::pg_query::PartitionRangeDatumKind >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PartitionRangeDatum::PartitionRangeDatum(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PartitionRangeDatumDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionRangeDatumDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionRangeDatumDefaultTypeInternal() {}
  union {
    PartitionRangeDatum _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionRangeDatumDefaultTypeInternal _PartitionRangeDatum_default_instance_;

inline constexpr PartitionSpec::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : part_params_{},
        strategy_{static_cast< ::pg_query::PartitionStrategy >(0)},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PartitionSpec::PartitionSpec(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PartitionSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PartitionSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PartitionSpecDefaultTypeInternal() {}
  union {
    PartitionSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PartitionSpecDefaultTypeInternal _PartitionSpec_default_instance_;

inline constexpr PrepareStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        argtypes_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        query_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR PrepareStmt::PrepareStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PrepareStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PrepareStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PrepareStmtDefaultTypeInternal() {}
  union {
    PrepareStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PrepareStmtDefaultTypeInternal _PrepareStmt_default_instance_;

inline constexpr PublicationObjSpec::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        pubtable_{nullptr},
        pubobjtype_{static_cast< ::pg_query::PublicationObjSpecType >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR PublicationObjSpec::PublicationObjSpec(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PublicationObjSpecDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PublicationObjSpecDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PublicationObjSpecDefaultTypeInternal() {}
  union {
    PublicationObjSpec _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PublicationObjSpecDefaultTypeInternal _PublicationObjSpec_default_instance_;

inline constexpr PublicationTable::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        columns_{},
        relation_{nullptr},
        where_clause_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR PublicationTable::PublicationTable(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct PublicationTableDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PublicationTableDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~PublicationTableDefaultTypeInternal() {}
  union {
    PublicationTable _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PublicationTableDefaultTypeInternal _PublicationTable_default_instance_;

inline constexpr Query::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        cte_list_{},
        rtable_{},
        rteperminfos_{},
        merge_action_list_{},
        target_list_{},
        returning_list_{},
        group_clause_{},
        grouping_sets_{},
        window_clause_{},
        distinct_clause_{},
        sort_clause_{},
        row_marks_{},
        constraint_deps_{},
        with_check_options_{},
        utility_stmt_{nullptr},
        jointree_{nullptr},
        merge_join_condition_{nullptr},
        on_conflict_{nullptr},
        having_qual_{nullptr},
        limit_offset_{nullptr},
        limit_count_{nullptr},
        set_operations_{nullptr},
        command_type_{static_cast< ::pg_query::CmdType >(0)},
        query_source_{static_cast< ::pg_query::QuerySource >(0)},
        result_relation_{0},
        can_set_tag_{false},
        has_aggs_{false},
        has_window_funcs_{false},
        has_target_srfs_{false},
        has_sub_links_{false},
        has_distinct_on_{false},
        has_recursive_{false},
        has_modifying_cte_{false},
        has_for_update_{false},
        has_row_security_{false},
        is_return_{false},
        group_distinct_{false},
        merge_target_relation_{0},
        override_{static_cast< ::pg_query::OverridingKind >(0)},
        limit_option_{static_cast< ::pg_query::LimitOption >(0)},
        stmt_location_{0},
        stmt_len_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Query::Query(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct QueryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR QueryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~QueryDefaultTypeInternal() {}
  union {
    Query _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 QueryDefaultTypeInternal _Query_default_instance_;

inline constexpr RangeFunction::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        functions_{},
        coldeflist_{},
        alias_{nullptr},
        lateral_{false},
        ordinality_{false},
        is_rowsfrom_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RangeFunction::RangeFunction(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeFunctionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeFunctionDefaultTypeInternal() {}
  union {
    RangeFunction _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeFunctionDefaultTypeInternal _RangeFunction_default_instance_;

inline constexpr RangeSubselect::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        subquery_{nullptr},
        alias_{nullptr},
        lateral_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RangeSubselect::RangeSubselect(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeSubselectDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeSubselectDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeSubselectDefaultTypeInternal() {}
  union {
    RangeSubselect _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeSubselectDefaultTypeInternal _RangeSubselect_default_instance_;

inline constexpr RangeTableFunc::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        namespaces_{},
        columns_{},
        docexpr_{nullptr},
        rowexpr_{nullptr},
        alias_{nullptr},
        lateral_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTableFunc::RangeTableFunc(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTableFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableFuncDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableFuncDefaultTypeInternal() {}
  union {
    RangeTableFunc _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableFuncDefaultTypeInternal _RangeTableFunc_default_instance_;

inline constexpr RangeTableFuncCol::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        colname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        type_name_{nullptr},
        colexpr_{nullptr},
        coldefexpr_{nullptr},
        for_ordinality_{false},
        is_not_null_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTableFuncCol::RangeTableFuncCol(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTableFuncColDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableFuncColDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableFuncColDefaultTypeInternal() {}
  union {
    RangeTableFuncCol _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableFuncColDefaultTypeInternal _RangeTableFuncCol_default_instance_;

inline constexpr RangeTableSample::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        method_{},
        args_{},
        relation_{nullptr},
        repeatable_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTableSample::RangeTableSample(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTableSampleDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTableSampleDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTableSampleDefaultTypeInternal() {}
  union {
    RangeTableSample _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTableSampleDefaultTypeInternal _RangeTableSample_default_instance_;

inline constexpr RangeTblEntry::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        joinaliasvars_{},
        joinleftcols_{},
        joinrightcols_{},
        functions_{},
        values_lists_{},
        coltypes_{},
        coltypmods_{},
        colcollations_{},
        security_quals_{},
        relkind_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        ctename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        enrname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alias_{nullptr},
        eref_{nullptr},
        tablesample_{nullptr},
        subquery_{nullptr},
        join_using_alias_{nullptr},
        tablefunc_{nullptr},
        rtekind_{static_cast< ::pg_query::RTEKind >(0)},
        relid_{0u},
        rellockmode_{0},
        perminfoindex_{0u},
        jointype_{static_cast< ::pg_query::JoinType >(0)},
        joinmergedcols_{0},
        inh_{false},
        security_barrier_{false},
        funcordinality_{false},
        self_reference_{false},
        ctelevelsup_{0u},
        enrtuples_{0},
        lateral_{false},
        in_from_cl_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTblEntry::RangeTblEntry(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTblEntryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblEntryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblEntryDefaultTypeInternal() {}
  union {
    RangeTblEntry _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblEntryDefaultTypeInternal _RangeTblEntry_default_instance_;

inline constexpr RangeTblFunction::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        funccolnames_{},
        funccoltypes_{},
        funccoltypmods_{},
        funccolcollations_{},
        funcparams_{},
        _funcparams_cached_byte_size_{0},
        funcexpr_{nullptr},
        funccolcount_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeTblFunction::RangeTblFunction(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeTblFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeTblFunctionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeTblFunctionDefaultTypeInternal() {}
  union {
    RangeTblFunction _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeTblFunctionDefaultTypeInternal _RangeTblFunction_default_instance_;

inline constexpr RangeVar::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        catalogname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        schemaname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relpersistence_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        alias_{nullptr},
        inh_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RangeVar::RangeVar(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RangeVarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RangeVarDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RangeVarDefaultTypeInternal() {}
  union {
    RangeVar _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RangeVarDefaultTypeInternal _RangeVar_default_instance_;

inline constexpr RawStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        stmt_{nullptr},
        stmt_location_{0},
        stmt_len_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RawStmt::RawStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RawStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RawStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RawStmtDefaultTypeInternal() {}
  union {
    RawStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RawStmtDefaultTypeInternal _RawStmt_default_instance_;

inline constexpr ReassignOwnedStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        roles_{},
        newrole_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ReassignOwnedStmt::ReassignOwnedStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ReassignOwnedStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReassignOwnedStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReassignOwnedStmtDefaultTypeInternal() {}
  union {
    ReassignOwnedStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReassignOwnedStmtDefaultTypeInternal _ReassignOwnedStmt_default_instance_;

inline constexpr RefreshMatViewStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        relation_{nullptr},
        concurrent_{false},
        skip_data_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RefreshMatViewStmt::RefreshMatViewStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RefreshMatViewStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RefreshMatViewStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RefreshMatViewStmtDefaultTypeInternal() {}
  union {
    RefreshMatViewStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RefreshMatViewStmtDefaultTypeInternal _RefreshMatViewStmt_default_instance_;

inline constexpr ReindexStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        params_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        kind_{static_cast< ::pg_query::ReindexObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR ReindexStmt::ReindexStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ReindexStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReindexStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReindexStmtDefaultTypeInternal() {}
  union {
    ReindexStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReindexStmtDefaultTypeInternal _ReindexStmt_default_instance_;

inline constexpr RelabelType::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        resulttype_{0u},
        resulttypmod_{0},
        resultcollid_{0u},
        relabelformat_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RelabelType::RelabelType(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RelabelTypeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RelabelTypeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RelabelTypeDefaultTypeInternal() {}
  union {
    RelabelType _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RelabelTypeDefaultTypeInternal _RelabelType_default_instance_;

inline constexpr RenameStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        subname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        newname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        object_{nullptr},
        rename_type_{static_cast< ::pg_query::ObjectType >(0)},
        relation_type_{static_cast< ::pg_query::ObjectType >(0)},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        missing_ok_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RenameStmt::RenameStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RenameStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RenameStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RenameStmtDefaultTypeInternal() {}
  union {
    RenameStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RenameStmtDefaultTypeInternal _RenameStmt_default_instance_;

inline constexpr ResTarget::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        indirection_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        val_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ResTarget::ResTarget(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ResTargetDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ResTargetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ResTargetDefaultTypeInternal() {}
  union {
    ResTarget _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ResTargetDefaultTypeInternal _ResTarget_default_instance_;

inline constexpr ReturnStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        returnval_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR ReturnStmt::ReturnStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ReturnStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ReturnStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ReturnStmtDefaultTypeInternal() {}
  union {
    ReturnStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ReturnStmtDefaultTypeInternal _ReturnStmt_default_instance_;

inline constexpr RowCompareExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        opnos_{},
        opfamilies_{},
        inputcollids_{},
        largs_{},
        rargs_{},
        xpr_{nullptr},
        rctype_{static_cast< ::pg_query::RowCompareType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR RowCompareExpr::RowCompareExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RowCompareExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowCompareExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowCompareExprDefaultTypeInternal() {}
  union {
    RowCompareExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowCompareExprDefaultTypeInternal _RowCompareExpr_default_instance_;

inline constexpr RowExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        colnames_{},
        xpr_{nullptr},
        row_typeid_{0u},
        row_format_{static_cast< ::pg_query::CoercionForm >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR RowExpr::RowExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RowExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RowExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RowExprDefaultTypeInternal() {}
  union {
    RowExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RowExprDefaultTypeInternal _RowExpr_default_instance_;

inline constexpr RuleStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        actions_{},
        rulename_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        relation_{nullptr},
        where_clause_{nullptr},
        event_{static_cast< ::pg_query::CmdType >(0)},
        instead_{false},
        replace_{false} {}

template <typename>
PROTOBUF_CONSTEXPR RuleStmt::RuleStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct RuleStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR RuleStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~RuleStmtDefaultTypeInternal() {}
  union {
    RuleStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RuleStmtDefaultTypeInternal _RuleStmt_default_instance_;

inline constexpr SQLValueFunction::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        op_{static_cast< ::pg_query::SQLValueFunctionOp >(0)},
        type_{0u},
        typmod_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SQLValueFunction::SQLValueFunction(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SQLValueFunctionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SQLValueFunctionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SQLValueFunctionDefaultTypeInternal() {}
  union {
    SQLValueFunction _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SQLValueFunctionDefaultTypeInternal _SQLValueFunction_default_instance_;

inline constexpr ScalarArrayOpExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        xpr_{nullptr},
        opno_{0u},
        use_or_{false},
        inputcollid_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ScalarArrayOpExpr::ScalarArrayOpExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ScalarArrayOpExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ScalarArrayOpExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ScalarArrayOpExprDefaultTypeInternal() {}
  union {
    ScalarArrayOpExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ScalarArrayOpExprDefaultTypeInternal _ScalarArrayOpExpr_default_instance_;

inline constexpr SecLabelStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        provider_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        label_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        object_{nullptr},
        objtype_{static_cast< ::pg_query::ObjectType >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR SecLabelStmt::SecLabelStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SecLabelStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SecLabelStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SecLabelStmtDefaultTypeInternal() {}
  union {
    SecLabelStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SecLabelStmtDefaultTypeInternal _SecLabelStmt_default_instance_;

inline constexpr SelectStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        distinct_clause_{},
        target_list_{},
        from_clause_{},
        group_clause_{},
        window_clause_{},
        values_lists_{},
        sort_clause_{},
        locking_clause_{},
        into_clause_{nullptr},
        where_clause_{nullptr},
        having_clause_{nullptr},
        limit_offset_{nullptr},
        limit_count_{nullptr},
        with_clause_{nullptr},
        larg_{nullptr},
        rarg_{nullptr},
        group_distinct_{false},
        all_{false},
        limit_option_{static_cast< ::pg_query::LimitOption >(0)},
        op_{static_cast< ::pg_query::SetOperation >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR SelectStmt::SelectStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SelectStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SelectStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SelectStmtDefaultTypeInternal() {}
  union {
    SelectStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SelectStmtDefaultTypeInternal _SelectStmt_default_instance_;

inline constexpr SetOperationStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        col_types_{},
        col_typmods_{},
        col_collations_{},
        group_clauses_{},
        larg_{nullptr},
        rarg_{nullptr},
        op_{static_cast< ::pg_query::SetOperation >(0)},
        all_{false} {}

template <typename>
PROTOBUF_CONSTEXPR SetOperationStmt::SetOperationStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SetOperationStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SetOperationStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SetOperationStmtDefaultTypeInternal() {}
  union {
    SetOperationStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetOperationStmtDefaultTypeInternal _SetOperationStmt_default_instance_;

inline constexpr SetToDefault::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        type_id_{0u},
        type_mod_{0},
        collation_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SetToDefault::SetToDefault(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SetToDefaultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SetToDefaultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SetToDefaultDefaultTypeInternal() {}
  union {
    SetToDefault _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SetToDefaultDefaultTypeInternal _SetToDefault_default_instance_;

inline constexpr SortBy::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        use_op_{},
        node_{nullptr},
        sortby_dir_{static_cast< ::pg_query::SortByDir >(0)},
        sortby_nulls_{static_cast< ::pg_query::SortByNulls >(0)},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SortBy::SortBy(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SortByDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SortByDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SortByDefaultTypeInternal() {}
  union {
    SortBy _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SortByDefaultTypeInternal _SortBy_default_instance_;

inline constexpr StatsElem::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        expr_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR StatsElem::StatsElem(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct StatsElemDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StatsElemDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~StatsElemDefaultTypeInternal() {}
  union {
    StatsElem _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StatsElemDefaultTypeInternal _StatsElem_default_instance_;

inline constexpr SubLink::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        oper_name_{},
        xpr_{nullptr},
        testexpr_{nullptr},
        subselect_{nullptr},
        sub_link_type_{static_cast< ::pg_query::SubLinkType >(0)},
        sub_link_id_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SubLink::SubLink(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubLinkDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubLinkDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubLinkDefaultTypeInternal() {}
  union {
    SubLink _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubLinkDefaultTypeInternal _SubLink_default_instance_;

inline constexpr SubPlan::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        param_ids_{},
        set_param_{},
        par_param_{},
        args_{},
        plan_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        testexpr_{nullptr},
        sub_link_type_{static_cast< ::pg_query::SubLinkType >(0)},
        plan_id_{0},
        first_col_type_{0u},
        first_col_typmod_{0},
        first_col_collation_{0u},
        use_hash_table_{false},
        unknown_eq_false_{false},
        parallel_safe_{false},
        startup_cost_{0},
        per_call_cost_{0} {}

template <typename>
PROTOBUF_CONSTEXPR SubPlan::SubPlan(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubPlanDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubPlanDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubPlanDefaultTypeInternal() {}
  union {
    SubPlan _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubPlanDefaultTypeInternal _SubPlan_default_instance_;

inline constexpr SubscriptingRef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        refupperindexpr_{},
        reflowerindexpr_{},
        xpr_{nullptr},
        refexpr_{nullptr},
        refassgnexpr_{nullptr},
        refcontainertype_{0u},
        refelemtype_{0u},
        refrestype_{0u},
        reftypmod_{0},
        refcollid_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR SubscriptingRef::SubscriptingRef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct SubscriptingRefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR SubscriptingRefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~SubscriptingRefDefaultTypeInternal() {}
  union {
    SubscriptingRef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubscriptingRefDefaultTypeInternal _SubscriptingRef_default_instance_;

inline constexpr TableFunc::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        ns_uris_{},
        ns_names_{},
        colnames_{},
        coltypes_{},
        coltypmods_{},
        colcollations_{},
        colexprs_{},
        coldefexprs_{},
        colvalexprs_{},
        passingvalexprs_{},
        notnulls_{},
        _notnulls_cached_byte_size_{0},
        docexpr_{nullptr},
        rowexpr_{nullptr},
        plan_{nullptr},
        functype_{static_cast< ::pg_query::TableFuncType >(0)},
        ordinalitycol_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TableFunc::TableFunc(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TableFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableFuncDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableFuncDefaultTypeInternal() {}
  union {
    TableFunc _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableFuncDefaultTypeInternal _TableFunc_default_instance_;

inline constexpr TableLikeClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        relation_{nullptr},
        options_{0u},
        relation_oid_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR TableLikeClause::TableLikeClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TableLikeClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableLikeClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableLikeClauseDefaultTypeInternal() {}
  union {
    TableLikeClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableLikeClauseDefaultTypeInternal _TableLikeClause_default_instance_;

inline constexpr TableSampleClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        repeatable_{nullptr},
        tsmhandler_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR TableSampleClause::TableSampleClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TableSampleClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TableSampleClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TableSampleClauseDefaultTypeInternal() {}
  union {
    TableSampleClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TableSampleClauseDefaultTypeInternal _TableSampleClause_default_instance_;

inline constexpr TargetEntry::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        resname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        expr_{nullptr},
        resno_{0},
        ressortgroupref_{0u},
        resorigtbl_{0u},
        resorigcol_{0},
        resjunk_{false} {}

template <typename>
PROTOBUF_CONSTEXPR TargetEntry::TargetEntry(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TargetEntryDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TargetEntryDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TargetEntryDefaultTypeInternal() {}
  union {
    TargetEntry _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TargetEntryDefaultTypeInternal _TargetEntry_default_instance_;

inline constexpr TransactionStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        savepoint_name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        gid_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        kind_{static_cast< ::pg_query::TransactionStmtKind >(0)},
        chain_{false},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TransactionStmt::TransactionStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TransactionStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TransactionStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TransactionStmtDefaultTypeInternal() {}
  union {
    TransactionStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TransactionStmtDefaultTypeInternal _TransactionStmt_default_instance_;

inline constexpr TruncateStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : relations_{},
        restart_seqs_{false},
        behavior_{static_cast< ::pg_query::DropBehavior >(0)},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TruncateStmt::TruncateStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TruncateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TruncateStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TruncateStmtDefaultTypeInternal() {}
  union {
    TruncateStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TruncateStmtDefaultTypeInternal _TruncateStmt_default_instance_;

inline constexpr TypeCast::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        arg_{nullptr},
        type_name_{nullptr},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TypeCast::TypeCast(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TypeCastDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeCastDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeCastDefaultTypeInternal() {}
  union {
    TypeCast _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeCastDefaultTypeInternal _TypeCast_default_instance_;

inline constexpr TypeName::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : names_{},
        typmods_{},
        array_bounds_{},
        type_oid_{0u},
        setof_{false},
        pct_type_{false},
        typemod_{0},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR TypeName::TypeName(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct TypeNameDefaultTypeInternal {
  PROTOBUF_CONSTEXPR TypeNameDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~TypeNameDefaultTypeInternal() {}
  union {
    TypeName _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 TypeNameDefaultTypeInternal _TypeName_default_instance_;

inline constexpr UpdateStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        target_list_{},
        from_clause_{},
        returning_list_{},
        relation_{nullptr},
        where_clause_{nullptr},
        with_clause_{nullptr} {}

template <typename>
PROTOBUF_CONSTEXPR UpdateStmt::UpdateStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct UpdateStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR UpdateStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~UpdateStmtDefaultTypeInternal() {}
  union {
    UpdateStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UpdateStmtDefaultTypeInternal _UpdateStmt_default_instance_;

inline constexpr VacuumRelation::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        va_cols_{},
        relation_{nullptr},
        oid_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR VacuumRelation::VacuumRelation(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct VacuumRelationDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VacuumRelationDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~VacuumRelationDefaultTypeInternal() {}
  union {
    VacuumRelation _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VacuumRelationDefaultTypeInternal _VacuumRelation_default_instance_;

inline constexpr VacuumStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : options_{},
        rels_{},
        is_vacuumcmd_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR VacuumStmt::VacuumStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct VacuumStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VacuumStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~VacuumStmtDefaultTypeInternal() {}
  union {
    VacuumStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VacuumStmtDefaultTypeInternal _VacuumStmt_default_instance_;

inline constexpr Var::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        varnullingrels_{},
        _varnullingrels_cached_byte_size_{0},
        xpr_{nullptr},
        varno_{0},
        varattno_{0},
        vartype_{0u},
        vartypmod_{0},
        varcollid_{0u},
        varlevelsup_{0u},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR Var::Var(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct VarDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VarDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~VarDefaultTypeInternal() {}
  union {
    Var _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VarDefaultTypeInternal _Var_default_instance_;

inline constexpr VariableSetStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : args_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        kind_{static_cast< ::pg_query::VariableSetKind >(0)},
        is_local_{false},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR VariableSetStmt::VariableSetStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct VariableSetStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR VariableSetStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~VariableSetStmtDefaultTypeInternal() {}
  union {
    VariableSetStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 VariableSetStmtDefaultTypeInternal _VariableSetStmt_default_instance_;

inline constexpr ViewStmt::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        aliases_{},
        options_{},
        view_{nullptr},
        query_{nullptr},
        replace_{false},
        with_check_option_{static_cast< ::pg_query::ViewCheckOption >(0)} {}

template <typename>
PROTOBUF_CONSTEXPR ViewStmt::ViewStmt(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ViewStmtDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ViewStmtDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ViewStmtDefaultTypeInternal() {}
  union {
    ViewStmt _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ViewStmtDefaultTypeInternal _ViewStmt_default_instance_;

inline constexpr WindowClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        partition_clause_{},
        order_clause_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        refname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_offset_{nullptr},
        end_offset_{nullptr},
        frame_options_{0},
        start_in_range_func_{0u},
        end_in_range_func_{0u},
        in_range_coll_{0u},
        in_range_asc_{false},
        in_range_nulls_first_{false},
        copied_order_{false},
        winref_{0u} {}

template <typename>
PROTOBUF_CONSTEXPR WindowClause::WindowClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WindowClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowClauseDefaultTypeInternal() {}
  union {
    WindowClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowClauseDefaultTypeInternal _WindowClause_default_instance_;

inline constexpr WindowDef::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        partition_clause_{},
        order_clause_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        refname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        start_offset_{nullptr},
        end_offset_{nullptr},
        frame_options_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR WindowDef::WindowDef(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WindowDefDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowDefDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowDefDefaultTypeInternal() {}
  union {
    WindowDef _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowDefDefaultTypeInternal _WindowDef_default_instance_;

inline constexpr WindowFunc::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        args_{},
        run_condition_{},
        xpr_{nullptr},
        aggfilter_{nullptr},
        winfnoid_{0u},
        wintype_{0u},
        wincollid_{0u},
        inputcollid_{0u},
        winref_{0u},
        winstar_{false},
        winagg_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR WindowFunc::WindowFunc(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WindowFuncDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowFuncDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowFuncDefaultTypeInternal() {}
  union {
    WindowFunc _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowFuncDefaultTypeInternal _WindowFunc_default_instance_;

inline constexpr WindowFuncRunCondition::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        xpr_{nullptr},
        arg_{nullptr},
        opno_{0u},
        inputcollid_{0u},
        wfunc_left_{false} {}

template <typename>
PROTOBUF_CONSTEXPR WindowFuncRunCondition::WindowFuncRunCondition(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WindowFuncRunConditionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WindowFuncRunConditionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WindowFuncRunConditionDefaultTypeInternal() {}
  union {
    WindowFuncRunCondition _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WindowFuncRunConditionDefaultTypeInternal _WindowFuncRunCondition_default_instance_;

inline constexpr WithCheckOption::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        relname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        polname_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        qual_{nullptr},
        kind_{static_cast< ::pg_query::WCOKind >(0)},
        cascaded_{false} {}

template <typename>
PROTOBUF_CONSTEXPR WithCheckOption::WithCheckOption(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WithCheckOptionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WithCheckOptionDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WithCheckOptionDefaultTypeInternal() {}
  union {
    WithCheckOption _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WithCheckOptionDefaultTypeInternal _WithCheckOption_default_instance_;

inline constexpr WithClause::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : ctes_{},
        recursive_{false},
        location_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR WithClause::WithClause(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct WithClauseDefaultTypeInternal {
  PROTOBUF_CONSTEXPR WithClauseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~WithClauseDefaultTypeInternal() {}
  union {
    WithClause _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WithClauseDefaultTypeInternal _WithClause_default_instance_;

inline constexpr XmlExpr::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        named_args_{},
        arg_names_{},
        args_{},
        name_(
            &::google::protobuf::internal::fixed_address_empty_string,
            ::_pbi::ConstantInitialized()),
        xpr_{nullptr},
        op_{static_cast< ::pg_query::XmlExprOp >(0)},
        xmloption_{static_cast< ::pg_query::XmlOptionType >(0)},
        indent_{false},
        type_{0u},
        typmod_{0},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR XmlExpr::XmlExpr(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct XmlExprDefaultTypeInternal {
  PROTOBUF_CONSTEXPR XmlExprDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~XmlExprDefaultTypeInternal() {}
  union {
    XmlExpr _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 XmlExprDefaultTypeInternal _XmlExpr_default_instance_;

inline constexpr XmlSerialize::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : _cached_size_{0},
        expr_{nullptr},
        type_name_{nullptr},
        xmloption_{static_cast< ::pg_query::XmlOptionType >(0)},
        indent_{false},
        location_{0} {}

template <typename>
PROTOBUF_CONSTEXPR XmlSerialize::XmlSerialize(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct XmlSerializeDefaultTypeInternal {
  PROTOBUF_CONSTEXPR XmlSerializeDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~XmlSerializeDefaultTypeInternal() {}
  union {
    XmlSerialize _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 XmlSerializeDefaultTypeInternal _XmlSerialize_default_instance_;

inline constexpr ParseResult::Impl_::Impl_(
    ::_pbi::ConstantInitialized) noexcept
      : stmts_{},
        version_{0},
        _cached_size_{0} {}

template <typename>
PROTOBUF_CONSTEXPR ParseResult::ParseResult(::_pbi::ConstantInitialized)
    : _impl_(::_pbi::ConstantInitialized()) {}
struct ParseResultDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ParseResultDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {}
  ~ParseResultDefaultTypeInternal() {}
  union {
    ParseResult _instance;
  };
};

PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT
    PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ParseResultDefaultTypeInternal _ParseResult_default_instance_;
}  // namespace pg_query
static ::_pb::Metadata file_level_metadata_protobuf_2fpg_5fquery_2eproto[272];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[71];
static constexpr const ::_pb::ServiceDescriptor**
    file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto = nullptr;
const ::uint32_t TableStruct_protobuf_2fpg_5fquery_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(
    protodesc_cold) = {
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _impl_.version_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ParseResult, _impl_.stmts_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _impl_.version_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanResult, _impl_.tokens_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::Node, _internal_metadata_),
    ~0u,  // no _extensions_
    PROTOBUF_FIELD_OFFSET(::pg_query::Node, _impl_._oneof_case_[0]),
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    PROTOBUF_FIELD_OFFSET(::pg_query::Node, _impl_.node_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::Integer, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Integer, _impl_.ival_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::Float, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Float, _impl_.fval_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::Boolean, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Boolean, _impl_.boolval_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::String, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::String, _impl_.sval_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::BitString, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::BitString, _impl_.bsval_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::List, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::List, _impl_.items_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::OidList, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::OidList, _impl_.items_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::IntList, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::IntList, _impl_.items_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _internal_metadata_),
    ~0u,  // no _extensions_
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_._oneof_case_[0]),
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    ::_pbi::kInvalidFieldOffsetTag,
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.isnull_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_.val_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _impl_.aliasname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Alias, _impl_.colnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.catalogname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.schemaname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.relname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.inh_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.relpersistence_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeVar, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.functype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ns_uris_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ns_names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.docexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.rowexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coltypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coltypmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colcollations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colexprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.coldefexprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.colvalexprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.passingvalexprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.notnulls_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.plan_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.ordinalitycol_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableFunc, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    2,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.rel_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.col_names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.access_method_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.on_commit_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.table_space_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.view_query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IntoClause, _impl_.skip_data_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varattno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.vartype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.vartypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varnullingrels_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.varlevelsup_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Var, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramkind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramtypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.paramcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Param, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggfnoid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggargtypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggdirectargs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggorder_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggdistinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggfilter_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggstar_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggvariadic_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggkind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.agglevelsup_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggsplit_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.aggtransno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Aggref, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.refs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.agglevelsup_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingFunc, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winfnoid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.wintype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.wincollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.aggfilter_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.run_condition_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winref_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winstar_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.winagg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFunc, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_.opno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_.wfunc_left_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowFuncRunCondition, _impl_.arg_),
    0,
    ~0u,
    ~0u,
    ~0u,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _impl_.msftype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _impl_.msfcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeSupportFunc, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refcontainertype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refelemtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refrestype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.reftypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refupperindexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.reflowerindexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubscriptingRef, _impl_.refassgnexpr_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcresulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcretset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcvariadic_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funcformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.funccollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.argnumber_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NamedArgExpr, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opresulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opretset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.opcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OpExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opresulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opretset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.opcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DistinctExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opresulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opretset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.opcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullIfExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.opno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.use_or_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScalarArrayOpExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.boolop_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BoolExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.sub_link_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.sub_link_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.testexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.oper_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.subselect_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubLink, _impl_.location_),
    0,
    ~0u,
    ~0u,
    1,
    ~0u,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.sub_link_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.testexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.param_ids_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.plan_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.plan_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_typmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.first_col_collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.use_hash_table_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.unknown_eq_false_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.parallel_safe_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.set_param_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.par_param_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.startup_cost_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SubPlan, _impl_.per_call_cost_),
    0,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlternativeSubPlan, _impl_.subplans_),
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.fieldnum_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.resulttypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldSelect, _impl_.resultcollid_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.newvals_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.fieldnums_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FieldStore, _impl_.resulttype_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resulttypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.resultcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.relabelformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RelabelType, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.resultcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.coerceformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceViaIO, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.elemexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resulttypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.resultcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.coerceformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayCoerceExpr, _impl_.location_),
    0,
    1,
    2,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.convertformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConvertRowtypeExpr, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.coll_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateExpr, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.casetype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.casecollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.defresult_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    1,
    ~0u,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.result_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseWhen, _impl_.location_),
    0,
    1,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.type_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.type_mod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CaseTestExpr, _impl_.collation_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.array_typeid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.array_collid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.element_typeid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.elements_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.multidims_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ArrayExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.row_typeid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.row_format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.colnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.rctype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.opnos_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.opfamilies_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.inputcollids_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.largs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowCompareExpr, _impl_.rargs_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.coalescetype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.coalescecollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoalesceExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.minmaxtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.minmaxcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.inputcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MinMaxExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.typmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SQLValueFunction, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.named_args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.arg_names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.xmloption_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.indent_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.typmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFormat, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFormat, _impl_.format_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFormat, _impl_.encoding_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFormat, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonReturning, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonReturning, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonReturning, _impl_.format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonReturning, _impl_.typid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonReturning, _impl_.typmod_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonValueExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonValueExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonValueExpr, _impl_.raw_expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonValueExpr, _impl_.formatted_expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonValueExpr, _impl_.format_),
    0,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.func_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.coercion_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.returning_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.absent_on_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.unique_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonConstructorExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    1,
    2,
    3,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_.format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_.item_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_.unique_keys_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonIsPredicate, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _impl_.btype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _impl_.coerce_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonBehavior, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.column_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.formatted_expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.path_spec_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.returning_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.passing_names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.passing_values_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.on_empty_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.on_error_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.use_io_coercion_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.use_json_coercion_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.wrapper_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.omit_quotes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonExpr, _impl_.location_),
    0,
    ~0u,
    ~0u,
    1,
    2,
    3,
    4,
    ~0u,
    ~0u,
    5,
    6,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePath, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePath, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.plan_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.path_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.error_on_error_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.child_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.col_min_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathScan, _impl_.col_max_),
    0,
    1,
    ~0u,
    2,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableSiblingJoin, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableSiblingJoin, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableSiblingJoin, _impl_.plan_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableSiblingJoin, _impl_.lplan_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableSiblingJoin, _impl_.rplan_),
    0,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.nulltesttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.argisrow_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NullTest, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.booltesttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::BooleanTest, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.match_kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.command_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.override_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.qual_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeAction, _impl_.update_colnos_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resulttype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resulttypmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.resultcollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.coercionformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomain, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.type_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.type_mod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CoerceToDomainValue, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.type_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.type_mod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetToDefault, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.cvarno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.cursor_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CurrentOfExpr, _impl_.cursor_param_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.seqid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NextValueExpr, _impl_.type_id_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.infercollid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferenceElem, _impl_.inferopclass_),
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.xpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.ressortgroupref_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resorigtbl_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resorigcol_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TargetEntry, _impl_.resjunk_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblRef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblRef, _impl_.rtindex_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.jointype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.is_natural_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.larg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.rarg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.using_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.join_using_alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.quals_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JoinExpr, _impl_.rtindex_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    2,
    3,
    4,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _impl_.fromlist_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FromExpr, _impl_.quals_),
    ~0u,
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.action_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.arbiter_elems_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.arbiter_where_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.constraint_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.on_conflict_set_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.on_conflict_where_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.excl_rel_index_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictExpr, _impl_.excl_rel_tlist_),
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.command_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.query_source_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.can_set_tag_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.utility_stmt_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.result_relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_aggs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_window_funcs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_target_srfs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_sub_links_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_distinct_on_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_recursive_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_modifying_cte_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_for_update_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.has_row_security_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.is_return_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.cte_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.rtable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.rteperminfos_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.jointree_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.merge_action_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.merge_target_relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.merge_join_condition_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.override_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.on_conflict_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.returning_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.group_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.group_distinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.grouping_sets_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.having_qual_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.window_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.distinct_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.sort_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_count_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.limit_option_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.row_marks_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.set_operations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.constraint_deps_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.with_check_options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.stmt_location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Query, _impl_.stmt_len_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    2,
    ~0u,
    ~0u,
    3,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    4,
    ~0u,
    ~0u,
    ~0u,
    5,
    6,
    ~0u,
    ~0u,
    7,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.type_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.setof_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.pct_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.typmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.typemod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.array_bounds_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeName, _impl_.location_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _impl_.fields_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnRef, _impl_.location_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _impl_.number_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ParamRef, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.lexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.rexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Expr, _impl_.location_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TypeCast, _impl_.location_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.collname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CollateClause, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.roletype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.rolename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RoleSpec, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.funcname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_order_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_filter_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.over_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_within_group_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_star_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.agg_distinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.func_variadic_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.funcformat_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FuncCall, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Star, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.is_slice_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.lidx_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indices, _impl_.uidx_),
    ~0u,
    0,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Indirection, _impl_.indirection_),
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _impl_.elements_),
    PROTOBUF_FIELD_OFFSET(::pg_query::A_ArrayExpr, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.indirection_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.val_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ResTarget, _impl_.location_),
    ~0u,
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.source_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.colno_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MultiAssignRef, _impl_.ncolumns_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.node_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.sortby_dir_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.sortby_nulls_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.use_op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortBy, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.refname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.partition_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.order_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.frame_options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.start_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.end_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowDef, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.lateral_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.subquery_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeSubselect, _impl_.alias_),
    ~0u,
    0,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.lateral_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.ordinality_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.is_rowsfrom_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.functions_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeFunction, _impl_.coldeflist_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.lateral_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.docexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.rowexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.namespaces_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.columns_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFunc, _impl_.location_),
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.colname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.for_ordinality_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.is_not_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.colexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.coldefexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableFuncCol, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    1,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.method_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.repeatable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTableSample, _impl_.location_),
    0,
    ~0u,
    ~0u,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.colname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.compression_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.inhcount_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_local_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_not_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.is_from_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.storage_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.storage_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.raw_default_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.cooked_default_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.identity_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.identity_sequence_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.generated_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.coll_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.coll_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.constraints_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.fdwoptions_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ColumnDef, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    2,
    ~0u,
    3,
    ~0u,
    4,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableLikeClause, _impl_.relation_oid_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.indexcolname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.opclass_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.opclassopts_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.ordering_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexElem, _impl_.nulls_ordering_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defnamespace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.defaction_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefElem, _impl_.location_),
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.locked_rels_),
    PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.strength_),
    PROTOBUF_FIELD_OFFSET(::pg_query::LockingClause, _impl_.wait_policy_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.xmloption_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.indent_),
    PROTOBUF_FIELD_OFFSET(::pg_query::XmlSerialize, _impl_.location_),
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.opclass_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionElem, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.strategy_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.part_params_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionSpec, _impl_.location_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.strategy_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.is_default_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.modulus_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.remainder_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.listdatums_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.lowerdatums_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.upperdatums_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionBoundSpec, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.value_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionRangeDatum, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::SinglePartitionSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.bound_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PartitionCmd, _impl_.concurrent_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.eref_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.rtekind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.relid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.inh_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.relkind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.rellockmode_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.perminfoindex_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.tablesample_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.subquery_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.security_barrier_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.jointype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinmergedcols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinaliasvars_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinleftcols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.joinrightcols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.join_using_alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.functions_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.funcordinality_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.tablefunc_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.values_lists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.ctename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.ctelevelsup_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.self_reference_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.coltypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.coltypmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.colcollations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.enrname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.enrtuples_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.lateral_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.in_from_cl_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblEntry, _impl_.security_quals_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    2,
    3,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    4,
    ~0u,
    ~0u,
    5,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.relid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.inh_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.required_perms_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.check_as_user_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.selected_cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.inserted_cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RTEPermissionInfo, _impl_.updated_cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funcexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolcount_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccoltypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccoltypmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funccolcollations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RangeTblFunction, _impl_.funcparams_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.tsmhandler_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TableSampleClause, _impl_.repeatable_),
    ~0u,
    ~0u,
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.relname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.polname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.qual_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithCheckOption, _impl_.cascaded_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.tle_sort_group_ref_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.eqop_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.sortop_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.nulls_first_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SortGroupClause, _impl_.hashable_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.content_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GroupingSet, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.refname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.partition_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.order_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.frame_options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.start_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.end_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.start_in_range_func_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.end_in_range_func_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_coll_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_asc_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.in_range_nulls_first_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.winref_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WindowClause, _impl_.copied_order_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.rti_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.strength_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.wait_policy_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RowMarkClause, _impl_.pushed_down_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.ctes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.recursive_),
    PROTOBUF_FIELD_OFFSET(::pg_query::WithClause, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.index_elems_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.conname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InferClause, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.action_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.infer_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::OnConflictClause, _impl_.location_),
    ~0u,
    0,
    ~0u,
    1,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_col_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_breadth_first_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.search_seq_column_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTESearchClause, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_col_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_column_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_value_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_default_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_path_column_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_typmod_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_collation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CTECycleClause, _impl_.cycle_mark_neop_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.aliascolnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctematerialized_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctequery_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.search_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cycle_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cterecursive_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.cterefcount_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecolnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecoltypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecoltypmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommonTableExpr, _impl_.ctecolcollations_),
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    2,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.match_kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.command_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.override_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.condition_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeWhenClause, _impl_.values_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.is_new_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TriggerTransition, _impl_.is_table_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonOutput, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonOutput, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonOutput, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonOutput, _impl_.returning_),
    0,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArgument, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArgument, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArgument, _impl_.val_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArgument, _impl_.name_),
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.column_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.context_item_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.pathspec_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.passing_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.on_empty_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.on_error_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.wrapper_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.quotes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonFuncExpr, _impl_.location_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    2,
    3,
    4,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _impl_.string_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _impl_.name_location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTablePathSpec, _impl_.location_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.context_item_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.pathspec_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.passing_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.columns_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.on_error_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.alias_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.lateral_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTable, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    2,
    3,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.coltype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.pathspec_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.wrapper_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.quotes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.columns_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.on_empty_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.on_error_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonTableColumn, _impl_.location_),
    ~0u,
    ~0u,
    0,
    1,
    2,
    ~0u,
    ~0u,
    ~0u,
    3,
    4,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonKeyValue, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonKeyValue, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonKeyValue, _impl_.key_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonKeyValue, _impl_.value_),
    0,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _impl_.unique_keys_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonParseExpr, _impl_.location_),
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonScalarExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonScalarExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonScalarExpr, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonScalarExpr, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonScalarExpr, _impl_.location_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonSerializeExpr, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonSerializeExpr, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonSerializeExpr, _impl_.expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonSerializeExpr, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonSerializeExpr, _impl_.location_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_.exprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_.absent_on_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_.unique_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectConstructor, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _impl_.exprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _impl_.absent_on_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayConstructor, _impl_.location_),
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_.query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_.format_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_.absent_on_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayQueryConstructor, _impl_.location_),
    0,
    1,
    2,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_.output_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_.agg_filter_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_.agg_order_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_.over_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonAggConstructor, _impl_.location_),
    0,
    1,
    ~0u,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _impl_.constructor_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _impl_.absent_on_null_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonObjectAgg, _impl_.unique_),
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayAgg, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayAgg, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayAgg, _impl_.constructor_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayAgg, _impl_.arg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::JsonArrayAgg, _impl_.absent_on_null_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.stmt_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.stmt_location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RawStmt, _impl_.stmt_len_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.select_stmt_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.on_conflict_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.returning_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.with_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InsertStmt, _impl_.override_),
    0,
    ~0u,
    1,
    2,
    ~0u,
    3,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.using_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.returning_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeleteStmt, _impl_.with_clause_),
    0,
    ~0u,
    1,
    ~0u,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.from_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.returning_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::UpdateStmt, _impl_.with_clause_),
    0,
    ~0u,
    1,
    ~0u,
    ~0u,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.source_relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.join_condition_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.merge_when_clauses_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.returning_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::MergeStmt, _impl_.with_clause_),
    0,
    1,
    2,
    ~0u,
    ~0u,
    3,
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.distinct_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.into_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.target_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.from_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.group_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.group_distinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.having_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.window_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.values_lists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.sort_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_offset_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_count_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.limit_option_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.locking_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.with_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.all_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.larg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SelectStmt, _impl_.rarg_),
    ~0u,
    0,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    2,
    ~0u,
    ~0u,
    ~0u,
    3,
    4,
    ~0u,
    ~0u,
    5,
    ~0u,
    ~0u,
    6,
    7,
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.op_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.all_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.larg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.rarg_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_types_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_typmods_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.col_collations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SetOperationStmt, _impl_.group_clauses_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ReturnStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReturnStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ReturnStmt, _impl_.returnval_),
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.indirection_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.nnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.val_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PLAssignStmt, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.schemaname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.authrole_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.schema_elts_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSchemaStmt, _impl_.if_not_exists_),
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.cmds_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableStmt, _impl_.missing_ok_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _impl_.identity_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReplicaIdentityStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.subtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.num_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.newowner_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.def_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableCmd, _impl_.recurse_),
    ~0u,
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterCollationStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterCollationStmt, _impl_.collname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.subtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.def_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDomainStmt, _impl_.missing_ok_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.is_grant_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.targtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.objects_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.privileges_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grantees_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grant_option_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.grantor_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantStmt, _impl_.behavior_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objargs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.objfuncargs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ObjectWithArgs, _impl_.args_unspecified_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _impl_.priv_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AccessPriv, _impl_.cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.granted_roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.grantee_roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.is_grant_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.opt_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.grantor_),
    PROTOBUF_FIELD_OFFSET(::pg_query::GrantRoleStmt, _impl_.behavior_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDefaultPrivilegesStmt, _impl_.action_),
    ~0u,
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.attlist_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.is_from_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.is_program_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.filename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CopyStmt, _impl_.where_clause_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    2,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableSetStmt, _impl_.is_local_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableShowStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::VariableShowStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.table_elts_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.inh_relations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.partbound_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.partspec_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.of_typename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.constraints_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.oncommit_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.access_method_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStmt, _impl_.if_not_exists_),
    0,
    ~0u,
    ~0u,
    1,
    2,
    3,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.contype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.conname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.deferrable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.initdeferred_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.skip_validation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.initially_valid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.is_no_inherit_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.raw_expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.cooked_expr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.generated_when_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.inhcount_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.nulls_not_distinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.keys_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.including_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.exclusions_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.indexname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.indexspace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.reset_default_tblspc_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.access_method_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.pktable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_attrs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.pk_attrs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_matchtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_upd_action_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_del_action_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.fk_del_set_cols_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.old_conpfeqop_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.old_pktable_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::Constraint, _impl_.location_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    2,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.owner_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableSpaceStmt, _impl_.options_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _impl_.tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropTableSpaceStmt, _impl_.missing_ok_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableSpaceOptionsStmt, _impl_.is_reset_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.orig_tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.new_tablespacename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTableMoveAllStmt, _impl_.nowait_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.extname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateExtensionStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _impl_.extname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.extname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.action_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterExtensionContentsStmt, _impl_.object_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.fdwname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.func_options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFdwStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.fdwname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.func_options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFdwStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.servertype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.version_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.fdwname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignServerStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.version_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterForeignServerStmt, _impl_.has_version_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.base_stmt_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateForeignTableStmt, _impl_.options_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.user_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateUserMappingStmt, _impl_.options_),
    0,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.user_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterUserMappingStmt, _impl_.options_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.user_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.servername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropUserMappingStmt, _impl_.missing_ok_),
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.server_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.remote_schema_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.local_schema_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.list_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.table_list_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ImportForeignSchemaStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.policy_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.table_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.cmd_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.permissive_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.qual_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePolicyStmt, _impl_.with_check_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.policy_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.table_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.qual_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPolicyStmt, _impl_.with_check_),
    ~0u,
    0,
    ~0u,
    1,
    2,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.amname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.handler_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateAmStmt, _impl_.amtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.isconstraint_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.trigname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.funcname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.row_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.timing_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.events_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.columns_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.when_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.transition_rels_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.deferrable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.initdeferred_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTrigStmt, _impl_.constrrel_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    2,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.trigname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.eventname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.whenclause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEventTrigStmt, _impl_.funcname_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _impl_.trigname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEventTrigStmt, _impl_.tgenabled_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plhandler_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plinline_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.plvalidator_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePLangStmt, _impl_.pltrusted_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.stmt_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.role_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRoleStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.role_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleStmt, _impl_.action_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.role_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.database_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterRoleSetStmt, _impl_.setstmt_),
    0,
    ~0u,
    1,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropRoleStmt, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.sequence_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.owner_id_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.for_identity_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSeqStmt, _impl_.if_not_exists_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.sequence_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.for_identity_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSeqStmt, _impl_.missing_ok_),
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.oldstyle_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.defnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.definition_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DefineStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.domainname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.coll_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateDomainStmt, _impl_.constraints_),
    ~0u,
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.opclassname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.opfamilyname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.amname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.datatype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.items_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassStmt, _impl_.is_default_),
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.itemtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.number_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.order_family_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.class_args_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpClassItem, _impl_.storedtype_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _impl_.opfamilyname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateOpFamilyStmt, _impl_.amname_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.opfamilyname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.amname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.is_drop_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOpFamilyStmt, _impl_.items_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.objects_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.remove_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropStmt, _impl_.concurrent_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.relations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.restart_seqs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TruncateStmt, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CommentStmt, _impl_.comment_),
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.provider_),
    PROTOBUF_FIELD_OFFSET(::pg_query::SecLabelStmt, _impl_.label_),
    ~0u,
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.portalname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeclareCursorStmt, _impl_.query_),
    ~0u,
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ClosePortalStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ClosePortalStmt, _impl_.portalname_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.direction_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.how_many_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.portalname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FetchStmt, _impl_.ismove_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.idxname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.access_method_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.table_space_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_params_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_including_params_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.exclude_op_names_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.idxcomment_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.index_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_number_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_create_subid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.old_first_relfilelocator_subid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.unique_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.nulls_not_distinct_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.primary_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.isconstraint_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.deferrable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.initdeferred_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.transformed_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.concurrent_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::IndexStmt, _impl_.reset_default_tblspc_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.defnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.stat_types_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.exprs_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.relations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.stxcomment_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.transformed_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateStatsStmt, _impl_.if_not_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::StatsElem, _impl_.expr_),
    ~0u,
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.defnames_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.stxstattarget_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterStatsStmt, _impl_.missing_ok_),
    ~0u,
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.is_procedure_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.funcname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.parameters_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.return_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateFunctionStmt, _impl_.sql_body_),
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    0,
    ~0u,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.arg_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.mode_),
    PROTOBUF_FIELD_OFFSET(::pg_query::FunctionParameter, _impl_.defexpr_),
    ~0u,
    0,
    ~0u,
    1,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.func_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterFunctionStmt, _impl_.actions_),
    ~0u,
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DoStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DoStmt, _impl_.args_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.source_text_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.lang_oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.lang_is_trusted_),
    PROTOBUF_FIELD_OFFSET(::pg_query::InlineCodeBlock, _impl_.atomic_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.funccall_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.funcexpr_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CallStmt, _impl_.outargs_),
    0,
    1,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CallContext, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CallContext, _impl_.atomic_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.rename_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.relation_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.subname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.newname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RenameStmt, _impl_.missing_ok_),
    ~0u,
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.object_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.extname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectDependsStmt, _impl_.remove_),
    ~0u,
    0,
    1,
    2,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.object_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.newschema_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterObjectSchemaStmt, _impl_.missing_ok_),
    ~0u,
    0,
    1,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.object_type_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.object_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOwnerStmt, _impl_.newowner_),
    ~0u,
    0,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _impl_.opername_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterOperatorStmt, _impl_.options_),
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTypeStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.rulename_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.event_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.instead_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.actions_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RuleStmt, _impl_.replace_),
    0,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _impl_.conditionname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::NotifyStmt, _impl_.payload_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ListenStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ListenStmt, _impl_.conditionname_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::UnlistenStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::UnlistenStmt, _impl_.conditionname_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.savepoint_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.gid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.chain_),
    PROTOBUF_FIELD_OFFSET(::pg_query::TransactionStmt, _impl_.location_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _impl_.typevar_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CompositeTypeStmt, _impl_.coldeflist_),
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateEnumStmt, _impl_.vals_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateRangeStmt, _impl_.params_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.old_val_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_neighbor_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.new_val_is_after_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterEnumStmt, _impl_.skip_if_new_val_exists_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.view_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.aliases_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ViewStmt, _impl_.with_check_option_),
    0,
    ~0u,
    1,
    ~0u,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::LoadStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::LoadStmt, _impl_.filename_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _impl_.dbname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatedbStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _impl_.dbname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseRefreshCollStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseRefreshCollStmt, _impl_.dbname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _impl_.dbname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterDatabaseSetStmt, _impl_.setstmt_),
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.dbname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropdbStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSystemStmt, _impl_.setstmt_),
    0,
    PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.indexname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ClusterStmt, _impl_.params_),
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.rels_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumStmt, _impl_.is_vacuumcmd_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.oid_),
    PROTOBUF_FIELD_OFFSET(::pg_query::VacuumRelation, _impl_.va_cols_),
    0,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _impl_.query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ExplainStmt, _impl_.options_),
    0,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.query_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.into_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.objtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.is_select_into_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTableAsStmt, _impl_.if_not_exists_),
    0,
    1,
    ~0u,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.concurrent_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.skip_data_),
    PROTOBUF_FIELD_OFFSET(::pg_query::RefreshMatViewStmt, _impl_.relation_),
    ~0u,
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CheckPointStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DiscardStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DiscardStmt, _impl_.target_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.relations_),
    PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.mode_),
    PROTOBUF_FIELD_OFFSET(::pg_query::LockStmt, _impl_.nowait_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _impl_.constraints_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ConstraintsSetStmt, _impl_.deferred_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReindexStmt, _impl_.params_),
    ~0u,
    0,
    ~0u,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.conversion_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.for_encoding_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.to_encoding_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.func_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateConversionStmt, _impl_.def_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.sourcetype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.targettype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.func_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.context_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateCastStmt, _impl_.inout_),
    0,
    1,
    2,
    ~0u,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.type_name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.lang_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.fromsql_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateTransformStmt, _impl_.tosql_),
    ~0u,
    0,
    ~0u,
    1,
    2,
    PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.argtypes_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PrepareStmt, _impl_.query_),
    ~0u,
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ExecuteStmt, _impl_.params_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _impl_.isall_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DeallocateStmt, _impl_.location_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropOwnedStmt, _impl_.behavior_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _impl_.roles_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ReassignOwnedStmt, _impl_.newrole_),
    ~0u,
    0,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _impl_.dictname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSDictionaryStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.cfgname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.tokentype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.dicts_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.override_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.replace_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterTSConfigurationStmt, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.relation_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.where_clause_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationTable, _impl_.columns_),
    0,
    1,
    ~0u,
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_._has_bits_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.pubobjtype_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.name_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.pubtable_),
    PROTOBUF_FIELD_OFFSET(::pg_query::PublicationObjSpec, _impl_.location_),
    ~0u,
    ~0u,
    0,
    ~0u,
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.pubname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.pubobjects_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreatePublicationStmt, _impl_.for_all_tables_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.pubname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.options_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.pubobjects_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.for_all_tables_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterPublicationStmt, _impl_.action_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.subname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.conninfo_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.publication_),
    PROTOBUF_FIELD_OFFSET(::pg_query::CreateSubscriptionStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.kind_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.subname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.conninfo_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.publication_),
    PROTOBUF_FIELD_OFFSET(::pg_query::AlterSubscriptionStmt, _impl_.options_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.subname_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.missing_ok_),
    PROTOBUF_FIELD_OFFSET(::pg_query::DropSubscriptionStmt, _impl_.behavior_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    ~0u,  // no _inlined_string_donated_
    ~0u,  // no _split_
    ~0u,  // no sizeof(Split)
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.start_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.end_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.token_),
    PROTOBUF_FIELD_OFFSET(::pg_query::ScanToken, _impl_.keyword_kind_),
};

static const ::_pbi::MigrationSchema
    schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
        {0, -1, -1, sizeof(::pg_query::ParseResult)},
        {10, -1, -1, sizeof(::pg_query::ScanResult)},
        {20, -1, -1, sizeof(::pg_query::Node)},
        {297, -1, -1, sizeof(::pg_query::Integer)},
        {306, -1, -1, sizeof(::pg_query::Float)},
        {315, -1, -1, sizeof(::pg_query::Boolean)},
        {324, -1, -1, sizeof(::pg_query::String)},
        {333, -1, -1, sizeof(::pg_query::BitString)},
        {342, -1, -1, sizeof(::pg_query::List)},
        {351, -1, -1, sizeof(::pg_query::OidList)},
        {360, -1, -1, sizeof(::pg_query::IntList)},
        {369, -1, -1, sizeof(::pg_query::A_Const)},
        {385, -1, -1, sizeof(::pg_query::Alias)},
        {395, 410, -1, sizeof(::pg_query::RangeVar)},
        {417, 442, -1, sizeof(::pg_query::TableFunc)},
        {459, 475, -1, sizeof(::pg_query::IntoClause)},
        {483, 500, -1, sizeof(::pg_query::Var)},
        {509, 524, -1, sizeof(::pg_query::Param)},
        {531, 558, -1, sizeof(::pg_query::Aggref)},
        {577, 590, -1, sizeof(::pg_query::GroupingFunc)},
        {595, 615, -1, sizeof(::pg_query::WindowFunc)},
        {627, 640, -1, sizeof(::pg_query::WindowFuncRunCondition)},
        {645, 657, -1, sizeof(::pg_query::MergeSupportFunc)},
        {661, 679, -1, sizeof(::pg_query::SubscriptingRef)},
        {689, 707, -1, sizeof(::pg_query::FuncExpr)},
        {717, 730, -1, sizeof(::pg_query::NamedArgExpr)},
        {735, 751, -1, sizeof(::pg_query::OpExpr)},
        {759, 775, -1, sizeof(::pg_query::DistinctExpr)},
        {783, 799, -1, sizeof(::pg_query::NullIfExpr)},
        {807, 821, -1, sizeof(::pg_query::ScalarArrayOpExpr)},
        {827, 839, -1, sizeof(::pg_query::BoolExpr)},
        {843, 858, -1, sizeof(::pg_query::SubLink)},
        {865, 890, -1, sizeof(::pg_query::SubPlan)},
        {907, 917, -1, sizeof(::pg_query::AlternativeSubPlan)},
        {919, 933, -1, sizeof(::pg_query::FieldSelect)},
        {939, 952, -1, sizeof(::pg_query::FieldStore)},
        {957, 972, -1, sizeof(::pg_query::RelabelType)},
        {979, 993, -1, sizeof(::pg_query::CoerceViaIO)},
        {999, 1015, -1, sizeof(::pg_query::ArrayCoerceExpr)},
        {1023, 1036, -1, sizeof(::pg_query::ConvertRowtypeExpr)},
        {1041, 1053, -1, sizeof(::pg_query::CollateExpr)},
        {1057, 1072, -1, sizeof(::pg_query::CaseExpr)},
        {1079, 1091, -1, sizeof(::pg_query::CaseWhen)},
        {1095, 1107, -1, sizeof(::pg_query::CaseTestExpr)},
        {1111, 1126, -1, sizeof(::pg_query::ArrayExpr)},
        {1133, 1147, -1, sizeof(::pg_query::RowExpr)},
        {1153, 1168, -1, sizeof(::pg_query::RowCompareExpr)},
        {1175, 1188, -1, sizeof(::pg_query::CoalesceExpr)},
        {1193, 1208, -1, sizeof(::pg_query::MinMaxExpr)},
        {1215, 1228, -1, sizeof(::pg_query::SQLValueFunction)},
        {1233, 1252, -1, sizeof(::pg_query::XmlExpr)},
        {1263, -1, -1, sizeof(::pg_query::JsonFormat)},
        {1274, 1285, -1, sizeof(::pg_query::JsonReturning)},
        {1288, 1299, -1, sizeof(::pg_query::JsonValueExpr)},
        {1302, 1319, -1, sizeof(::pg_query::JsonConstructorExpr)},
        {1328, 1341, -1, sizeof(::pg_query::JsonIsPredicate)},
        {1346, 1358, -1, sizeof(::pg_query::JsonBehavior)},
        {1362, 1387, -1, sizeof(::pg_query::JsonExpr)},
        {1404, -1, -1, sizeof(::pg_query::JsonTablePath)},
        {1413, 1427, -1, sizeof(::pg_query::JsonTablePathScan)},
        {1433, 1444, -1, sizeof(::pg_query::JsonTableSiblingJoin)},
        {1447, 1460, -1, sizeof(::pg_query::NullTest)},
        {1465, 1477, -1, sizeof(::pg_query::BooleanTest)},
        {1481, 1495, -1, sizeof(::pg_query::MergeAction)},
        {1501, 1516, -1, sizeof(::pg_query::CoerceToDomain)},
        {1523, 1536, -1, sizeof(::pg_query::CoerceToDomainValue)},
        {1541, 1554, -1, sizeof(::pg_query::SetToDefault)},
        {1559, 1571, -1, sizeof(::pg_query::CurrentOfExpr)},
        {1575, 1586, -1, sizeof(::pg_query::NextValueExpr)},
        {1589, 1601, -1, sizeof(::pg_query::InferenceElem)},
        {1605, 1621, -1, sizeof(::pg_query::TargetEntry)},
        {1629, -1, -1, sizeof(::pg_query::RangeTblRef)},
        {1638, 1655, -1, sizeof(::pg_query::JoinExpr)},
        {1664, 1674, -1, sizeof(::pg_query::FromExpr)},
        {1676, 1692, -1, sizeof(::pg_query::OnConflictExpr)},
        {1700, 1750, -1, sizeof(::pg_query::Query)},
        {1792, -1, -1, sizeof(::pg_query::TypeName)},
        {1808, -1, -1, sizeof(::pg_query::ColumnRef)},
        {1818, -1, -1, sizeof(::pg_query::ParamRef)},
        {1828, 1841, -1, sizeof(::pg_query::A_Expr)},
        {1846, 1857, -1, sizeof(::pg_query::TypeCast)},
        {1860, 1871, -1, sizeof(::pg_query::CollateClause)},
        {1874, -1, -1, sizeof(::pg_query::RoleSpec)},
        {1885, 1904, -1, sizeof(::pg_query::FuncCall)},
        {1915, -1, -1, sizeof(::pg_query::A_Star)},
        {1923, 1934, -1, sizeof(::pg_query::A_Indices)},
        {1937, 1947, -1, sizeof(::pg_query::A_Indirection)},
        {1949, -1, -1, sizeof(::pg_query::A_ArrayExpr)},
        {1959, 1971, -1, sizeof(::pg_query::ResTarget)},
        {1975, 1986, -1, sizeof(::pg_query::MultiAssignRef)},
        {1989, 2002, -1, sizeof(::pg_query::SortBy)},
        {2007, 2023, -1, sizeof(::pg_query::WindowDef)},
        {2031, 2042, -1, sizeof(::pg_query::RangeSubselect)},
        {2045, 2059, -1, sizeof(::pg_query::RangeFunction)},
        {2065, 2080, -1, sizeof(::pg_query::RangeTableFunc)},
        {2087, 2102, -1, sizeof(::pg_query::RangeTableFuncCol)},
        {2109, 2122, -1, sizeof(::pg_query::RangeTableSample)},
        {2127, 2154, -1, sizeof(::pg_query::ColumnDef)},
        {2173, 2184, -1, sizeof(::pg_query::TableLikeClause)},
        {2187, 2203, -1, sizeof(::pg_query::IndexElem)},
        {2211, 2224, -1, sizeof(::pg_query::DefElem)},
        {2229, -1, -1, sizeof(::pg_query::LockingClause)},
        {2240, 2253, -1, sizeof(::pg_query::XmlSerialize)},
        {2258, 2271, -1, sizeof(::pg_query::PartitionElem)},
        {2276, -1, -1, sizeof(::pg_query::PartitionSpec)},
        {2287, -1, -1, sizeof(::pg_query::PartitionBoundSpec)},
        {2303, 2314, -1, sizeof(::pg_query::PartitionRangeDatum)},
        {2317, -1, -1, sizeof(::pg_query::SinglePartitionSpec)},
        {2325, 2336, -1, sizeof(::pg_query::PartitionCmd)},
        {2339, 2379, -1, sizeof(::pg_query::RangeTblEntry)},
        {2411, -1, -1, sizeof(::pg_query::RTEPermissionInfo)},
        {2426, 2441, -1, sizeof(::pg_query::RangeTblFunction)},
        {2448, 2459, -1, sizeof(::pg_query::TableSampleClause)},
        {2462, 2475, -1, sizeof(::pg_query::WithCheckOption)},
        {2480, -1, -1, sizeof(::pg_query::SortGroupClause)},
        {2493, -1, -1, sizeof(::pg_query::GroupingSet)},
        {2504, 2526, -1, sizeof(::pg_query::WindowClause)},
        {2540, -1, -1, sizeof(::pg_query::RowMarkClause)},
        {2552, -1, -1, sizeof(::pg_query::WithClause)},
        {2563, 2575, -1, sizeof(::pg_query::InferClause)},
        {2579, 2592, -1, sizeof(::pg_query::OnConflictClause)},
        {2597, -1, -1, sizeof(::pg_query::CTESearchClause)},
        {2609, 2627, -1, sizeof(::pg_query::CTECycleClause)},
        {2637, 2658, -1, sizeof(::pg_query::CommonTableExpr)},
        {2671, 2685, -1, sizeof(::pg_query::MergeWhenClause)},
        {2691, -1, -1, sizeof(::pg_query::TriggerTransition)},
        {2702, 2712, -1, sizeof(::pg_query::JsonOutput)},
        {2714, 2724, -1, sizeof(::pg_query::JsonArgument)},
        {2726, 2745, -1, sizeof(::pg_query::JsonFuncExpr)},
        {2756, 2768, -1, sizeof(::pg_query::JsonTablePathSpec)},
        {2772, 2788, -1, sizeof(::pg_query::JsonTable)},
        {2796, 2815, -1, sizeof(::pg_query::JsonTableColumn)},
        {2826, 2836, -1, sizeof(::pg_query::JsonKeyValue)},
        {2838, 2850, -1, sizeof(::pg_query::JsonParseExpr)},
        {2854, 2865, -1, sizeof(::pg_query::JsonScalarExpr)},
        {2868, 2879, -1, sizeof(::pg_query::JsonSerializeExpr)},
        {2882, 2895, -1, sizeof(::pg_query::JsonObjectConstructor)},
        {2900, 2912, -1, sizeof(::pg_query::JsonArrayConstructor)},
        {2916, 2929, -1, sizeof(::pg_query::JsonArrayQueryConstructor)},
        {2934, 2947, -1, sizeof(::pg_query::JsonAggConstructor)},
        {2952, 2964, -1, sizeof(::pg_query::JsonObjectAgg)},
        {2968, 2979, -1, sizeof(::pg_query::JsonArrayAgg)},
        {2982, 2993, -1, sizeof(::pg_query::RawStmt)},
        {2996, 3011, -1, sizeof(::pg_query::InsertStmt)},
        {3018, 3031, -1, sizeof(::pg_query::DeleteStmt)},
        {3036, 3050, -1, sizeof(::pg_query::UpdateStmt)},
        {3056, 3070, -1, sizeof(::pg_query::MergeStmt)},
        {3076, 3104, -1, sizeof(::pg_query::SelectStmt)},
        {3124, 3140, -1, sizeof(::pg_query::SetOperationStmt)},
        {3148, 3157, -1, sizeof(::pg_query::ReturnStmt)},
        {3158, 3171, -1, sizeof(::pg_query::PLAssignStmt)},
        {3176, 3188, -1, sizeof(::pg_query::CreateSchemaStmt)},
        {3192, 3204, -1, sizeof(::pg_query::AlterTableStmt)},
        {3208, -1, -1, sizeof(::pg_query::ReplicaIdentityStmt)},
        {3218, 3234, -1, sizeof(::pg_query::AlterTableCmd)},
        {3242, -1, -1, sizeof(::pg_query::AlterCollationStmt)},
        {3251, 3265, -1, sizeof(::pg_query::AlterDomainStmt)},
        {3271, 3288, -1, sizeof(::pg_query::GrantStmt)},
        {3297, -1, -1, sizeof(::pg_query::ObjectWithArgs)},
        {3309, -1, -1, sizeof(::pg_query::AccessPriv)},
        {3319, 3333, -1, sizeof(::pg_query::GrantRoleStmt)},
        {3339, 3349, -1, sizeof(::pg_query::AlterDefaultPrivilegesStmt)},
        {3351, 3367, -1, sizeof(::pg_query::CopyStmt)},
        {3375, -1, -1, sizeof(::pg_query::VariableSetStmt)},
        {3387, -1, -1, sizeof(::pg_query::VariableShowStmt)},
        {3396, 3416, -1, sizeof(::pg_query::CreateStmt)},
        {3428, 3467, -1, sizeof(::pg_query::Constraint)},
        {3498, 3510, -1, sizeof(::pg_query::CreateTableSpaceStmt)},
        {3514, -1, -1, sizeof(::pg_query::DropTableSpaceStmt)},
        {3524, -1, -1, sizeof(::pg_query::AlterTableSpaceOptionsStmt)},
        {3535, -1, -1, sizeof(::pg_query::AlterTableMoveAllStmt)},
        {3548, -1, -1, sizeof(::pg_query::CreateExtensionStmt)},
        {3559, -1, -1, sizeof(::pg_query::AlterExtensionStmt)},
        {3569, 3581, -1, sizeof(::pg_query::AlterExtensionContentsStmt)},
        {3585, -1, -1, sizeof(::pg_query::CreateFdwStmt)},
        {3596, -1, -1, sizeof(::pg_query::AlterFdwStmt)},
        {3607, -1, -1, sizeof(::pg_query::CreateForeignServerStmt)},
        {3621, -1, -1, sizeof(::pg_query::AlterForeignServerStmt)},
        {3633, 3644, -1, sizeof(::pg_query::CreateForeignTableStmt)},
        {3647, 3659, -1, sizeof(::pg_query::CreateUserMappingStmt)},
        {3663, 3674, -1, sizeof(::pg_query::AlterUserMappingStmt)},
        {3677, 3688, -1, sizeof(::pg_query::DropUserMappingStmt)},
        {3691, -1, -1, sizeof(::pg_query::ImportForeignSchemaStmt)},
        {3705, 3720, -1, sizeof(::pg_query::CreatePolicyStmt)},
        {3727, 3740, -1, sizeof(::pg_query::AlterPolicyStmt)},
        {3745, -1, -1, sizeof(::pg_query::CreateAmStmt)},
        {3756, 3779, -1, sizeof(::pg_query::CreateTrigStmt)},
        {3794, -1, -1, sizeof(::pg_query::CreateEventTrigStmt)},
        {3806, -1, -1, sizeof(::pg_query::AlterEventTrigStmt)},
        {3816, -1, -1, sizeof(::pg_query::CreatePLangStmt)},
        {3830, -1, -1, sizeof(::pg_query::CreateRoleStmt)},
        {3841, 3852, -1, sizeof(::pg_query::AlterRoleStmt)},
        {3855, 3866, -1, sizeof(::pg_query::AlterRoleSetStmt)},
        {3869, -1, -1, sizeof(::pg_query::DropRoleStmt)},
        {3879, 3892, -1, sizeof(::pg_query::CreateSeqStmt)},
        {3897, 3909, -1, sizeof(::pg_query::AlterSeqStmt)},
        {3913, -1, -1, sizeof(::pg_query::DefineStmt)},
        {3928, 3940, -1, sizeof(::pg_query::CreateDomainStmt)},
        {3944, 3958, -1, sizeof(::pg_query::CreateOpClassStmt)},
        {3964, 3978, -1, sizeof(::pg_query::CreateOpClassItem)},
        {3984, -1, -1, sizeof(::pg_query::CreateOpFamilyStmt)},
        {3994, -1, -1, sizeof(::pg_query::AlterOpFamilyStmt)},
        {4006, -1, -1, sizeof(::pg_query::DropStmt)},
        {4019, -1, -1, sizeof(::pg_query::TruncateStmt)},
        {4030, 4041, -1, sizeof(::pg_query::CommentStmt)},
        {4044, 4056, -1, sizeof(::pg_query::SecLabelStmt)},
        {4060, 4071, -1, sizeof(::pg_query::DeclareCursorStmt)},
        {4074, -1, -1, sizeof(::pg_query::ClosePortalStmt)},
        {4083, -1, -1, sizeof(::pg_query::FetchStmt)},
        {4095, 4127, -1, sizeof(::pg_query::IndexStmt)},
        {4151, -1, -1, sizeof(::pg_query::CreateStatsStmt)},
        {4166, 4176, -1, sizeof(::pg_query::StatsElem)},
        {4178, 4189, -1, sizeof(::pg_query::AlterStatsStmt)},
        {4192, 4207, -1, sizeof(::pg_query::CreateFunctionStmt)},
        {4214, 4226, -1, sizeof(::pg_query::FunctionParameter)},
        {4230, 4241, -1, sizeof(::pg_query::AlterFunctionStmt)},
        {4244, -1, -1, sizeof(::pg_query::DoStmt)},
        {4253, -1, -1, sizeof(::pg_query::InlineCodeBlock)},
        {4265, 4276, -1, sizeof(::pg_query::CallStmt)},
        {4279, -1, -1, sizeof(::pg_query::CallContext)},
        {4288, 4304, -1, sizeof(::pg_query::RenameStmt)},
        {4312, 4325, -1, sizeof(::pg_query::AlterObjectDependsStmt)},
        {4330, 4343, -1, sizeof(::pg_query::AlterObjectSchemaStmt)},
        {4348, 4360, -1, sizeof(::pg_query::AlterOwnerStmt)},
        {4364, 4374, -1, sizeof(::pg_query::AlterOperatorStmt)},
        {4376, -1, -1, sizeof(::pg_query::AlterTypeStmt)},
        {4386, 4401, -1, sizeof(::pg_query::RuleStmt)},
        {4408, -1, -1, sizeof(::pg_query::NotifyStmt)},
        {4418, -1, -1, sizeof(::pg_query::ListenStmt)},
        {4427, -1, -1, sizeof(::pg_query::UnlistenStmt)},
        {4436, -1, -1, sizeof(::pg_query::TransactionStmt)},
        {4450, 4460, -1, sizeof(::pg_query::CompositeTypeStmt)},
        {4462, -1, -1, sizeof(::pg_query::CreateEnumStmt)},
        {4472, -1, -1, sizeof(::pg_query::CreateRangeStmt)},
        {4482, -1, -1, sizeof(::pg_query::AlterEnumStmt)},
        {4496, 4510, -1, sizeof(::pg_query::ViewStmt)},
        {4516, -1, -1, sizeof(::pg_query::LoadStmt)},
        {4525, -1, -1, sizeof(::pg_query::CreatedbStmt)},
        {4535, -1, -1, sizeof(::pg_query::AlterDatabaseStmt)},
        {4545, -1, -1, sizeof(::pg_query::AlterDatabaseRefreshCollStmt)},
        {4554, 4564, -1, sizeof(::pg_query::AlterDatabaseSetStmt)},
        {4566, -1, -1, sizeof(::pg_query::DropdbStmt)},
        {4577, 4586, -1, sizeof(::pg_query::AlterSystemStmt)},
        {4587, 4598, -1, sizeof(::pg_query::ClusterStmt)},
        {4601, -1, -1, sizeof(::pg_query::VacuumStmt)},
        {4612, 4623, -1, sizeof(::pg_query::VacuumRelation)},
        {4626, 4636, -1, sizeof(::pg_query::ExplainStmt)},
        {4638, 4651, -1, sizeof(::pg_query::CreateTableAsStmt)},
        {4656, 4667, -1, sizeof(::pg_query::RefreshMatViewStmt)},
        {4670, -1, -1, sizeof(::pg_query::CheckPointStmt)},
        {4678, -1, -1, sizeof(::pg_query::DiscardStmt)},
        {4687, -1, -1, sizeof(::pg_query::LockStmt)},
        {4698, -1, -1, sizeof(::pg_query::ConstraintsSetStmt)},
        {4708, 4720, -1, sizeof(::pg_query::ReindexStmt)},
        {4724, -1, -1, sizeof(::pg_query::CreateConversionStmt)},
        {4737, 4750, -1, sizeof(::pg_query::CreateCastStmt)},
        {4755, 4768, -1, sizeof(::pg_query::CreateTransformStmt)},
        {4773, 4784, -1, sizeof(::pg_query::PrepareStmt)},
        {4787, -1, -1, sizeof(::pg_query::ExecuteStmt)},
        {4797, -1, -1, sizeof(::pg_query::DeallocateStmt)},
        {4808, -1, -1, sizeof(::pg_query::DropOwnedStmt)},
        {4818, 4828, -1, sizeof(::pg_query::ReassignOwnedStmt)},
        {4830, -1, -1, sizeof(::pg_query::AlterTSDictionaryStmt)},
        {4840, -1, -1, sizeof(::pg_query::AlterTSConfigurationStmt)},
        {4855, 4866, -1, sizeof(::pg_query::PublicationTable)},
        {4869, 4881, -1, sizeof(::pg_query::PublicationObjSpec)},
        {4885, -1, -1, sizeof(::pg_query::CreatePublicationStmt)},
        {4897, -1, -1, sizeof(::pg_query::AlterPublicationStmt)},
        {4910, -1, -1, sizeof(::pg_query::CreateSubscriptionStmt)},
        {4922, -1, -1, sizeof(::pg_query::AlterSubscriptionStmt)},
        {4935, -1, -1, sizeof(::pg_query::DropSubscriptionStmt)},
        {4946, -1, -1, sizeof(::pg_query::ScanToken)},
};

static const ::_pb::Message* const file_default_instances[] = {
    &::pg_query::_ParseResult_default_instance_._instance,
    &::pg_query::_ScanResult_default_instance_._instance,
    &::pg_query::_Node_default_instance_._instance,
    &::pg_query::_Integer_default_instance_._instance,
    &::pg_query::_Float_default_instance_._instance,
    &::pg_query::_Boolean_default_instance_._instance,
    &::pg_query::_String_default_instance_._instance,
    &::pg_query::_BitString_default_instance_._instance,
    &::pg_query::_List_default_instance_._instance,
    &::pg_query::_OidList_default_instance_._instance,
    &::pg_query::_IntList_default_instance_._instance,
    &::pg_query::_A_Const_default_instance_._instance,
    &::pg_query::_Alias_default_instance_._instance,
    &::pg_query::_RangeVar_default_instance_._instance,
    &::pg_query::_TableFunc_default_instance_._instance,
    &::pg_query::_IntoClause_default_instance_._instance,
    &::pg_query::_Var_default_instance_._instance,
    &::pg_query::_Param_default_instance_._instance,
    &::pg_query::_Aggref_default_instance_._instance,
    &::pg_query::_GroupingFunc_default_instance_._instance,
    &::pg_query::_WindowFunc_default_instance_._instance,
    &::pg_query::_WindowFuncRunCondition_default_instance_._instance,
    &::pg_query::_MergeSupportFunc_default_instance_._instance,
    &::pg_query::_SubscriptingRef_default_instance_._instance,
    &::pg_query::_FuncExpr_default_instance_._instance,
    &::pg_query::_NamedArgExpr_default_instance_._instance,
    &::pg_query::_OpExpr_default_instance_._instance,
    &::pg_query::_DistinctExpr_default_instance_._instance,
    &::pg_query::_NullIfExpr_default_instance_._instance,
    &::pg_query::_ScalarArrayOpExpr_default_instance_._instance,
    &::pg_query::_BoolExpr_default_instance_._instance,
    &::pg_query::_SubLink_default_instance_._instance,
    &::pg_query::_SubPlan_default_instance_._instance,
    &::pg_query::_AlternativeSubPlan_default_instance_._instance,
    &::pg_query::_FieldSelect_default_instance_._instance,
    &::pg_query::_FieldStore_default_instance_._instance,
    &::pg_query::_RelabelType_default_instance_._instance,
    &::pg_query::_CoerceViaIO_default_instance_._instance,
    &::pg_query::_ArrayCoerceExpr_default_instance_._instance,
    &::pg_query::_ConvertRowtypeExpr_default_instance_._instance,
    &::pg_query::_CollateExpr_default_instance_._instance,
    &::pg_query::_CaseExpr_default_instance_._instance,
    &::pg_query::_CaseWhen_default_instance_._instance,
    &::pg_query::_CaseTestExpr_default_instance_._instance,
    &::pg_query::_ArrayExpr_default_instance_._instance,
    &::pg_query::_RowExpr_default_instance_._instance,
    &::pg_query::_RowCompareExpr_default_instance_._instance,
    &::pg_query::_CoalesceExpr_default_instance_._instance,
    &::pg_query::_MinMaxExpr_default_instance_._instance,
    &::pg_query::_SQLValueFunction_default_instance_._instance,
    &::pg_query::_XmlExpr_default_instance_._instance,
    &::pg_query::_JsonFormat_default_instance_._instance,
    &::pg_query::_JsonReturning_default_instance_._instance,
    &::pg_query::_JsonValueExpr_default_instance_._instance,
    &::pg_query::_JsonConstructorExpr_default_instance_._instance,
    &::pg_query::_JsonIsPredicate_default_instance_._instance,
    &::pg_query::_JsonBehavior_default_instance_._instance,
    &::pg_query::_JsonExpr_default_instance_._instance,
    &::pg_query::_JsonTablePath_default_instance_._instance,
    &::pg_query::_JsonTablePathScan_default_instance_._instance,
    &::pg_query::_JsonTableSiblingJoin_default_instance_._instance,
    &::pg_query::_NullTest_default_instance_._instance,
    &::pg_query::_BooleanTest_default_instance_._instance,
    &::pg_query::_MergeAction_default_instance_._instance,
    &::pg_query::_CoerceToDomain_default_instance_._instance,
    &::pg_query::_CoerceToDomainValue_default_instance_._instance,
    &::pg_query::_SetToDefault_default_instance_._instance,
    &::pg_query::_CurrentOfExpr_default_instance_._instance,
    &::pg_query::_NextValueExpr_default_instance_._instance,
    &::pg_query::_InferenceElem_default_instance_._instance,
    &::pg_query::_TargetEntry_default_instance_._instance,
    &::pg_query::_RangeTblRef_default_instance_._instance,
    &::pg_query::_JoinExpr_default_instance_._instance,
    &::pg_query::_FromExpr_default_instance_._instance,
    &::pg_query::_OnConflictExpr_default_instance_._instance,
    &::pg_query::_Query_default_instance_._instance,
    &::pg_query::_TypeName_default_instance_._instance,
    &::pg_query::_ColumnRef_default_instance_._instance,
    &::pg_query::_ParamRef_default_instance_._instance,
    &::pg_query::_A_Expr_default_instance_._instance,
    &::pg_query::_TypeCast_default_instance_._instance,
    &::pg_query::_CollateClause_default_instance_._instance,
    &::pg_query::_RoleSpec_default_instance_._instance,
    &::pg_query::_FuncCall_default_instance_._instance,
    &::pg_query::_A_Star_default_instance_._instance,
    &::pg_query::_A_Indices_default_instance_._instance,
    &::pg_query::_A_Indirection_default_instance_._instance,
    &::pg_query::_A_ArrayExpr_default_instance_._instance,
    &::pg_query::_ResTarget_default_instance_._instance,
    &::pg_query::_MultiAssignRef_default_instance_._instance,
    &::pg_query::_SortBy_default_instance_._instance,
    &::pg_query::_WindowDef_default_instance_._instance,
    &::pg_query::_RangeSubselect_default_instance_._instance,
    &::pg_query::_RangeFunction_default_instance_._instance,
    &::pg_query::_RangeTableFunc_default_instance_._instance,
    &::pg_query::_RangeTableFuncCol_default_instance_._instance,
    &::pg_query::_RangeTableSample_default_instance_._instance,
    &::pg_query::_ColumnDef_default_instance_._instance,
    &::pg_query::_TableLikeClause_default_instance_._instance,
    &::pg_query::_IndexElem_default_instance_._instance,
    &::pg_query::_DefElem_default_instance_._instance,
    &::pg_query::_LockingClause_default_instance_._instance,
    &::pg_query::_XmlSerialize_default_instance_._instance,
    &::pg_query::_PartitionElem_default_instance_._instance,
    &::pg_query::_PartitionSpec_default_instance_._instance,
    &::pg_query::_PartitionBoundSpec_default_instance_._instance,
    &::pg_query::_PartitionRangeDatum_default_instance_._instance,
    &::pg_query::_SinglePartitionSpec_default_instance_._instance,
    &::pg_query::_PartitionCmd_default_instance_._instance,
    &::pg_query::_RangeTblEntry_default_instance_._instance,
    &::pg_query::_RTEPermissionInfo_default_instance_._instance,
    &::pg_query::_RangeTblFunction_default_instance_._instance,
    &::pg_query::_TableSampleClause_default_instance_._instance,
    &::pg_query::_WithCheckOption_default_instance_._instance,
    &::pg_query::_SortGroupClause_default_instance_._instance,
    &::pg_query::_GroupingSet_default_instance_._instance,
    &::pg_query::_WindowClause_default_instance_._instance,
    &::pg_query::_RowMarkClause_default_instance_._instance,
    &::pg_query::_WithClause_default_instance_._instance,
    &::pg_query::_InferClause_default_instance_._instance,
    &::pg_query::_OnConflictClause_default_instance_._instance,
    &::pg_query::_CTESearchClause_default_instance_._instance,
    &::pg_query::_CTECycleClause_default_instance_._instance,
    &::pg_query::_CommonTableExpr_default_instance_._instance,
    &::pg_query::_MergeWhenClause_default_instance_._instance,
    &::pg_query::_TriggerTransition_default_instance_._instance,
    &::pg_query::_JsonOutput_default_instance_._instance,
    &::pg_query::_JsonArgument_default_instance_._instance,
    &::pg_query::_JsonFuncExpr_default_instance_._instance,
    &::pg_query::_JsonTablePathSpec_default_instance_._instance,
    &::pg_query::_JsonTable_default_instance_._instance,
    &::pg_query::_JsonTableColumn_default_instance_._instance,
    &::pg_query::_JsonKeyValue_default_instance_._instance,
    &::pg_query::_JsonParseExpr_default_instance_._instance,
    &::pg_query::_JsonScalarExpr_default_instance_._instance,
    &::pg_query::_JsonSerializeExpr_default_instance_._instance,
    &::pg_query::_JsonObjectConstructor_default_instance_._instance,
    &::pg_query::_JsonArrayConstructor_default_instance_._instance,
    &::pg_query::_JsonArrayQueryConstructor_default_instance_._instance,
    &::pg_query::_JsonAggConstructor_default_instance_._instance,
    &::pg_query::_JsonObjectAgg_default_instance_._instance,
    &::pg_query::_JsonArrayAgg_default_instance_._instance,
    &::pg_query::_RawStmt_default_instance_._instance,
    &::pg_query::_InsertStmt_default_instance_._instance,
    &::pg_query::_DeleteStmt_default_instance_._instance,
    &::pg_query::_UpdateStmt_default_instance_._instance,
    &::pg_query::_MergeStmt_default_instance_._instance,
    &::pg_query::_SelectStmt_default_instance_._instance,
    &::pg_query::_SetOperationStmt_default_instance_._instance,
    &::pg_query::_ReturnStmt_default_instance_._instance,
    &::pg_query::_PLAssignStmt_default_instance_._instance,
    &::pg_query::_CreateSchemaStmt_default_instance_._instance,
    &::pg_query::_AlterTableStmt_default_instance_._instance,
    &::pg_query::_ReplicaIdentityStmt_default_instance_._instance,
    &::pg_query::_AlterTableCmd_default_instance_._instance,
    &::pg_query::_AlterCollationStmt_default_instance_._instance,
    &::pg_query::_AlterDomainStmt_default_instance_._instance,
    &::pg_query::_GrantStmt_default_instance_._instance,
    &::pg_query::_ObjectWithArgs_default_instance_._instance,
    &::pg_query::_AccessPriv_default_instance_._instance,
    &::pg_query::_GrantRoleStmt_default_instance_._instance,
    &::pg_query::_AlterDefaultPrivilegesStmt_default_instance_._instance,
    &::pg_query::_CopyStmt_default_instance_._instance,
    &::pg_query::_VariableSetStmt_default_instance_._instance,
    &::pg_query::_VariableShowStmt_default_instance_._instance,
    &::pg_query::_CreateStmt_default_instance_._instance,
    &::pg_query::_Constraint_default_instance_._instance,
    &::pg_query::_CreateTableSpaceStmt_default_instance_._instance,
    &::pg_query::_DropTableSpaceStmt_default_instance_._instance,
    &::pg_query::_AlterTableSpaceOptionsStmt_default_instance_._instance,
    &::pg_query::_AlterTableMoveAllStmt_default_instance_._instance,
    &::pg_query::_CreateExtensionStmt_default_instance_._instance,
    &::pg_query::_AlterExtensionStmt_default_instance_._instance,
    &::pg_query::_AlterExtensionContentsStmt_default_instance_._instance,
    &::pg_query::_CreateFdwStmt_default_instance_._instance,
    &::pg_query::_AlterFdwStmt_default_instance_._instance,
    &::pg_query::_CreateForeignServerStmt_default_instance_._instance,
    &::pg_query::_AlterForeignServerStmt_default_instance_._instance,
    &::pg_query::_CreateForeignTableStmt_default_instance_._instance,
    &::pg_query::_CreateUserMappingStmt_default_instance_._instance,
    &::pg_query::_AlterUserMappingStmt_default_instance_._instance,
    &::pg_query::_DropUserMappingStmt_default_instance_._instance,
    &::pg_query::_ImportForeignSchemaStmt_default_instance_._instance,
    &::pg_query::_CreatePolicyStmt_default_instance_._instance,
    &::pg_query::_AlterPolicyStmt_default_instance_._instance,
    &::pg_query::_CreateAmStmt_default_instance_._instance,
    &::pg_query::_CreateTrigStmt_default_instance_._instance,
    &::pg_query::_CreateEventTrigStmt_default_instance_._instance,
    &::pg_query::_AlterEventTrigStmt_default_instance_._instance,
    &::pg_query::_CreatePLangStmt_default_instance_._instance,
    &::pg_query::_CreateRoleStmt_default_instance_._instance,
    &::pg_query::_AlterRoleStmt_default_instance_._instance,
    &::pg_query::_AlterRoleSetStmt_default_instance_._instance,
    &::pg_query::_DropRoleStmt_default_instance_._instance,
    &::pg_query::_CreateSeqStmt_default_instance_._instance,
    &::pg_query::_AlterSeqStmt_default_instance_._instance,
    &::pg_query::_DefineStmt_default_instance_._instance,
    &::pg_query::_CreateDomainStmt_default_instance_._instance,
    &::pg_query::_CreateOpClassStmt_default_instance_._instance,
    &::pg_query::_CreateOpClassItem_default_instance_._instance,
    &::pg_query::_CreateOpFamilyStmt_default_instance_._instance,
    &::pg_query::_AlterOpFamilyStmt_default_instance_._instance,
    &::pg_query::_DropStmt_default_instance_._instance,
    &::pg_query::_TruncateStmt_default_instance_._instance,
    &::pg_query::_CommentStmt_default_instance_._instance,
    &::pg_query::_SecLabelStmt_default_instance_._instance,
    &::pg_query::_DeclareCursorStmt_default_instance_._instance,
    &::pg_query::_ClosePortalStmt_default_instance_._instance,
    &::pg_query::_FetchStmt_default_instance_._instance,
    &::pg_query::_IndexStmt_default_instance_._instance,
    &::pg_query::_CreateStatsStmt_default_instance_._instance,
    &::pg_query::_StatsElem_default_instance_._instance,
    &::pg_query::_AlterStatsStmt_default_instance_._instance,
    &::pg_query::_CreateFunctionStmt_default_instance_._instance,
    &::pg_query::_FunctionParameter_default_instance_._instance,
    &::pg_query::_AlterFunctionStmt_default_instance_._instance,
    &::pg_query::_DoStmt_default_instance_._instance,
    &::pg_query::_InlineCodeBlock_default_instance_._instance,
    &::pg_query::_CallStmt_default_instance_._instance,
    &::pg_query::_CallContext_default_instance_._instance,
    &::pg_query::_RenameStmt_default_instance_._instance,
    &::pg_query::_AlterObjectDependsStmt_default_instance_._instance,
    &::pg_query::_AlterObjectSchemaStmt_default_instance_._instance,
    &::pg_query::_AlterOwnerStmt_default_instance_._instance,
    &::pg_query::_AlterOperatorStmt_default_instance_._instance,
    &::pg_query::_AlterTypeStmt_default_instance_._instance,
    &::pg_query::_RuleStmt_default_instance_._instance,
    &::pg_query::_NotifyStmt_default_instance_._instance,
    &::pg_query::_ListenStmt_default_instance_._instance,
    &::pg_query::_UnlistenStmt_default_instance_._instance,
    &::pg_query::_TransactionStmt_default_instance_._instance,
    &::pg_query::_CompositeTypeStmt_default_instance_._instance,
    &::pg_query::_CreateEnumStmt_default_instance_._instance,
    &::pg_query::_CreateRangeStmt_default_instance_._instance,
    &::pg_query::_AlterEnumStmt_default_instance_._instance,
    &::pg_query::_ViewStmt_default_instance_._instance,
    &::pg_query::_LoadStmt_default_instance_._instance,
    &::pg_query::_CreatedbStmt_default_instance_._instance,
    &::pg_query::_AlterDatabaseStmt_default_instance_._instance,
    &::pg_query::_AlterDatabaseRefreshCollStmt_default_instance_._instance,
    &::pg_query::_AlterDatabaseSetStmt_default_instance_._instance,
    &::pg_query::_DropdbStmt_default_instance_._instance,
    &::pg_query::_AlterSystemStmt_default_instance_._instance,
    &::pg_query::_ClusterStmt_default_instance_._instance,
    &::pg_query::_VacuumStmt_default_instance_._instance,
    &::pg_query::_VacuumRelation_default_instance_._instance,
    &::pg_query::_ExplainStmt_default_instance_._instance,
    &::pg_query::_CreateTableAsStmt_default_instance_._instance,
    &::pg_query::_RefreshMatViewStmt_default_instance_._instance,
    &::pg_query::_CheckPointStmt_default_instance_._instance,
    &::pg_query::_DiscardStmt_default_instance_._instance,
    &::pg_query::_LockStmt_default_instance_._instance,
    &::pg_query::_ConstraintsSetStmt_default_instance_._instance,
    &::pg_query::_ReindexStmt_default_instance_._instance,
    &::pg_query::_CreateConversionStmt_default_instance_._instance,
    &::pg_query::_CreateCastStmt_default_instance_._instance,
    &::pg_query::_CreateTransformStmt_default_instance_._instance,
    &::pg_query::_PrepareStmt_default_instance_._instance,
    &::pg_query::_ExecuteStmt_default_instance_._instance,
    &::pg_query::_DeallocateStmt_default_instance_._instance,
    &::pg_query::_DropOwnedStmt_default_instance_._instance,
    &::pg_query::_ReassignOwnedStmt_default_instance_._instance,
    &::pg_query::_AlterTSDictionaryStmt_default_instance_._instance,
    &::pg_query::_AlterTSConfigurationStmt_default_instance_._instance,
    &::pg_query::_PublicationTable_default_instance_._instance,
    &::pg_query::_PublicationObjSpec_default_instance_._instance,
    &::pg_query::_CreatePublicationStmt_default_instance_._instance,
    &::pg_query::_AlterPublicationStmt_default_instance_._instance,
    &::pg_query::_CreateSubscriptionStmt_default_instance_._instance,
    &::pg_query::_AlterSubscriptionStmt_default_instance_._instance,
    &::pg_query::_DropSubscriptionStmt_default_instance_._instance,
    &::pg_query::_ScanToken_default_instance_._instance,
};
const char descriptor_table_protodef_protobuf_2fpg_5fquery_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
    '\n', '\027', 'p', 'r', 'o', 't', 'o', 'b', 'u', 'f', '/', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'p', 'r', 'o', 't', 'o', 
    '\022', '\010', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '\"', '@', '\n', '\013', 'P', 'a', 'r', 's', 'e', 'R', 'e', 's', 'u', 'l', 't', 
    '\022', '\017', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\005', '\022', ' ', '\n', '\005', 's', 't', 'm', 't', 
    's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'w', 'S', 't', 'm', 
    't', '\"', 'B', '\n', '\n', 'S', 'c', 'a', 'n', 'R', 'e', 's', 'u', 'l', 't', '\022', '\017', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 
    'n', '\030', '\001', ' ', '\001', '(', '\005', '\022', '#', '\n', '\006', 't', 'o', 'k', 'e', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\023', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'c', 'a', 'n', 'T', 'o', 'k', 'e', 'n', '\"', '\325', '\216', '\001', '\n', '\004', 
    'N', 'o', 'd', 'e', '\022', '\'', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\001', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'H', '\000', 'R', '\005', 'A', 'l', 'i', 'a', 's', '\022', '1', '\n', '\t', 'r', 
    'a', 'n', 'g', 'e', '_', 'v', 'a', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'H', '\000', 'R', '\010', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', '\022', '4', '\n', '\n', 
    't', 'a', 'b', 'l', 'e', '_', 'f', 'u', 'n', 'c', '\030', '\003', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'H', '\000', 'R', '\t', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 
    '\022', '7', '\n', '\013', 'i', 'n', 't', 'o', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\n', 'I', 'n', 't', 
    'o', 'C', 'l', 'a', 'u', 's', 'e', '\022', '!', '\n', '\003', 'v', 'a', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\r', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'H', '\000', 'R', '\003', 'V', 'a', 'r', '\022', '\'', '\n', '\005', 'p', 'a', 'r', 'a', 
    'm', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 'a', 'm', 'H', 
    '\000', 'R', '\005', 'P', 'a', 'r', 'a', 'm', '\022', '*', '\n', '\006', 'a', 'g', 'g', 'r', 'e', 'f', '\030', '\007', ' ', '\001', '(', '\013', '2', 
    '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'g', 'g', 'r', 'e', 'f', 'H', '\000', 'R', '\006', 'A', 'g', 'g', 'r', 
    'e', 'f', '\022', '=', '\n', '\r', 'g', 'r', 'o', 'u', 'p', 'i', 'n', 'g', '_', 'f', 'u', 'n', 'c', '\030', '\010', ' ', '\001', '(', '\013', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'F', 'u', 'n', 'c', 'H', 
    '\000', 'R', '\014', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'F', 'u', 'n', 'c', '\022', '7', '\n', '\013', 'w', 'i', 'n', 'd', 'o', 'w', 
    '_', 'f', 'u', 'n', 'c', '\030', '\t', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 
    'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', 'H', '\000', 'R', '\n', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', '\022', ']', '\n', 
    '\031', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'f', 'u', 'n', 'c', '_', 'r', 'u', 'n', '_', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 
    'n', '\030', '\n', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 
    'F', 'u', 'n', 'c', 'R', 'u', 'n', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\026', 'W', 'i', 'n', 'd', 'o', 
    'w', 'F', 'u', 'n', 'c', 'R', 'u', 'n', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', 'J', '\n', '\022', 'm', 'e', 'r', 'g', 
    'e', '_', 's', 'u', 'p', 'p', 'o', 'r', 't', '_', 'f', 'u', 'n', 'c', '\030', '\013', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'S', 'u', 'p', 'p', 'o', 'r', 't', 'F', 'u', 'n', 'c', 'H', '\000', 
    'R', '\020', 'M', 'e', 'r', 'g', 'e', 'S', 'u', 'p', 'p', 'o', 'r', 't', 'F', 'u', 'n', 'c', '\022', 'F', '\n', '\020', 's', 'u', 'b', 
    's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', '_', 'r', 'e', 'f', '\030', '\014', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', 'R', 'e', 'f', 'H', '\000', 'R', '\017', 
    'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', 'R', 'e', 'f', '\022', '1', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'e', 
    'x', 'p', 'r', '\030', '\r', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 
    'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', '\022', '>', '\n', '\016', 'n', 'a', 'm', 'e', 'd', 
    '_', 'a', 'r', 'g', '_', 'e', 'x', 'p', 'r', '\030', '\016', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'a', 'm', 'e', 'd', 'A', 'r', 'g', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'N', 'a', 'm', 'e', 'd', 'A', 'r', 
    'g', 'E', 'x', 'p', 'r', '\022', '+', '\n', '\007', 'o', 'p', '_', 'e', 'x', 'p', 'r', '\030', '\017', ' ', '\001', '(', '\013', '2', '\020', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'p', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\006', 'O', 'p', 'E', 'x', 'p', 'r', 
    '\022', '=', '\n', '\r', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'e', 'x', 'p', 'r', '\030', '\020', ' ', '\001', '(', '\013', '2', '\026', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', 'E', 'x', 'p', 'r', 'H', '\000', 'R', 
    '\014', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', 'E', 'x', 'p', 'r', '\022', '8', '\n', '\014', 'n', 'u', 'l', 'l', '_', 'i', 'f', '_', 
    'e', 'x', 'p', 'r', '\030', '\021', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 
    'l', 'I', 'f', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\n', 'N', 'u', 'l', 'l', 'I', 'f', 'E', 'x', 'p', 'r', '\022', 'N', '\n', '\024', 
    's', 'c', 'a', 'l', 'a', 'r', '_', 'a', 'r', 'r', 'a', 'y', '_', 'o', 'p', '_', 'e', 'x', 'p', 'r', '\030', '\022', ' ', '\001', '(', 
    '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'c', 'a', 'l', 'a', 'r', 'A', 'r', 'r', 'a', 'y', 'O', 
    'p', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\021', 'S', 'c', 'a', 'l', 'a', 'r', 'A', 'r', 'r', 'a', 'y', 'O', 'p', 'E', 'x', 'p', 
    'r', '\022', '1', '\n', '\t', 'b', 'o', 'o', 'l', '_', 'e', 'x', 'p', 'r', '\030', '\023', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'B', 'o', 'o', 'l', 'E', 'x', 
    'p', 'r', '\022', '.', '\n', '\010', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '\030', '\024', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'H', '\000', 'R', '\007', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 
    '\022', '.', '\n', '\010', 's', 'u', 'b', '_', 'p', 'l', 'a', 'n', '\030', '\025', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'P', 'l', 'a', 'n', 'H', '\000', 'R', '\007', 'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', 'P', 
    '\n', '\024', 'a', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', '_', 's', 'u', 'b', '_', 'p', 'l', 'a', 'n', '\030', '\026', ' ', 
    '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 
    'e', 'S', 'u', 'b', 'P', 'l', 'a', 'n', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', 'S', 'u', 
    'b', 'P', 'l', 'a', 'n', '\022', ':', '\n', '\014', 'f', 'i', 'e', 'l', 'd', '_', 's', 'e', 'l', 'e', 'c', 't', '\030', '\027', ' ', '\001', 
    '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'i', 'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', 
    'H', '\000', 'R', '\013', 'F', 'i', 'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', '\022', '7', '\n', '\013', 'f', 'i', 'e', 'l', 'd', '_', 
    's', 't', 'o', 'r', 'e', '\030', '\030', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'i', 
    'e', 'l', 'd', 'S', 't', 'o', 'r', 'e', 'H', '\000', 'R', '\n', 'F', 'i', 'e', 'l', 'd', 'S', 't', 'o', 'r', 'e', '\022', ':', '\n', 
    '\014', 'r', 'e', 'l', 'a', 'b', 'e', 'l', '_', 't', 'y', 'p', 'e', '\030', '\031', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'l', 'a', 'b', 'e', 'l', 'T', 'y', 'p', 'e', 'H', '\000', 'R', '\013', 'R', 'e', 'l', 'a', 
    'b', 'e', 'l', 'T', 'y', 'p', 'e', '\022', ';', '\n', '\r', 'c', 'o', 'e', 'r', 'c', 'e', '_', 'v', 'i', 'a', '_', 'i', 'o', '\030', 
    '\032', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 
    'a', 'I', 'O', 'H', '\000', 'R', '\013', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 'a', 'I', 'O', '\022', 'G', '\n', '\021', 'a', 'r', 'r', 
    'a', 'y', '_', 'c', 'o', 'e', 'r', 'c', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\033', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'e', 'r', 'c', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', 
    '\017', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'e', 'r', 'c', 'e', 'E', 'x', 'p', 'r', '\022', 'P', '\n', '\024', 'c', 'o', 'n', 'v', 'e', 
    'r', 't', '_', 'r', 'o', 'w', 't', 'y', 'p', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\034', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 'v', 'e', 'r', 't', 'R', 'o', 'w', 't', 'y', 'p', 'e', 'E', 'x', 'p', 
    'r', 'H', '\000', 'R', '\022', 'C', 'o', 'n', 'v', 'e', 'r', 't', 'R', 'o', 'w', 't', 'y', 'p', 'e', 'E', 'x', 'p', 'r', '\022', ':', 
    '\n', '\014', 'c', 'o', 'l', 'l', 'a', 't', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\035', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\013', 'C', 'o', 'l', 
    'l', 'a', 't', 'e', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'c', 'a', 's', 'e', '_', 'e', 'x', 'p', 'r', '\030', '\036', ' ', '\001', 
    '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 's', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', 
    '\010', 'C', 'a', 's', 'e', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'c', 'a', 's', 'e', '_', 'w', 'h', 'e', 'n', '\030', '\037', ' ', 
    '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 's', 'e', 'W', 'h', 'e', 'n', 'H', '\000', 
    'R', '\010', 'C', 'a', 's', 'e', 'W', 'h', 'e', 'n', '\022', '>', '\n', '\016', 'c', 'a', 's', 'e', '_', 't', 'e', 's', 't', '_', 'e', 
    'x', 'p', 'r', '\030', ' ', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 's', 'e', 
    'T', 'e', 's', 't', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'C', 'a', 's', 'e', 'T', 'e', 's', 't', 'E', 'x', 'p', 'r', '\022', 
    '4', '\n', '\n', 'a', 'r', 'r', 'a', 'y', '_', 'e', 'x', 'p', 'r', '\030', '!', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\t', 'A', 'r', 'r', 'a', 'y', 'E', 
    'x', 'p', 'r', '\022', '.', '\n', '\010', 'r', 'o', 'w', '_', 'e', 'x', 'p', 'r', '\030', '\"', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\007', 'R', 'o', 'w', 'E', 'x', 'p', 
    'r', '\022', 'D', '\n', '\020', 'r', 'o', 'w', '_', 'c', 'o', 'm', 'p', 'a', 'r', 'e', '_', 'e', 'x', 'p', 'r', '\030', '#', ' ', '\001', 
    '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'E', 
    'x', 'p', 'r', 'H', '\000', 'R', '\016', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'E', 'x', 'p', 'r', '\022', '=', '\n', '\r', 
    'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', '_', 'e', 'x', 'p', 'r', '\030', '$', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'C', 'o', 'a', 
    'l', 'e', 's', 'c', 'e', 'E', 'x', 'p', 'r', '\022', '8', '\n', '\014', 'm', 'i', 'n', '_', 'm', 'a', 'x', '_', 'e', 'x', 'p', 'r', 
    '\030', '%', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'i', 'n', 'M', 'a', 'x', 'E', 
    'x', 'p', 'r', 'H', '\000', 'R', '\n', 'M', 'i', 'n', 'M', 'a', 'x', 'E', 'x', 'p', 'r', '\022', 'I', '\n', '\021', 's', 'q', 'l', 'v', 
    'a', 'l', 'u', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', '&', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', 
    '\020', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '.', '\n', '\010', 'x', 'm', 'l', '_', 
    'e', 'x', 'p', 'r', '\030', '\'', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 
    'E', 'x', 'p', 'r', 'H', '\000', 'R', '\007', 'X', 'm', 'l', 'E', 'x', 'p', 'r', '\022', '7', '\n', '\013', 'j', 's', 'o', 'n', '_', 'f', 
    'o', 'r', 'm', 'a', 't', '\030', '(', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 
    'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'H', '\000', 'R', '\n', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', '\022', '@', '\n', 
    '\016', 'j', 's', 'o', 'n', '_', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\030', ')', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'H', '\000', 'R', '\r', 
    'J', 's', 'o', 'n', 'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\022', 'A', '\n', '\017', 'j', 's', 'o', 'n', '_', 'v', 'a', 'l', 
    'u', 'e', '_', 'e', 'x', 'p', 'r', '\030', '*', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\r', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 
    'e', 'E', 'x', 'p', 'r', '\022', 'S', '\n', '\025', 'j', 's', 'o', 'n', '_', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 
    '_', 'e', 'x', 'p', 'r', '\030', '+', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 
    'o', 'n', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\023', 'J', 's', 'o', 'n', 
    'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'E', 'x', 'p', 'r', '\022', 'G', '\n', '\021', 'j', 's', 'o', 'n', '_', 'i', 
    's', '_', 'p', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', '\030', ',', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'I', 's', 'P', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', 'H', '\000', 'R', '\017', 'J', 's', 
    'o', 'n', 'I', 's', 'P', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', '\022', '=', '\n', '\r', 'j', 's', 'o', 'n', '_', 'b', 'e', 'h', 
    'a', 'v', 'i', 'o', 'r', '\030', '-', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 
    'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'H', '\000', 'R', '\014', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 
    'r', '\022', '1', '\n', '\t', 'j', 's', 'o', 'n', '_', 'e', 'x', 'p', 'r', '\030', '.', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'J', 's', 'o', 'n', 'E', 'x', 
    'p', 'r', '\022', 'A', '\n', '\017', 'j', 's', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 'p', 'a', 't', 'h', '\030', '/', ' ', '\001', 
    '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 
    't', 'h', 'H', '\000', 'R', '\r', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', '\022', 'N', '\n', '\024', 'j', 's', 
    'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 'p', 'a', 't', 'h', '_', 's', 'c', 'a', 'n', '\030', '0', ' ', '\001', '(', '\013', '2', 
    '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 'S', 
    'c', 'a', 'n', 'H', '\000', 'R', '\021', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 'S', 'c', 'a', 'n', '\022', 
    'W', '\n', '\027', 'j', 's', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'i', 'b', 'l', 'i', 'n', 'g', '_', 'j', 'o', 'i', 
    'n', '\030', '1', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 
    'b', 'l', 'e', 'S', 'i', 'b', 'l', 'i', 'n', 'g', 'J', 'o', 'i', 'n', 'H', '\000', 'R', '\024', 'J', 's', 'o', 'n', 'T', 'a', 'b', 
    'l', 'e', 'S', 'i', 'b', 'l', 'i', 'n', 'g', 'J', 'o', 'i', 'n', '\022', '1', '\n', '\t', 'n', 'u', 'l', 'l', '_', 't', 'e', 's', 
    't', '\030', '2', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'T', 'e', 
    's', 't', 'H', '\000', 'R', '\010', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', '\022', ':', '\n', '\014', 'b', 'o', 'o', 'l', 'e', 'a', 'n', 
    '_', 't', 'e', 's', 't', '\030', '3', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 
    'o', 'l', 'e', 'a', 'n', 'T', 'e', 's', 't', 'H', '\000', 'R', '\013', 'B', 'o', 'o', 'l', 'e', 'a', 'n', 'T', 'e', 's', 't', '\022', 
    ':', '\n', '\014', 'm', 'e', 'r', 'g', 'e', '_', 'a', 'c', 't', 'i', 'o', 'n', '\030', '4', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\013', 'M', 'e', 
    'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 'n', '\022', 'D', '\n', '\020', 'c', 'o', 'e', 'r', 'c', 'e', '_', 't', 'o', '_', 'd', 'o', 
    'm', 'a', 'i', 'n', '\030', '5', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 
    'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'H', '\000', 'R', '\016', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 
    'm', 'a', 'i', 'n', '\022', 'T', '\n', '\026', 'c', 'o', 'e', 'r', 'c', 'e', '_', 't', 'o', '_', 'd', 'o', 'm', 'a', 'i', 'n', '_', 
    'v', 'a', 'l', 'u', 'e', '\030', '6', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 
    'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', 'H', '\000', 'R', '\023', 'C', 'o', 'e', 'r', 
    'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', '\022', '>', '\n', '\016', 's', 'e', 't', '_', 't', 'o', 
    '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '7', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'S', 'e', 't', 'T', 'o', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'H', '\000', 'R', '\014', 'S', 'e', 't', 'T', 'o', 'D', 'e', 'f', 
    'a', 'u', 'l', 't', '\022', 'A', '\n', '\017', 'c', 'u', 'r', 'r', 'e', 'n', 't', '_', 'o', 'f', '_', 'e', 'x', 'p', 'r', '\030', '8', 
    ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'O', 'f', 
    'E', 'x', 'p', 'r', 'H', '\000', 'R', '\r', 'C', 'u', 'r', 'r', 'e', 'n', 't', 'O', 'f', 'E', 'x', 'p', 'r', '\022', 'A', '\n', '\017', 
    'n', 'e', 'x', 't', '_', 'v', 'a', 'l', 'u', 'e', '_', 'e', 'x', 'p', 'r', '\030', '9', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\r', 
    'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', '\022', '@', '\n', '\016', 'i', 'n', 'f', 'e', 'r', 'e', 'n', 'c', 
    'e', '_', 'e', 'l', 'e', 'm', '\030', ':', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 
    'n', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\r', 'I', 'n', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 
    'E', 'l', 'e', 'm', '\022', ':', '\n', '\014', 't', 'a', 'r', 'g', 'e', 't', '_', 'e', 'n', 't', 'r', 'y', '\030', ';', ' ', '\001', '(', 
    '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', 'H', 
    '\000', 'R', '\013', 'T', 'a', 'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', '\022', ';', '\n', '\r', 'r', 'a', 'n', 'g', 'e', '_', 't', 
    'b', 'l', '_', 'r', 'e', 'f', '\030', '<', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 
    'a', 'n', 'g', 'e', 'T', 'b', 'l', 'R', 'e', 'f', 'H', '\000', 'R', '\013', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'R', 'e', 'f', 
    '\022', '1', '\n', '\t', 'j', 'o', 'i', 'n', '_', 'e', 'x', 'p', 'r', '\030', '=', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'J', 'o', 'i', 'n', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'J', 'o', 'i', 'n', 'E', 'x', 'p', 
    'r', '\022', '1', '\n', '\t', 'f', 'r', 'o', 'm', '_', 'e', 'x', 'p', 'r', '\030', '>', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\010', 'F', 'r', 'o', 'm', 'E', 'x', 
    'p', 'r', '\022', 'D', '\n', '\020', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'e', 'x', 'p', 'r', '\030', '?', ' ', 
    '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 
    'E', 'x', 'p', 'r', 'H', '\000', 'R', '\016', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', '\022', '\'', '\n', 
    '\005', 'q', 'u', 'e', 'r', 'y', '\030', '@', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'Q', 
    'u', 'e', 'r', 'y', 'H', '\000', 'R', '\005', 'Q', 'u', 'e', 'r', 'y', '\022', '1', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 
    'e', '\030', 'A', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 
    'm', 'e', 'H', '\000', 'R', '\010', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '4', '\n', '\n', 'c', 'o', 'l', 'u', 'm', 'n', '_', 
    'r', 'e', 'f', '\030', 'B', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'u', 
    'm', 'n', 'R', 'e', 'f', 'H', '\000', 'R', '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'f', '\022', '1', '\n', '\t', 'p', 'a', 'r', 
    'a', 'm', '_', 'r', 'e', 'f', '\030', 'C', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 
    'a', 'r', 'a', 'm', 'R', 'e', 'f', 'H', '\000', 'R', '\010', 'P', 'a', 'r', 'a', 'm', 'R', 'e', 'f', '\022', '*', '\n', '\006', 'a', '_', 
    'e', 'x', 'p', 'r', '\030', 'D', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'E', 
    'x', 'p', 'r', 'H', '\000', 'R', '\006', 'A', '_', 'E', 'x', 'p', 'r', '\022', '1', '\n', '\t', 't', 'y', 'p', 'e', '_', 'c', 'a', 's', 
    't', '\030', 'E', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'C', 'a', 
    's', 't', 'H', '\000', 'R', '\010', 'T', 'y', 'p', 'e', 'C', 'a', 's', 't', '\022', '@', '\n', '\016', 'c', 'o', 'l', 'l', 'a', 't', 'e', 
    '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'F', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\r', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 
    'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\t', 'r', 'o', 'l', 'e', '_', 's', 'p', 'e', 'c', '\030', 'G', ' ', '\001', '(', '\013', '2', 
    '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\010', 'R', 'o', 
    'l', 'e', 'S', 'p', 'e', 'c', '\022', '1', '\n', '\t', 'f', 'u', 'n', 'c', '_', 'c', 'a', 'l', 'l', '\030', 'H', ' ', '\001', '(', '\013', 
    '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 'l', 'H', '\000', 'R', '\010', 'F', 
    'u', 'n', 'c', 'C', 'a', 'l', 'l', '\022', '*', '\n', '\006', 'a', '_', 's', 't', 'a', 'r', '\030', 'I', ' ', '\001', '(', '\013', '2', '\020', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'S', 't', 'a', 'r', 'H', '\000', 'R', '\006', 'A', '_', 'S', 't', 'a', 
    'r', '\022', '3', '\n', '\t', 'a', '_', 'i', 'n', 'd', 'i', 'c', 'e', 's', '\030', 'J', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'I', 'n', 'd', 'i', 'c', 'e', 's', 'H', '\000', 'R', '\t', 'A', '_', 'I', 'n', 'd', 
    'i', 'c', 'e', 's', '\022', '?', '\n', '\r', 'a', '_', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\030', 'K', ' ', '\001', 
    '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'I', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 
    'o', 'n', 'H', '\000', 'R', '\r', 'A', '_', 'I', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', ':', '\n', '\014', 'a', '_', 
    'a', 'r', 'r', 'a', 'y', '_', 'e', 'x', 'p', 'r', '\030', 'L', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'A', '_', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\013', 'A', '_', 'A', 'r', 'r', 'a', 'y', 
    'E', 'x', 'p', 'r', '\022', '4', '\n', '\n', 'r', 'e', 's', '_', 't', 'a', 'r', 'g', 'e', 't', '\030', 'M', ' ', '\001', '(', '\013', '2', 
    '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 's', 'T', 'a', 'r', 'g', 'e', 't', 'H', '\000', 'R', '\t', 'R', 
    'e', 's', 'T', 'a', 'r', 'g', 'e', 't', '\022', 'D', '\n', '\020', 'm', 'u', 'l', 't', 'i', '_', 'a', 's', 's', 'i', 'g', 'n', '_', 
    'r', 'e', 'f', '\030', 'N', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'u', 'l', 't', 
    'i', 'A', 's', 's', 'i', 'g', 'n', 'R', 'e', 'f', 'H', '\000', 'R', '\016', 'M', 'u', 'l', 't', 'i', 'A', 's', 's', 'i', 'g', 'n', 
    'R', 'e', 'f', '\022', '+', '\n', '\007', 's', 'o', 'r', 't', '_', 'b', 'y', '\030', 'O', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'H', '\000', 'R', '\006', 'S', 'o', 'r', 't', 'B', 'y', '\022', '4', 
    '\n', '\n', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'd', 'e', 'f', '\030', 'P', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', 'H', '\000', 'R', '\t', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 
    'e', 'f', '\022', 'C', '\n', '\017', 'r', 'a', 'n', 'g', 'e', '_', 's', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', '\030', 'Q', ' ', '\001', 
    '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'S', 'u', 'b', 's', 'e', 'l', 
    'e', 'c', 't', 'H', '\000', 'R', '\016', 'R', 'a', 'n', 'g', 'e', 'S', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', '\022', '@', '\n', '\016', 
    'r', 'a', 'n', 'g', 'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', 'R', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\r', 'R', 
    'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', 'D', '\n', '\020', 'r', 'a', 'n', 'g', 'e', '_', 't', 'a', 'b', 
    'l', 'e', '_', 'f', 'u', 'n', 'c', '\030', 'S', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'H', '\000', 'R', '\016', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 
    'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', 'N', '\n', '\024', 'r', 'a', 'n', 'g', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 'f', 'u', 
    'n', 'c', '_', 'c', 'o', 'l', '\030', 'T', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 
    'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'C', 'o', 'l', 'H', '\000', 'R', '\021', 'R', 'a', 'n', 'g', 'e', 
    'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'C', 'o', 'l', '\022', 'J', '\n', '\022', 'r', 'a', 'n', 'g', 'e', '_', 't', 'a', 'b', 
    'l', 'e', '_', 's', 'a', 'm', 'p', 'l', 'e', '\030', 'U', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'H', '\000', 'R', '\020', 'R', 'a', 'n', 
    'g', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', '\022', '4', '\n', '\n', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'd', 
    'e', 'f', '\030', 'V', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'u', 'm', 
    'n', 'D', 'e', 'f', 'H', '\000', 'R', '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', '\022', 'G', '\n', '\021', 't', 'a', 'b', 'l', 
    'e', '_', 'l', 'i', 'k', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'W', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\017', 
    'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '4', '\n', '\n', 'i', 'n', 'd', 'e', 'x', '_', 
    'e', 'l', 'e', 'm', '\030', 'X', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'd', 
    'e', 'x', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\t', 'I', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', '\022', '.', '\n', '\010', 'd', 'e', 
    'f', '_', 'e', 'l', 'e', 'm', '\030', 'Y', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
    'e', 'f', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\007', 'D', 'e', 'f', 'E', 'l', 'e', 'm', '\022', '@', '\n', '\016', 'l', 'o', 'c', 'k', 
    'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'Z', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'L', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\r', 'L', 'o', 'c', 'k', 'i', 
    'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', '=', '\n', '\r', 'x', 'm', 'l', '_', 's', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 
    '\030', '[', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 'S', 'e', 'r', 'i', 
    'a', 'l', 'i', 'z', 'e', 'H', '\000', 'R', '\014', 'X', 'm', 'l', 'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', '\022', '@', '\n', '\016', 
    'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'e', 'l', 'e', 'm', '\030', '\\', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\r', 'P', 
    'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'E', 'l', 'e', 'm', '\022', '@', '\n', '\016', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 
    '_', 's', 'p', 'e', 'c', '\030', ']', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 
    'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\r', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 
    'p', 'e', 'c', '\022', 'P', '\n', '\024', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'b', 'o', 'u', 'n', 'd', '_', 's', 'p', 
    'e', 'c', '\030', '^', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 
    't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\022', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 
    'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', '\022', 'S', '\n', '\025', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'r', 
    'a', 'n', 'g', 'e', '_', 'd', 'a', 't', 'u', 'm', '\030', '_', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', 'H', '\000', 'R', 
    '\023', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', '\022', 'S', '\n', '\025', 's', 
    'i', 'n', 'g', 'l', 'e', '_', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 's', 'p', 'e', 'c', '\030', '`', ' ', '\001', '(', 
    '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'i', 'n', 'g', 'l', 'e', 'P', 'a', 'r', 't', 'i', 't', 
    'i', 'o', 'n', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\023', 'S', 'i', 'n', 'g', 'l', 'e', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 
    'n', 'S', 'p', 'e', 'c', '\022', '=', '\n', '\r', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'c', 'm', 'd', '\030', 'a', ' ', 
    '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 
    'm', 'd', 'H', '\000', 'R', '\014', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'm', 'd', '\022', 'A', '\n', '\017', 'r', 'a', 'n', 
    'g', 'e', '_', 't', 'b', 'l', '_', 'e', 'n', 't', 'r', 'y', '\030', 'b', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', 'H', '\000', 'R', '\r', 'R', 'a', 'n', 
    'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', '\022', 'L', '\n', '\022', 'r', 't', 'e', 'p', 'e', 'r', 'm', 'i', 's', 's', 'i', 
    'o', 'n', '_', 'i', 'n', 'f', 'o', '\030', 'c', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'R', 'T', 'E', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', 'H', '\000', 'R', '\021', 'R', 'T', 'E', 'P', 
    'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'I', 'n', 'f', 'o', '\022', 'J', '\n', '\022', 'r', 'a', 'n', 'g', 'e', '_', 't', 'b', 
    'l', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\030', 'd', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\020', 'R', 'a', 
    'n', 'g', 'e', 'T', 'b', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', 'M', '\n', '\023', 't', 'a', 'b', 'l', 'e', '_', 's', 
    'a', 'm', 'p', 'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'e', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
    '\021', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'G', '\n', '\021', 'w', 'i', 't', 
    'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', 'f', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', 'H', '\000', 'R', 
    '\017', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', 'G', '\n', '\021', 's', 'o', 'r', 't', '_', 
    'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'g', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\017', 'S', 
    'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', ':', '\n', '\014', 'g', 'r', 'o', 'u', 'p', 'i', 'n', 
    'g', '_', 's', 'e', 't', '\030', 'h', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 
    'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 'H', '\000', 'R', '\013', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', '\022', 
    '=', '\n', '\r', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'i', ' ', '\001', '(', '\013', '2', '\026', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\014', 
    'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'A', '\n', '\017', 'r', 'o', 'w', '_', 'm', 'a', 'r', 'k', '_', 
    'c', 'l', 'a', 'u', 's', 'e', '\030', 'j', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 
    'o', 'w', 'M', 'a', 'r', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\r', 'R', 'o', 'w', 'M', 'a', 'r', 'k', 'C', 'l', 
    'a', 'u', 's', 'e', '\022', '7', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'k', ' ', '\001', '(', '\013', 
    '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', 
    '\n', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', ':', '\n', '\014', 'i', 'n', 'f', 'e', 'r', '_', 'c', 'l', 'a', 'u', 
    's', 'e', '\030', 'l', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'f', 'e', 'r', 
    'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\013', 'I', 'n', 'f', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'J', '\n', '\022', 
    'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'm', ' ', '\001', '(', '\013', '2', 
    '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 
    's', 'e', 'H', '\000', 'R', '\020', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'F', '\n', 
    '\020', 'c', 't', 'e', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'n', ' ', '\001', '(', '\013', '2', '\031', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 'C', 'l', 'a', 'u', 's', 'e', 
    'H', '\000', 'R', '\017', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'C', '\n', '\017', 'c', 't', 
    'e', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'o', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\016', 'C', 
    'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'G', '\n', '\021', 'c', 'o', 'm', 'm', 'o', 'n', '_', 't', 
    'a', 'b', 'l', 'e', '_', 'e', 'x', 'p', 'r', '\030', 'p', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'C', 'o', 'm', 'm', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\017', 'C', 'o', 'm', 'm', 
    'o', 'n', 'T', 'a', 'b', 'l', 'e', 'E', 'x', 'p', 'r', '\022', 'G', '\n', '\021', 'm', 'e', 'r', 'g', 'e', '_', 'w', 'h', 'e', 'n', 
    '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', 'q', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'M', 'e', 'r', 'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', 'H', '\000', 'R', '\017', 'M', 'e', 'r', 'g', 'e', 'W', 
    'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', 'L', '\n', '\022', 't', 'r', 'i', 'g', 'g', 'e', 'r', '_', 't', 'r', 'a', 'n', 
    's', 'i', 't', 'i', 'o', 'n', '\030', 'r', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 
    'r', 'i', 'g', 'g', 'e', 'r', 'T', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\021', 'T', 'r', 'i', 'g', 'g', 
    'e', 'r', 'T', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '\022', '7', '\n', '\013', 'j', 's', 'o', 'n', '_', 'o', 'u', 't', 'p', 
    'u', 't', '\030', 's', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 
    'u', 't', 'p', 'u', 't', 'H', '\000', 'R', '\n', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', '\022', '=', '\n', '\r', 'j', 's', 
    'o', 'n', '_', 'a', 'r', 'g', 'u', 'm', 'e', 'n', 't', '\030', 't', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'r', 'g', 'u', 'm', 'e', 'n', 't', 'H', '\000', 'R', '\014', 'J', 's', 'o', 'n', 'A', 
    'r', 'g', 'u', 'm', 'e', 'n', 't', '\022', '>', '\n', '\016', 'j', 's', 'o', 'n', '_', 'f', 'u', 'n', 'c', '_', 'e', 'x', 'p', 'r', 
    '\030', 'u', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'F', 'u', 'n', 
    'c', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\014', 'J', 's', 'o', 'n', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', '\022', 'N', '\n', '\024', 
    'j', 's', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 'p', 'a', 't', 'h', '_', 's', 'p', 'e', 'c', '\030', 'v', ' ', '\001', '(', 
    '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 
    'h', 'S', 'p', 'e', 'c', 'H', '\000', 'R', '\021', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 'S', 'p', 'e', 
    'c', '\022', '4', '\n', '\n', 'j', 's', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '\030', 'w', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'H', '\000', 'R', '\t', 'J', 's', 'o', 'n', 
    'T', 'a', 'b', 'l', 'e', '\022', 'G', '\n', '\021', 'j', 's', 'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 'c', 'o', 'l', 'u', 'm', 
    'n', '\030', 'x', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 
    'b', 'l', 'e', 'C', 'o', 'l', 'u', 'm', 'n', 'H', '\000', 'R', '\017', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'C', 'o', 'l', 
    'u', 'm', 'n', '\022', '>', '\n', '\016', 'j', 's', 'o', 'n', '_', 'k', 'e', 'y', '_', 'v', 'a', 'l', 'u', 'e', '\030', 'y', ' ', '\001', 
    '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'K', 'e', 'y', 'V', 'a', 'l', 'u', 
    'e', 'H', '\000', 'R', '\014', 'J', 's', 'o', 'n', 'K', 'e', 'y', 'V', 'a', 'l', 'u', 'e', '\022', 'A', '\n', '\017', 'j', 's', 'o', 'n', 
    '_', 'p', 'a', 'r', 's', 'e', '_', 'e', 'x', 'p', 'r', '\030', 'z', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'P', 'a', 'r', 's', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\r', 'J', 's', 'o', 'n', 
    'P', 'a', 'r', 's', 'e', 'E', 'x', 'p', 'r', '\022', 'D', '\n', '\020', 'j', 's', 'o', 'n', '_', 's', 'c', 'a', 'l', 'a', 'r', '_', 
    'e', 'x', 'p', 'r', '\030', '{', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 
    'n', 'S', 'c', 'a', 'l', 'a', 'r', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\016', 'J', 's', 'o', 'n', 'S', 'c', 'a', 'l', 'a', 'r', 
    'E', 'x', 'p', 'r', '\022', 'M', '\n', '\023', 'j', 's', 'o', 'n', '_', 's', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', '_', 'e', 'x', 
    'p', 'r', '\030', '|', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'S', 
    'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'E', 'x', 'p', 'r', 'H', '\000', 'R', '\021', 'J', 's', 'o', 'n', 'S', 'e', 'r', 'i', 'a', 
    'l', 'i', 'z', 'e', 'E', 'x', 'p', 'r', '\022', 'Y', '\n', '\027', 'j', 's', 'o', 'n', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 'c', 
    'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\030', '}', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 'c', 't', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'H', 
    '\000', 'R', '\025', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 'c', 't', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', 
    'V', '\n', '\026', 'j', 's', 'o', 'n', '_', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 
    '\030', '~', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'r', 'r', 
    'a', 'y', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'H', '\000', 'R', '\024', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 
    'y', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', 'f', '\n', '\034', 'j', 's', 'o', 'n', '_', 'a', 'r', 'r', 'a', 
    'y', '_', 'q', 'u', 'e', 'r', 'y', '_', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\030', '\177', ' ', '\001', '(', '\013', 
    '2', '#', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 'Q', 'u', 'e', 'r', 
    'y', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'H', '\000', 'R', '\031', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 
    'Q', 'u', 'e', 'r', 'y', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', 'Q', '\n', '\024', 'j', 's', 'o', 'n', '_', 
    'a', 'g', 'g', '_', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\030', '\200', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'g', 'g', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 
    'o', 'r', 'H', '\000', 'R', '\022', 'J', 's', 'o', 'n', 'A', 'g', 'g', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', 
    'B', '\n', '\017', 'j', 's', 'o', 'n', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 'a', 'g', 'g', '\030', '\201', '\001', ' ', '\001', '(', '\013', 
    '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 'c', 't', 'A', 'g', 'g', 
    'H', '\000', 'R', '\r', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 'c', 't', 'A', 'g', 'g', '\022', '?', '\n', '\016', 'j', 's', 'o', 'n', 
    '_', 'a', 'r', 'r', 'a', 'y', '_', 'a', 'g', 'g', '\030', '\202', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 'A', 'g', 'g', 'H', '\000', 'R', '\014', 'J', 's', 'o', 'n', 'A', 
    'r', 'r', 'a', 'y', 'A', 'g', 'g', '\022', '/', '\n', '\010', 'r', 'a', 'w', '_', 's', 't', 'm', 't', '\030', '\203', '\001', ' ', '\001', '(', 
    '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\007', 'R', 
    'a', 'w', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'i', 'n', 's', 'e', 'r', 't', '_', 's', 't', 'm', 't', '\030', '\204', '\001', ' ', 
    '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\n', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'd', 'e', 'l', 'e', 't', 'e', '_', 
    's', 't', 'm', 't', '\030', '\205', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 
    'l', 'e', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'D', 'e', 'l', 'e', 't', 'e', 'S', 't', 'm', 't', '\022', '8', '\n', 
    '\013', 'u', 'p', 'd', 'a', 't', 'e', '_', 's', 't', 'm', 't', '\030', '\206', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'U', 'p', 'd', 'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'U', 'p', 'd', 'a', 't', 
    'e', 'S', 't', 'm', 't', '\022', '5', '\n', '\n', 'm', 'e', 'r', 'g', 'e', '_', 's', 't', 'm', 't', '\030', '\207', '\001', ' ', '\001', '(', 
    '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\t', 'M', 'e', 'r', 'g', 'e', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 's', 'e', 'l', 'e', 'c', 't', '_', 's', 't', 'm', 't', 
    '\030', '\210', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 'e', 'c', 't', 
    'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', '\022', 'K', '\n', '\022', 's', 'e', 't', 
    '_', 'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\211', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\020', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'r', 
    'e', 't', 'u', 'r', 'n', '_', 's', 't', 'm', 't', '\030', '\212', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'R', 'e', 't', 'u', 'r', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'R', 'e', 't', 'u', 'r', 'n', 'S', 
    't', 'm', 't', '\022', '>', '\n', '\r', 'p', 'l', 'a', 's', 's', 'i', 'g', 'n', '_', 's', 't', 'm', 't', '\030', '\213', '\001', ' ', '\001', 
    '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', 'S', 't', 'm', 
    't', 'H', '\000', 'R', '\014', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', 'S', 't', 'm', 't', '\022', 'K', '\n', '\022', 'c', 'r', 'e', 'a', 
    't', 'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '_', 's', 't', 'm', 't', '\030', '\214', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', 'H', 
    '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'a', 'l', 
    't', 'e', 'r', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\215', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\016', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', 'T', '\n', '\025', 'r', 'e', 'p', 'l', 'i', 'c', 
    'a', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 's', 't', 'm', 't', '\030', '\216', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\023', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 't', 'm', 
    't', '\022', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 't', 'a', 'b', 'l', 'e', '_', 'c', 'm', 'd', '\030', '\217', '\001', ' ', '\001', 
    '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'C', 
    'm', 'd', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'C', 'm', 'd', '\022', 'Q', '\n', '\024', 'a', 'l', 
    't', 'e', 'r', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\220', '\001', ' ', '\001', '(', '\013', 
    '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 
    'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 'S', 't', 
    'm', 't', '\022', 'H', '\n', '\021', 'a', 'l', 't', 'e', 'r', '_', 'd', 'o', 'm', 'a', 'i', 'n', '_', 's', 't', 'm', 't', '\030', '\221', 
    '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'o', 'm', 
    'a', 'i', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'A', 'l', 't', 'e', 'r', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 
    't', '\022', '5', '\n', '\n', 'g', 'r', 'a', 'n', 't', '_', 's', 't', 'm', 't', '\030', '\222', '\001', ' ', '\001', '(', '\013', '2', '\023', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\t', 'G', 'r', 'a', 
    'n', 't', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'o', 'b', 'j', 'e', 'c', 't', '_', 'w', 'i', 't', 'h', '_', 'a', 'r', 'g', 
    's', '\030', '\223', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 
    't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'H', '\000', 'R', '\016', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 
    'g', 's', '\022', '8', '\n', '\013', 'a', 'c', 'c', 'e', 's', 's', '_', 'p', 'r', 'i', 'v', '\030', '\224', '\001', ' ', '\001', '(', '\013', '2', 
    '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'c', 'c', 'e', 's', 's', 'P', 'r', 'i', 'v', 'H', '\000', 'R', '\n', 
    'A', 'c', 'c', 'e', 's', 's', 'P', 'r', 'i', 'v', '\022', 'B', '\n', '\017', 'g', 'r', 'a', 'n', 't', '_', 'r', 'o', 'l', 'e', '_', 
    's', 't', 'm', 't', '\030', '\225', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 
    'a', 'n', 't', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'G', 'r', 'a', 'n', 't', 'R', 'o', 'l', 'e', 'S', 
    't', 'm', 't', '\022', 'j', '\n', '\035', 'a', 'l', 't', 'e', 'r', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 'p', 'r', 'i', 'v', 
    'i', 'l', 'e', 'g', 'e', 's', '_', 's', 't', 'm', 't', '\030', '\226', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'P', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 
    'e', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\032', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'P', 'r', 'i', 
    'v', 'i', 'l', 'e', 'g', 'e', 's', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'c', 'o', 'p', 'y', '_', 's', 't', 'm', 't', '\030', 
    '\227', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'p', 'y', 'S', 't', 'm', 
    't', 'H', '\000', 'R', '\010', 'C', 'o', 'p', 'y', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 
    '_', 's', 'e', 't', '_', 's', 't', 'm', 't', '\030', '\230', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'V', 'a', 'r', 
    'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', 'K', '\n', '\022', 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', '_', 
    's', 'h', 'o', 'w', '_', 's', 't', 'm', 't', '\030', '\231', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'h', 'o', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'V', 'a', 
    'r', 'i', 'a', 'b', 'l', 'e', 'S', 'h', 'o', 'w', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'c', 'r', 'e', 'a', 't', 'e', '_', 
    's', 't', 'm', 't', '\030', '\232', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 
    'e', 'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', '7', '\n', 
    '\n', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\233', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 'H', '\000', 'R', '\n', 'C', 'o', 'n', 's', 't', 'r', 
    'a', 'i', 'n', 't', '\022', 'X', '\n', '\027', 'c', 'r', 'e', 'a', 't', 'e', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 
    'e', '_', 's', 't', 'm', 't', '\030', '\234', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'C', 
    'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', 'R', '\n', '\025', 'd', 'r', 
    'o', 'p', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 's', 't', 'm', 't', '\030', '\235', '\001', ' ', '\001', '(', 
    '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 
    'c', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 
    't', 'm', 't', '\022', 'k', '\n', '\036', 'a', 'l', 't', 'e', 'r', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 
    'o', 'p', 't', 'i', 'o', 'n', 's', '_', 's', 't', 'm', 't', '\030', '\236', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'O', 'p', 't', 'i', 
    'o', 'n', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\032', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 
    'e', 'O', 'p', 't', 'i', 'o', 'n', 's', 'S', 't', 'm', 't', '\022', '\\', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 't', 'a', 'b', 
    'l', 'e', '_', 'm', 'o', 'v', 'e', '_', 'a', 'l', 'l', '_', 's', 't', 'm', 't', '\030', '\237', '\001', ' ', '\001', '(', '\013', '2', '\037', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 'o', 'v', 'e', 'A', 
    'l', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 'o', 'v', 'e', 'A', 
    'l', 'l', 'S', 't', 'm', 't', '\022', 'T', '\n', '\025', 'c', 'r', 'e', 'a', 't', 'e', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 
    'n', '_', 's', 't', 'm', 't', '\030', '\240', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'C', 'r', 'e', 'a', 't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'C', 'r', 
    'e', 'a', 't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'Q', '\n', '\024', 'a', 'l', 't', 'e', 
    'r', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\241', '\001', ' ', '\001', '(', '\013', '2', '\034', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', 
    '\022', 'j', '\n', '\035', 'a', 'l', 't', 'e', 'r', '_', 'e', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', '_', 'c', 'o', 'n', 't', 'e', 
    'n', 't', 's', '_', 's', 't', 'm', 't', '\030', '\242', '\001', ' ', '\001', '(', '\013', '2', '$', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'n', 't', 's', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\032', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 
    'e', 'n', 't', 's', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'c', 'r', 'e', 'a', 't', 'e', '_', 'f', 'd', 'w', '_', 's', 't', 
    'm', 't', '\030', '\243', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 
    't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 
    't', '\022', '?', '\n', '\016', 'a', 'l', 't', 'e', 'r', '_', 'f', 'd', 'w', '_', 's', 't', 'm', 't', '\030', '\244', '\001', ' ', '\001', '(', 
    '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\014', 'A', 'l', 't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 't', '\022', 'a', '\n', '\032', 'c', 'r', 'e', 'a', 't', 
    'e', '_', 'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 'e', 'r', 'v', 'e', 'r', '_', 's', 't', 'm', 't', '\030', '\245', '\001', ' ', 
    '\001', '(', '\013', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 
    'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\027', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 
    'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '^', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 
    'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 'e', 'r', 'v', 'e', 'r', '_', 's', 't', 'm', 't', '\030', '\246', '\001', ' ', '\001', '(', 
    '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 
    'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 'A', 'l', 't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 
    'n', 'S', 'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '^', '\n', '\031', 'c', 'r', 'e', 'a', 't', 'e', '_', 'f', 'o', 'r', 
    'e', 'i', 'g', 'n', '_', 't', 'a', 'b', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\247', '\001', ' ', '\001', '(', '\013', '2', ' ', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 'b', 
    'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 
    'b', 'l', 'e', 'S', 't', 'm', 't', '\022', '[', '\n', '\030', 'c', 'r', 'e', 'a', 't', 'e', '_', 'u', 's', 'e', 'r', '_', 'm', 'a', 
    'p', 'p', 'i', 'n', 'g', '_', 's', 't', 'm', 't', '\030', '\250', '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\025', 'C', 'r', 'e', 'a', 't', 'e', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', 
    '\022', 'X', '\n', '\027', 'a', 'l', 't', 'e', 'r', '_', 'u', 's', 'e', 'r', '_', 'm', 'a', 'p', 'p', 'i', 'n', 'g', '_', 's', 't', 
    'm', 't', '\030', '\251', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 
    'r', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 
    'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', 'U', '\n', '\026', 'd', 'r', 'o', 'p', '_', 'u', 
    's', 'e', 'r', '_', 'm', 'a', 'p', 'p', 'i', 'n', 'g', '_', 's', 't', 'm', 't', '\030', '\252', '\001', ' ', '\001', '(', '\013', '2', '\035', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 
    'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'D', 'r', 'o', 'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 
    'm', 't', '\022', 'a', '\n', '\032', 'i', 'm', 'p', 'o', 'r', 't', '_', 'f', 'o', 'r', 'e', 'i', 'g', 'n', '_', 's', 'c', 'h', 'e', 
    'm', 'a', '_', 's', 't', 'm', 't', '\030', '\253', '\001', ' ', '\001', '(', '\013', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', 'H', 
    '\000', 'R', '\027', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 
    't', '\022', 'K', '\n', '\022', 'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'o', 'l', 'i', 'c', 'y', '_', 's', 't', 'm', 't', '\030', '\254', 
    '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 
    'l', 'i', 'c', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 
    't', 'm', 't', '\022', 'H', '\n', '\021', 'a', 'l', 't', 'e', 'r', '_', 'p', 'o', 'l', 'i', 'c', 'y', '_', 's', 't', 'm', 't', '\030', 
    '\255', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'P', 'o', 
    'l', 'i', 'c', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'A', 'l', 't', 'e', 'r', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 't', 
    'm', 't', '\022', '?', '\n', '\016', 'c', 'r', 'e', 'a', 't', 'e', '_', 'a', 'm', '_', 's', 't', 'm', 't', '\030', '\256', '\001', ' ', '\001', 
    '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'A', 'm', 'S', 't', 'm', 
    't', 'H', '\000', 'R', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'A', 'm', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'c', 'r', 'e', 'a', 
    't', 'e', '_', 't', 'r', 'i', 'g', '_', 's', 't', 'm', 't', '\030', '\257', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 
    'r', 'e', 'a', 't', 'e', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', 'U', '\n', '\026', 'c', 'r', 'e', 'a', 't', 'e', '_', 'e', 
    'v', 'e', 'n', 't', '_', 't', 'r', 'i', 'g', '_', 's', 't', 'm', 't', '\030', '\260', '\001', ' ', '\001', '(', '\013', '2', '\035', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 
    'm', 't', 'H', '\000', 'R', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', 
    '\022', 'R', '\n', '\025', 'a', 'l', 't', 'e', 'r', '_', 'e', 'v', 'e', 'n', 't', '_', 't', 'r', 'i', 'g', '_', 's', 't', 'm', 't', 
    '\030', '\261', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'E', 
    'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'v', 'e', 'n', 
    't', 'T', 'r', 'i', 'g', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'l', 'a', 'n', 'g', 
    '_', 's', 't', 'm', 't', '\030', '\262', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
    'r', 'e', 'a', 't', 'e', 'P', 'L', 'a', 'n', 'g', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'P', 
    'L', 'a', 'n', 'g', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 'r', 'o', 'l', 'e', '_', 's', 
    't', 'm', 't', '\030', '\263', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 
    'a', 't', 'e', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'o', 'l', 'e', 
    'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 'r', 'o', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\264', 
    '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 
    'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', 'L', '\n', 
    '\023', 'a', 'l', 't', 'e', 'r', '_', 'r', 'o', 'l', 'e', '_', 's', 'e', 't', '_', 's', 't', 'm', 't', '\030', '\265', '\001', ' ', '\001', 
    '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 'e', 
    't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 
    '\022', '?', '\n', '\016', 'd', 'r', 'o', 'p', '_', 'r', 'o', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\266', '\001', ' ', '\001', '(', '\013', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'H', 
    '\000', 'R', '\014', 'D', 'r', 'o', 'p', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'c', 'r', 'e', 'a', 't', 'e', 
    '_', 's', 'e', 'q', '_', 's', 't', 'm', 't', '\030', '\267', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'e', 'q', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'C', 'r', 'e', 'a', 't', 
    'e', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '?', '\n', '\016', 'a', 'l', 't', 'e', 'r', '_', 's', 'e', 'q', '_', 's', 't', 'm', 
    't', '\030', '\270', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 
    'S', 'e', 'q', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'A', 'l', 't', 'e', 'r', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '8', 
    '\n', '\013', 'd', 'e', 'f', 'i', 'n', 'e', '_', 's', 't', 'm', 't', '\030', '\271', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'f', 'i', 'n', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'D', 'e', 'f', 'i', 
    'n', 'e', 'S', 't', 'm', 't', '\022', 'K', '\n', '\022', 'c', 'r', 'e', 'a', 't', 'e', '_', 'd', 'o', 'm', 'a', 'i', 'n', '_', 's', 
    't', 'm', 't', '\030', '\272', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 
    'a', 't', 'e', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'D', 'o', 
    'm', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', 'O', '\n', '\024', 'c', 'r', 'e', 'a', 't', 'e', '_', 'o', 'p', '_', 'c', 'l', 'a', 
    's', 's', '_', 's', 't', 'm', 't', '\030', '\273', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'C', 'r', 'e', 
    'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'S', 't', 'm', 't', '\022', 'O', '\n', '\024', 'c', 'r', 'e', 'a', 't', 'e', '_', 
    'o', 'p', '_', 'c', 'l', 'a', 's', 's', '_', 'i', 't', 'e', 'm', '\030', '\274', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'I', 't', 'e', 'm', 'H', 
    '\000', 'R', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'I', 't', 'e', 'm', '\022', 'R', '\n', '\025', 'c', 
    'r', 'e', 'a', 't', 'e', '_', 'o', 'p', '_', 'f', 'a', 'm', 'i', 'l', 'y', '_', 's', 't', 'm', 't', '\030', '\275', '\001', ' ', '\001', 
    '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'F', 'a', 'm', 
    'i', 'l', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 
    'S', 't', 'm', 't', '\022', 'O', '\n', '\024', 'a', 'l', 't', 'e', 'r', '_', 'o', 'p', '_', 'f', 'a', 'm', 'i', 'l', 'y', '_', 's', 
    't', 'm', 't', '\030', '\276', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 
    'e', 'r', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 
    'F', 'a', 'm', 'i', 'l', 'y', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'd', 'r', 'o', 'p', '_', 's', 't', 'm', 't', '\030', '\277', 
    '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\010', 'D', 'r', 'o', 'p', 'S', 't', 'm', 't', '\022', '>', '\n', '\r', 't', 'r', 'u', 'n', 'c', 'a', 't', 'e', '_', 
    's', 't', 'm', 't', '\030', '\300', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 
    'u', 'n', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'T', 'r', 'u', 'n', 'c', 'a', 't', 'e', 'S', 't', 'm', 
    't', '\022', ';', '\n', '\014', 'c', 'o', 'm', 'm', 'e', 'n', 't', '_', 's', 't', 'm', 't', '\030', '\301', '\001', ' ', '\001', '(', '\013', '2', 
    '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'm', 'm', 'e', 'n', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\013', 'C', 'o', 'm', 'm', 'e', 'n', 't', 'S', 't', 'm', 't', '\022', '?', '\n', '\016', 's', 'e', 'c', '_', 'l', 'a', 'b', 'e', 'l', 
    '_', 's', 't', 'm', 't', '\030', '\302', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 
    'e', 'c', 'L', 'a', 'b', 'e', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'S', 'e', 'c', 'L', 'a', 'b', 'e', 'l', 'S', 't', 
    'm', 't', '\022', 'N', '\n', '\023', 'd', 'e', 'c', 'l', 'a', 'r', 'e', '_', 'c', 'u', 'r', 's', 'o', 'r', '_', 's', 't', 'm', 't', 
    '\030', '\303', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'c', 'l', 'a', 'r', 
    'e', 'C', 'u', 'r', 's', 'o', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'D', 'e', 'c', 'l', 'a', 'r', 'e', 'C', 'u', 'r', 
    's', 'o', 'r', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'l', 'o', 's', 'e', '_', 'p', 'o', 'r', 't', 'a', 'l', '_', 's', 
    't', 'm', 't', '\030', '\304', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'l', 'o', 
    's', 'e', 'P', 'o', 'r', 't', 'a', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'l', 'o', 's', 'e', 'P', 'o', 'r', 't', 
    'a', 'l', 'S', 't', 'm', 't', '\022', '5', '\n', '\n', 'f', 'e', 't', 'c', 'h', '_', 's', 't', 'm', 't', '\030', '\305', '\001', ' ', '\001', 
    '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'e', 't', 'c', 'h', 'S', 't', 'm', 't', 'H', '\000', 
    'R', '\t', 'F', 'e', 't', 'c', 'h', 'S', 't', 'm', 't', '\022', '5', '\n', '\n', 'i', 'n', 'd', 'e', 'x', '_', 's', 't', 'm', 't', 
    '\030', '\306', '\001', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'd', 'e', 'x', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\t', 'I', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'r', 'e', 'a', 't', 
    'e', '_', 's', 't', 'a', 't', 's', '_', 's', 't', 'm', 't', '\030', '\307', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 
    'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', '\022', '5', '\n', '\n', 's', 't', 'a', 't', 's', '_', 
    'e', 'l', 'e', 'm', '\030', '\310', '\001', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 't', 
    'a', 't', 's', 'E', 'l', 'e', 'm', 'H', '\000', 'R', '\t', 'S', 't', 'a', 't', 's', 'E', 'l', 'e', 'm', '\022', 'E', '\n', '\020', 'a', 
    'l', 't', 'e', 'r', '_', 's', 't', 'a', 't', 's', '_', 's', 't', 'm', 't', '\030', '\311', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', 'H', '\000', 
    'R', '\016', 'A', 'l', 't', 'e', 'r', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', '\022', 'Q', '\n', '\024', 'c', 'r', 'e', 'a', 't', 
    'e', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\312', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 
    'm', 't', 'H', '\000', 'R', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 
    'M', '\n', '\022', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', '\030', '\313', '\001', ' ', 
    '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 
    'r', 'a', 'm', 'e', 't', 'e', 'r', 'H', '\000', 'R', '\021', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 
    't', 'e', 'r', '\022', 'N', '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 
    't', '\030', '\314', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 
    'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 'e', 'r', 'F', 'u', 'n', 'c', 
    't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', ',', '\n', '\007', 'd', 'o', '_', 's', 't', 'm', 't', '\030', '\315', '\001', ' ', '\001', '(', 
    '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'o', 'S', 't', 'm', 't', 'H', '\000', 'R', '\006', 'D', 'o', 
    'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'i', 'n', 'l', 'i', 'n', 'e', '_', 'c', 'o', 'd', 'e', '_', 'b', 'l', 'o', 'c', 'k', 
    '\030', '\316', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'l', 'i', 'n', 'e', 
    'C', 'o', 'd', 'e', 'B', 'l', 'o', 'c', 'k', 'H', '\000', 'R', '\017', 'I', 'n', 'l', 'i', 'n', 'e', 'C', 'o', 'd', 'e', 'B', 'l', 
    'o', 'c', 'k', '\022', '2', '\n', '\t', 'c', 'a', 'l', 'l', '_', 's', 't', 'm', 't', '\030', '\317', '\001', ' ', '\001', '(', '\013', '2', '\022', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 'l', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'C', 'a', 'l', 
    'l', 'S', 't', 'm', 't', '\022', ';', '\n', '\014', 'c', 'a', 'l', 'l', '_', 'c', 'o', 'n', 't', 'e', 'x', 't', '\030', '\320', '\001', ' ', 
    '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'a', 'l', 'l', 'C', 'o', 'n', 't', 'e', 'x', 
    't', 'H', '\000', 'R', '\013', 'C', 'a', 'l', 'l', 'C', 'o', 'n', 't', 'e', 'x', 't', '\022', '8', '\n', '\013', 'r', 'e', 'n', 'a', 'm', 
    'e', '_', 's', 't', 'm', 't', '\030', '\321', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'R', 'e', 'n', 'a', 'm', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'R', 'e', 'n', 'a', 'm', 'e', 'S', 't', 'm', 't', '\022', 
    '^', '\n', '\031', 'a', 'l', 't', 'e', 'r', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 'd', 'e', 'p', 'e', 'n', 'd', 's', '_', 's', 
    't', 'm', 't', '\030', '\322', '\001', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 
    'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 'e', 'n', 'd', 's', 'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 'A', 'l', 
    't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 'e', 'n', 'd', 's', 'S', 't', 'm', 't', '\022', '[', '\n', '\030', 'a', 
    'l', 't', 'e', 'r', '_', 'o', 'b', 'j', 'e', 'c', 't', '_', 's', 'c', 'h', 'e', 'm', 'a', '_', 's', 't', 'm', 't', '\030', '\323', 
    '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 
    'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 
    'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'a', 'l', 't', 'e', 'r', '_', 'o', 'w', 
    'n', 'e', 'r', '_', 's', 't', 'm', 't', '\030', '\324', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'A', 'l', 't', 'e', 'r', 'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'A', 'l', 't', 'e', 'r', 
    'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', '\022', 'N', '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 'o', 'p', 'e', 'r', 'a', 't', 
    'o', 'r', '_', 's', 't', 'm', 't', '\030', '\325', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 
    'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 't', 
    'y', 'p', 'e', '_', 's', 't', 'm', 't', '\030', '\326', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'T', 
    'y', 'p', 'e', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'r', 'u', 'l', 'e', '_', 's', 't', 'm', 't', '\030', '\327', '\001', ' ', '\001', 
    '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'u', 'l', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\010', 'R', 'u', 'l', 'e', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'n', 'o', 't', 'i', 'f', 'y', '_', 's', 't', 'm', 't', '\030', 
    '\330', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 't', 'i', 'f', 'y', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\n', 'N', 'o', 't', 'i', 'f', 'y', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'l', 'i', 's', 't', 
    'e', 'n', '_', 's', 't', 'm', 't', '\030', '\331', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'L', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'L', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', 
    '\022', '>', '\n', '\r', 'u', 'n', 'l', 'i', 's', 't', 'e', 'n', '_', 's', 't', 'm', 't', '\030', '\332', '\001', ' ', '\001', '(', '\013', '2', 
    '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'U', 'n', 'l', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', 'H', '\000', 
    'R', '\014', 'U', 'n', 'l', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', '\022', 'G', '\n', '\020', 't', 'r', 'a', 'n', 's', 'a', 'c', 
    't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\333', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'T', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'T', 'r', 'a', 
    'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'N', '\n', '\023', 'c', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 
    '_', 't', 'y', 'p', 'e', '_', 's', 't', 'm', 't', '\030', '\334', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'C', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 
    'C', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'c', 'r', 'e', 'a', 
    't', 'e', '_', 'e', 'n', 'u', 'm', '_', 's', 't', 'm', 't', '\030', '\335', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 
    'r', 'e', 'a', 't', 'e', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'c', 'r', 'e', 'a', 't', 'e', '_', 'r', 
    'a', 'n', 'g', 'e', '_', 's', 't', 'm', 't', '\030', '\336', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 'C', 'r', 'e', 
    'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 'a', 'l', 't', 'e', 'r', '_', 'e', 'n', 'u', 
    'm', '_', 's', 't', 'm', 't', '\030', '\337', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'A', 'l', 't', 'e', 'r', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\r', 'A', 'l', 't', 'e', 'r', 'E', 'n', 'u', 
    'm', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'v', 'i', 'e', 'w', '_', 's', 't', 'm', 't', '\030', '\340', '\001', ' ', '\001', '(', '\013', 
    '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\010', 'V', 
    'i', 'e', 'w', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'l', 'o', 'a', 'd', '_', 's', 't', 'm', 't', '\030', '\341', '\001', ' ', '\001', 
    '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'a', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\010', 'L', 'o', 'a', 'd', 'S', 't', 'm', 't', '\022', '>', '\n', '\r', 'c', 'r', 'e', 'a', 't', 'e', 'd', 'b', '_', 's', 't', 'm', 
    't', '\030', '\342', '\001', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 
    'e', 'd', 'b', 'S', 't', 'm', 't', 'H', '\000', 'R', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'd', 'b', 'S', 't', 'm', 't', '\022', 'N', 
    '\n', '\023', 'a', 'l', 't', 'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 's', 't', 'm', 't', '\030', '\343', '\001', ' ', 
    '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 
    'a', 's', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\021', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 
    't', 'm', 't', '\022', 'q', '\n', ' ', 'a', 'l', 't', 'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 'r', 'e', 'f', 
    'r', 'e', 's', 'h', '_', 'c', 'o', 'l', 'l', '_', 's', 't', 'm', 't', '\030', '\344', '\001', ' ', '\001', '(', '\013', '2', '&', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'R', 'e', 'f', 'r', 
    'e', 's', 'h', 'C', 'o', 'l', 'l', 'S', 't', 'm', 't', 'H', '\000', 'R', '\034', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 
    'a', 's', 'e', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'C', 'o', 'l', 'l', 'S', 't', 'm', 't', '\022', 'X', '\n', '\027', 'a', 'l', 't', 
    'e', 'r', '_', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '_', 's', 'e', 't', '_', 's', 't', 'm', 't', '\030', '\345', '\001', ' ', '\001', 
    '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 
    's', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 
    'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '8', '\n', '\013', 'd', 'r', 'o', 'p', 'd', 'b', '_', 's', 't', 'm', 't', '\030', '\346', 
    '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 
    'm', 't', 'H', '\000', 'R', '\n', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 'm', 't', '\022', 'H', '\n', '\021', 'a', 'l', 't', 'e', 'r', 
    '_', 's', 'y', 's', 't', 'e', 'm', '_', 's', 't', 'm', 't', '\030', '\347', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\017', 
    'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 'S', 't', 'm', 't', '\022', ';', '\n', '\014', 'c', 'l', 'u', 's', 't', 'e', 
    'r', '_', 's', 't', 'm', 't', '\030', '\350', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'C', 'l', 'u', 's', 't', 'e', 'r', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'C', 'l', 'u', 's', 't', 'e', 'r', 'S', 't', 'm', 
    't', '\022', '8', '\n', '\013', 'v', 'a', 'c', 'u', 'u', 'm', '_', 's', 't', 'm', 't', '\030', '\351', '\001', ' ', '\001', '(', '\013', '2', '\024', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'c', 'u', 'u', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\n', 'V', 
    'a', 'c', 'u', 'u', 'm', 'S', 't', 'm', 't', '\022', 'D', '\n', '\017', 'v', 'a', 'c', 'u', 'u', 'm', '_', 'r', 'e', 'l', 'a', 't', 
    'i', 'o', 'n', '\030', '\352', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'c', 
    'u', 'u', 'm', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', 'H', '\000', 'R', '\016', 'V', 'a', 'c', 'u', 'u', 'm', 'R', 'e', 'l', 'a', 
    't', 'i', 'o', 'n', '\022', ';', '\n', '\014', 'e', 'x', 'p', 'l', 'a', 'i', 'n', '_', 's', 't', 'm', 't', '\030', '\353', '\001', ' ', '\001', 
    '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'E', 'x', 'p', 'l', 'a', 'i', 'n', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\013', 'E', 'x', 'p', 'l', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', 'O', '\n', '\024', 'c', 'r', 'e', 'a', 't', 'e', 
    '_', 't', 'a', 'b', 'l', 'e', '_', 'a', 's', '_', 's', 't', 'm', 't', '\030', '\354', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'A', 's', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'A', 's', 'S', 't', 'm', 't', '\022', 'R', '\n', '\025', 
    'r', 'e', 'f', 'r', 'e', 's', 'h', '_', 'm', 'a', 't', '_', 'v', 'i', 'e', 'w', '_', 's', 't', 'm', 't', '\030', '\355', '\001', ' ', 
    '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'M', 'a', 't', 
    'V', 'i', 'e', 'w', 'S', 't', 'm', 't', 'H', '\000', 'R', '\022', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'M', 'a', 't', 'V', 'i', 'e', 
    'w', 'S', 't', 'm', 't', '\022', 'E', '\n', '\020', 'c', 'h', 'e', 'c', 'k', '_', 'p', 'o', 'i', 'n', 't', '_', 's', 't', 'm', 't', 
    '\030', '\356', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'h', 'e', 'c', 'k', 'P', 
    'o', 'i', 'n', 't', 'S', 't', 'm', 't', 'H', '\000', 'R', '\016', 'C', 'h', 'e', 'c', 'k', 'P', 'o', 'i', 'n', 't', 'S', 't', 'm', 
    't', '\022', ';', '\n', '\014', 'd', 'i', 's', 'c', 'a', 'r', 'd', '_', 's', 't', 'm', 't', '\030', '\357', '\001', ' ', '\001', '(', '\013', '2', 
    '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\013', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'S', 't', 'm', 't', '\022', '2', '\n', '\t', 'l', 'o', 'c', 'k', '_', 's', 't', 'm', 't', 
    '\030', '\360', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'S', 't', 
    'm', 't', 'H', '\000', 'R', '\010', 'L', 'o', 'c', 'k', 'S', 't', 'm', 't', '\022', 'Q', '\n', '\024', 'c', 'o', 'n', 's', 't', 'r', 'a', 
    'i', 'n', 't', 's', '_', 's', 'e', 't', '_', 's', 't', 'm', 't', '\030', '\361', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\022', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', ';', '\n', 
    '\014', 'r', 'e', 'i', 'n', 'd', 'e', 'x', '_', 's', 't', 'm', 't', '\030', '\362', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'R', 'e', 'i', 
    'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', 'W', '\n', '\026', 'c', 'r', 'e', 'a', 't', 'e', '_', 'c', 'o', 'n', 'v', 'e', 'r', 
    's', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\363', '\001', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 
    'R', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'E', '\n', 
    '\020', 'c', 'r', 'e', 'a', 't', 'e', '_', 'c', 'a', 's', 't', '_', 's', 't', 'm', 't', '\030', '\364', '\001', ' ', '\001', '(', '\013', '2', 
    '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'a', 's', 't', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'a', 's', 't', 'S', 't', 'm', 't', '\022', 'T', '\n', '\025', 'c', 'r', 'e', 
    'a', 't', 'e', '_', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', '_', 's', 't', 'm', 't', '\030', '\365', '\001', ' ', '\001', '(', '\013', 
    '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 'n', 's', 'f', 'o', 
    'r', 'm', 'S', 't', 'm', 't', 'H', '\000', 'R', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 
    'S', 't', 'm', 't', '\022', ';', '\n', '\014', 'p', 'r', 'e', 'p', 'a', 'r', 'e', '_', 's', 't', 'm', 't', '\030', '\366', '\001', ' ', '\001', 
    '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'r', 'e', 'p', 'a', 'r', 'e', 'S', 't', 'm', 't', 
    'H', '\000', 'R', '\013', 'P', 'r', 'e', 'p', 'a', 'r', 'e', 'S', 't', 'm', 't', '\022', ';', '\n', '\014', 'e', 'x', 'e', 'c', 'u', 't', 
    'e', '_', 's', 't', 'm', 't', '\030', '\367', '\001', ' ', '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 't', 'H', '\000', 'R', '\013', 'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 
    't', '\022', 'D', '\n', '\017', 'd', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', '_', 's', 't', 'm', 't', '\030', '\370', '\001', ' ', '\001', 
    '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\016', 'D', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', 'B', '\n', '\017', 
    'd', 'r', 'o', 'p', '_', 'o', 'w', 'n', 'e', 'd', '_', 's', 't', 'm', 't', '\030', '\371', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', 'H', '\000', 'R', 
    '\r', 'D', 'r', 'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', '\022', 'N', '\n', '\023', 'r', 'e', 'a', 's', 's', 'i', 'g', 
    'n', '_', 'o', 'w', 'n', 'e', 'd', '_', 's', 't', 'm', 't', '\030', '\372', '\001', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'a', 's', 's', 'i', 'g', 'n', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', 'H', '\000', 
    'R', '\021', 'R', 'e', 'a', 's', 's', 'i', 'g', 'n', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', '\022', 'Z', '\n', '\027', 'a', 'l', 
    't', 'e', 'r', '_', 't', 's', 'd', 'i', 'c', 't', 'i', 'o', 'n', 'a', 'r', 'y', '_', 's', 't', 'm', 't', '\030', '\373', '\001', ' ', 
    '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'D', 'i', 'c', 
    't', 'i', 'o', 'n', 'a', 'r', 'y', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'D', 'i', 'c', 
    't', 'i', 'o', 'n', 'a', 'r', 'y', 'S', 't', 'm', 't', '\022', 'c', '\n', '\032', 'a', 'l', 't', 'e', 'r', '_', 't', 's', 'c', 'o', 
    'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\374', '\001', ' ', '\001', '(', '\013', '2', '\"', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 
    'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\030', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 
    'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'J', '\n', '\021', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 
    'o', 'n', '_', 't', 'a', 'b', 'l', 'e', '\030', '\375', '\001', ' ', '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'H', '\000', 'R', '\020', 'P', 'u', 'b', 
    'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', '\022', 'Q', '\n', '\024', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 
    'i', 'o', 'n', '_', 'o', 'b', 'j', '_', 's', 'p', 'e', 'c', '\030', '\376', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'H', 
    '\000', 'R', '\022', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', '\022', 'Z', '\n', '\027', 
    'c', 'r', 'e', 'a', 't', 'e', '_', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\377', 
    '\001', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'u', 
    'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'u', 
    'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'W', '\n', '\026', 'a', 'l', 't', 'e', 'r', '_', 'p', 'u', 
    'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\200', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 
    't', 'm', 't', 'H', '\000', 'R', '\024', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 
    'm', 't', '\022', ']', '\n', '\030', 'c', 'r', 'e', 'a', 't', 'e', '_', 's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 
    '_', 's', 't', 'm', 't', '\030', '\201', '\002', ' ', '\001', '(', '\013', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
    'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\026', 
    'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'Z', '\n', 
    '\027', 'a', 'l', 't', 'e', 'r', '_', 's', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', 
    '\202', '\002', ' ', '\001', '(', '\013', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 'u', 
    'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'H', '\000', 'R', '\025', 'A', 'l', 't', 'e', 'r', 'S', 'u', 
    'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 'W', '\n', '\026', 'd', 'r', 'o', 'p', '_', 's', 'u', 
    'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', '_', 's', 't', 'm', 't', '\030', '\203', '\002', ' ', '\001', '(', '\013', '2', '\036', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 
    'S', 't', 'm', 't', 'H', '\000', 'R', '\024', 'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 
    't', 'm', 't', '\022', '.', '\n', '\007', 'i', 'n', 't', 'e', 'g', 'e', 'r', '\030', '\204', '\002', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'e', 'g', 'e', 'r', 'H', '\000', 'R', '\007', 'I', 'n', 't', 'e', 'g', 'e', 
    'r', '\022', '(', '\n', '\005', 'f', 'l', 'o', 'a', 't', '\030', '\205', '\002', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'F', 'l', 'o', 'a', 't', 'H', '\000', 'R', '\005', 'F', 'l', 'o', 'a', 't', '\022', '.', '\n', '\007', 'b', 'o', 'o', 
    'l', 'e', 'a', 'n', '\030', '\206', '\002', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 
    'o', 'l', 'e', 'a', 'n', 'H', '\000', 'R', '\007', 'B', 'o', 'o', 'l', 'e', 'a', 'n', '\022', '+', '\n', '\006', 's', 't', 'r', 'i', 'n', 
    'g', '\030', '\207', '\002', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 't', 'r', 'i', 'n', 
    'g', 'H', '\000', 'R', '\006', 'S', 't', 'r', 'i', 'n', 'g', '\022', '5', '\n', '\n', 'b', 'i', 't', '_', 's', 't', 'r', 'i', 'n', 'g', 
    '\030', '\210', '\002', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'i', 't', 'S', 't', 'r', 
    'i', 'n', 'g', 'H', '\000', 'R', '\t', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', '\022', '%', '\n', '\004', 'l', 'i', 's', 't', '\030', 
    '\211', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 's', 't', 'H', '\000', 'R', 
    '\004', 'L', 'i', 's', 't', '\022', '/', '\n', '\010', 'i', 'n', 't', '_', 'l', 'i', 's', 't', '\030', '\212', '\002', ' ', '\001', '(', '\013', '2', 
    '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'L', 'i', 's', 't', 'H', '\000', 'R', '\007', 'I', 'n', 't', 
    'L', 'i', 's', 't', '\022', '/', '\n', '\010', 'o', 'i', 'd', '_', 'l', 'i', 's', 't', '\030', '\213', '\002', ' ', '\001', '(', '\013', '2', '\021', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'i', 'd', 'L', 'i', 's', 't', 'H', '\000', 'R', '\007', 'O', 'i', 'd', 'L', 
    'i', 's', 't', '\022', '.', '\n', '\007', 'a', '_', 'c', 'o', 'n', 's', 't', '\030', '\214', '\002', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'C', 'o', 'n', 's', 't', 'H', '\000', 'R', '\007', 'A', '_', 'C', 'o', 'n', 's', 
    't', 'B', '\006', '\n', '\004', 'n', 'o', 'd', 'e', '\"', '\027', '\n', '\007', 'I', 'n', 't', 'e', 'g', 'e', 'r', '\022', '\014', '\n', '\004', 'i', 
    'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\005', '\"', '\025', '\n', '\005', 'F', 'l', 'o', 'a', 't', '\022', '\014', '\n', '\004', 'f', 'v', 'a', 
    'l', '\030', '\001', ' ', '\001', '(', '\t', '\"', '\032', '\n', '\007', 'B', 'o', 'o', 'l', 'e', 'a', 'n', '\022', '\017', '\n', '\007', 'b', 'o', 'o', 
    'l', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\010', '\"', '\026', '\n', '\006', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\014', '\n', '\004', 's', 
    'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\t', '\"', '\032', '\n', '\t', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', '\022', '\r', '\n', 
    '\005', 'b', 's', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\t', '\"', '%', '\n', '\004', 'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 'i', 
    't', 'e', 'm', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', '\"', '(', '\n', '\007', 'O', 'i', 'd', 'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\001', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', '\"', '(', '\n', '\007', 'I', 'n', 't', 
    'L', 'i', 's', 't', '\022', '\035', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', '\"', '\344', '\001', '\n', '\007', 'A', '_', 'C', 'o', 'n', 's', 't', '\022', '!', '\n', 
    '\004', 'i', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 
    't', 'e', 'g', 'e', 'r', 'H', '\000', '\022', '\037', '\n', '\004', 'f', 'v', 'a', 'l', '\030', '\002', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'l', 'o', 'a', 't', 'H', '\000', '\022', '$', '\n', '\007', 'b', 'o', 'o', 'l', 'v', 'a', 
    'l', '\030', '\003', ' ', '\001', '(', '\013', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'e', 'a', 
    'n', 'H', '\000', '\022', ' ', '\n', '\004', 's', 'v', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'S', 't', 'r', 'i', 'n', 'g', 'H', '\000', '\022', '$', '\n', '\005', 'b', 's', 'v', 'a', 'l', '\030', '\005', ' ', '\001', 
    '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'B', 'i', 't', 'S', 't', 'r', 'i', 'n', 'g', 'H', '\000', 
    '\022', '\016', '\n', '\006', 'i', 's', 'n', 'u', 'l', 'l', '\030', '\n', ' ', '\001', '(', '\010', '\022', '\020', '\n', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', '\005', 'B', '\005', '\n', '\003', 'v', 'a', 'l', '\"', 'Q', '\n', '\005', 'A', 'l', 'i', 'a', 's', 
    '\022', '\034', '\n', '\t', 'a', 'l', 'i', 'a', 's', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\t', 'a', 'l', 'i', 'a', 
    's', 'n', 'a', 'm', 'e', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\"', 
    '\343', '\001', '\n', '\010', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', '\022', ' ', '\n', '\013', 'c', 'a', 't', 'a', 'l', 'o', 'g', 'n', 'a', 
    'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'c', 'a', 't', 'a', 'l', 'o', 'g', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 
    's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 
    'a', 'm', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'l', 
    'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'i', 'n', 'h', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 'h', '\022', '&', '\n', 
    '\016', 'r', 'e', 'l', 'p', 'e', 'r', 's', 'i', 's', 't', 'e', 'n', 'c', 'e', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\016', 'r', 'e', 
    'l', 'p', 'e', 'r', 's', 'i', 's', 't', 'e', 'n', 'c', 'e', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', 
    '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 
    's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\"', '\364', '\005', '\n', '\t', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', '3', '\n', '\010', 'f', 'u', 'n', 
    'c', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 
    'b', 'l', 'e', 'F', 'u', 'n', 'c', 'T', 'y', 'p', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 't', 'y', 'p', 'e', '\022', '(', '\n', '\007', 
    'n', 's', '_', 'u', 'r', 'i', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\007', 'n', 's', '_', 'u', 'r', 'i', 's', '\022', '*', '\n', '\010', 'n', 's', '_', 'n', 'a', 'm', 'e', 's', 
    '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'n', 
    's', '_', 'n', 'a', 'm', 'e', 's', '\022', '(', '\n', '\007', 'd', 'o', 'c', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'd', 'o', 'c', 'e', 'x', 'p', 'r', '\022', 
    '(', '\n', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'n', 'a', 
    'm', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', '*', '\n', '\010', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\007', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 't', 
    'y', 'p', 'e', 's', '\022', '.', '\n', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 
    'd', 's', '\022', '4', '\n', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\t', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 
    'a', 't', 'i', 'o', 'n', 's', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'e', 'x', 'p', 'r', 's', '\030', '\n', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'e', 'x', 'p', 'r', 's', 
    '\022', '0', '\n', '\013', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', 's', '\030', '\013', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', 's', 
    '\022', '0', '\n', '\013', 'c', 'o', 'l', 'v', 'a', 'l', 'e', 'x', 'p', 'r', 's', '\030', '\014', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'l', 'v', 'a', 'l', 'e', 'x', 'p', 'r', 's', 
    '\022', '8', '\n', '\017', 'p', 'a', 's', 's', 'i', 'n', 'g', 'v', 'a', 'l', 'e', 'x', 'p', 'r', 's', '\030', '\r', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'p', 'a', 's', 's', 'i', 'n', 'g', 
    'v', 'a', 'l', 'e', 'x', 'p', 'r', 's', '\022', '\032', '\n', '\010', 'n', 'o', 't', 'n', 'u', 'l', 'l', 's', '\030', '\016', ' ', '\003', '(', 
    '\004', 'R', '\010', 'n', 'o', 't', 'n', 'u', 'l', 'l', 's', '\022', '\"', '\n', '\004', 'p', 'l', 'a', 'n', '\030', '\017', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'p', 'l', 'a', 'n', '\022', '$', '\n', 
    '\r', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', 'c', 'o', 'l', '\030', '\020', ' ', '\001', '(', '\005', 'R', '\r', 'o', 'r', 'd', 
    'i', 'n', 'a', 'l', 'i', 't', 'y', 'c', 'o', 'l', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\021', ' ', 
    '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\333', '\002', '\n', '\n', 'I', 'n', 't', 'o', 'C', 'l', 'a', 
    'u', 's', 'e', '\022', '$', '\n', '\003', 'r', 'e', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\003', 'r', 'e', 'l', '\022', '+', '\n', '\t', 'c', 'o', 'l', '_', 'n', 
    'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\010', 'c', 'o', 'l', 'N', 'a', 'm', 'e', 's', '\022', '#', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 
    'h', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 'd', '\022', '(', 
    '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '5', '\n', '\t', 'o', 'n', '_', 'c', 'o', 'm', 
    'm', 'i', 't', '\030', '\005', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 
    'm', 'm', 'i', 't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\010', 'o', 'n', 'C', 'o', 'm', 'm', 'i', 't', '\022', '(', '\n', '\020', 't', 
    'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 
    'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'N', 'a', 'm', 'e', '\022', '-', '\n', '\n', 'v', 'i', 'e', 'w', '_', 'q', 'u', 'e', 'r', 
    'y', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 
    'v', 'i', 'e', 'w', 'Q', 'u', 'e', 'r', 'y', '\022', '\033', '\n', '\t', 's', 'k', 'i', 'p', '_', 'd', 'a', 't', 'a', '\030', '\010', ' ', 
    '\001', '(', '\010', 'R', '\010', 's', 'k', 'i', 'p', 'D', 'a', 't', 'a', '\"', '\225', '\002', '\n', '\003', 'V', 'a', 'r', '\022', ' ', '\n', '\003', 
    'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\003', 'x', 'p', 'r', '\022', '\024', '\n', '\005', 'v', 'a', 'r', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\005', 'v', 'a', 'r', 
    'n', 'o', '\022', '\032', '\n', '\010', 'v', 'a', 'r', 'a', 't', 't', 'n', 'o', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'v', 'a', 'r', 
    'a', 't', 't', 'n', 'o', '\022', '\030', '\n', '\007', 'v', 'a', 'r', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\007', 'v', 
    'a', 'r', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'v', 'a', 'r', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 
    'R', '\t', 'v', 'a', 'r', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\034', '\n', '\t', 'v', 'a', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\030', 
    '\006', ' ', '\001', '(', '\r', 'R', '\t', 'v', 'a', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '&', '\n', '\016', 'v', 'a', 'r', 'n', 'u', 
    'l', 'l', 'i', 'n', 'g', 'r', 'e', 'l', 's', '\030', '\007', ' ', '\003', '(', '\004', 'R', '\016', 'v', 'a', 'r', 'n', 'u', 'l', 'l', 'i', 
    'n', 'g', 'r', 'e', 'l', 's', '\022', ' ', '\n', '\013', 'v', 'a', 'r', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\010', ' ', '\001', 
    '(', '\r', 'R', '\013', 'v', 'a', 'r', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\364', '\001', '\n', '\005', 'P', 'a', 
    'r', 'a', 'm', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '1', '\n', '\t', 'p', 'a', 'r', 'a', 'm', 'k', 'i', 'n', 'd', 
    '\030', '\002', ' ', '\001', '(', '\016', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 'a', 'm', 'K', 'i', 
    'n', 'd', 'R', '\t', 'p', 'a', 'r', 'a', 'm', 'k', 'i', 'n', 'd', '\022', '\030', '\n', '\007', 'p', 'a', 'r', 'a', 'm', 'i', 'd', '\030', 
    '\003', ' ', '\001', '(', '\005', 'R', '\007', 'p', 'a', 'r', 'a', 'm', 'i', 'd', '\022', '\034', '\n', '\t', 'p', 'a', 'r', 'a', 'm', 't', 'y', 
    'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 'e', '\022', ' ', '\n', '\013', 'p', 'a', 
    'r', 'a', 'm', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\013', 'p', 'a', 'r', 'a', 'm', 't', 'y', 'p', 
    'm', 'o', 'd', '\022', ' ', '\n', '\013', 'p', 'a', 'r', 'a', 'm', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', 
    '\013', 'p', 'a', 'r', 'a', 'm', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
    '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\262', '\005', '\n', '\006', 'A', 'g', 'g', 'r', 'e', 
    'f', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'a', 'g', 'g', 'f', 'n', 'o', 'i', 'd', '\030', '\002', ' ', 
    '\001', '(', '\r', 'R', '\010', 'a', 'g', 'g', 'f', 'n', 'o', 'i', 'd', '\022', '\030', '\n', '\007', 'a', 'g', 'g', 't', 'y', 'p', 'e', '\030', 
    '\003', ' ', '\001', '(', '\r', 'R', '\007', 'a', 'g', 'g', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'a', 'g', 'g', 'c', 'o', 'l', 'l', 
    'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'a', 'g', 'g', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 
    'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 
    'l', 'i', 'd', '\022', '0', '\n', '\013', 'a', 'g', 'g', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'a', 'g', 'g', 'a', 'r', 'g', 't', 'y', 
    'p', 'e', 's', '\022', '4', '\n', '\r', 'a', 'g', 'g', 'd', 'i', 'r', 'e', 'c', 't', 'a', 'r', 'g', 's', '\030', '\007', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'a', 'g', 'g', 'd', 'i', 'r', 
    'e', 'c', 't', 'a', 'r', 'g', 's', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '*', '\n', '\010', 'a', 'g', 'g', 
    'o', 'r', 'd', 'e', 'r', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\010', 'a', 'g', 'g', 'o', 'r', 'd', 'e', 'r', '\022', '0', '\n', '\013', 'a', 'g', 'g', 'd', 'i', 's', 't', 'i', 'n', 
    'c', 't', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\013', 'a', 'g', 'g', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', ',', '\n', '\t', 'a', 'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', 
    '\030', '\013', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 
    'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', '\022', '\030', '\n', '\007', 'a', 'g', 'g', 's', 't', 'a', 'r', '\030', '\014', ' ', '\001', '(', '\010', 
    'R', '\007', 'a', 'g', 'g', 's', 't', 'a', 'r', '\022', ' ', '\n', '\013', 'a', 'g', 'g', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\030', 
    '\r', ' ', '\001', '(', '\010', 'R', '\013', 'a', 'g', 'g', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\022', '\030', '\n', '\007', 'a', 'g', 'g', 
    'k', 'i', 'n', 'd', '\030', '\016', ' ', '\001', '(', '\t', 'R', '\007', 'a', 'g', 'g', 'k', 'i', 'n', 'd', '\022', ' ', '\n', '\013', 'a', 'g', 
    'g', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\017', ' ', '\001', '(', '\r', 'R', '\013', 'a', 'g', 'g', 'l', 'e', 'v', 'e', 'l', 
    's', 'u', 'p', '\022', '.', '\n', '\010', 'a', 'g', 'g', 's', 'p', 'l', 'i', 't', '\030', '\020', ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'g', 'g', 'S', 'p', 'l', 'i', 't', 'R', '\010', 'a', 'g', 'g', 's', 'p', 'l', 'i', 
    't', '\022', '\024', '\n', '\005', 'a', 'g', 'g', 'n', 'o', '\030', '\021', ' ', '\001', '(', '\005', 'R', '\005', 'a', 'g', 'g', 'n', 'o', '\022', '\036', 
    '\n', '\n', 'a', 'g', 'g', 't', 'r', 'a', 'n', 's', 'n', 'o', '\030', '\022', ' ', '\001', '(', '\005', 'R', '\n', 'a', 'g', 'g', 't', 'r', 
    'a', 'n', 's', 'n', 'o', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\023', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\266', '\001', '\n', '\014', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'F', 'u', 'n', 'c', 
    '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\"', '\n', '\004', 'r', 
    'e', 'f', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\004', 'r', 'e', 'f', 's', '\022', ' ', '\n', '\013', 'a', 'g', 'g', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\004', ' ', '\001', 
    '(', '\r', 'R', '\013', 'a', 'g', 'g', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\221', '\003', '\n', '\n', 'W', 'i', 
    'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'w', 'i', 'n', 'f', 
    'n', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\010', 'w', 'i', 'n', 'f', 'n', 'o', 'i', 'd', '\022', '\030', '\n', '\007', 'w', 
    'i', 'n', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\007', 'w', 'i', 'n', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 
    'w', 'i', 'n', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'w', 'i', 'n', 'c', 'o', 'l', 'l', 'i', 
    'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\013', 'i', 
    'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 
    'a', 'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'g', 'g', 'f', 'i', 'l', 't', 'e', 'r', '\022', '3', '\n', '\r', 'r', 'u', 'n', '_', 
    'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'r', 'u', 'n', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '\026', '\n', '\006', 'w', 
    'i', 'n', 'r', 'e', 'f', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\006', 'w', 'i', 'n', 'r', 'e', 'f', '\022', '\030', '\n', '\007', 'w', 'i', 
    'n', 's', 't', 'a', 'r', '\030', '\n', ' ', '\001', '(', '\010', 'R', '\007', 'w', 'i', 'n', 's', 't', 'a', 'r', '\022', '\026', '\n', '\006', 'w', 
    'i', 'n', 'a', 'g', 'g', '\030', '\013', ' ', '\001', '(', '\010', 'R', '\006', 'w', 'i', 'n', 'a', 'g', 'g', '\022', '\032', '\n', '\010', 'l', 'o', 
    'c', 'a', 't', 'i', 'o', 'n', '\030', '\014', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\262', '\001', 
    '\n', '\026', 'W', 'i', 'n', 'd', 'o', 'w', 'F', 'u', 'n', 'c', 'R', 'u', 'n', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', 
    ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 
    'p', 'n', 'o', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', 
    '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\036', '\n', '\n', 'w', 'f', 'u', 'n', 'c', '_', 'l', 'e', 'f', 
    't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'w', 'f', 'u', 'n', 'c', '_', 'l', 'e', 'f', 't', '\022', ' ', '\n', '\003', 'a', 'r', 
    'g', '\030', '\005', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 
    'a', 'r', 'g', '\"', '\210', '\001', '\n', '\020', 'M', 'e', 'r', 'g', 'e', 'S', 'u', 'p', 'p', 'o', 'r', 't', 'F', 'u', 'n', 'c', '\022', 
    ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\030', '\n', '\007', 'm', 's', 'f', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 
    'R', '\007', 'm', 's', 'f', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'm', 's', 'f', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', 
    '\001', '(', '\r', 'R', '\t', 'm', 's', 'f', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\257', '\003', '\n', '\017', 'S', 'u', 'b', 
    's', 'c', 'r', 'i', 'p', 't', 'i', 'n', 'g', 'R', 'e', 'f', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '*', '\n', '\020', 
    'r', 'e', 'f', 'c', 'o', 'n', 't', 'a', 'i', 'n', 'e', 'r', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\020', 'r', 
    'e', 'f', 'c', 'o', 'n', 't', 'a', 'i', 'n', 'e', 'r', 't', 'y', 'p', 'e', '\022', ' ', '\n', '\013', 'r', 'e', 'f', 'e', 'l', 'e', 
    'm', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\013', 'r', 'e', 'f', 'e', 'l', 'e', 'm', 't', 'y', 'p', 'e', '\022', 
    '\036', '\n', '\n', 'r', 'e', 'f', 'r', 'e', 's', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 'f', 'r', 
    'e', 's', 't', 'y', 'p', 'e', '\022', '\034', '\n', '\t', 'r', 'e', 'f', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 
    'R', '\t', 'r', 'e', 'f', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\034', '\n', '\t', 'r', 'e', 'f', 'c', 'o', 'l', 'l', 'i', 'd', '\030', 
    '\006', ' ', '\001', '(', '\r', 'R', '\t', 'r', 'e', 'f', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '8', '\n', '\017', 'r', 'e', 'f', 'u', 'p', 
    'p', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'r', 'e', 'f', 'u', 'p', 'p', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', '\022', 
    '8', '\n', '\017', 'r', 'e', 'f', 'l', 'o', 'w', 'e', 'r', 'i', 'n', 'd', 'e', 'x', 'p', 'r', '\030', '\010', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'r', 'e', 'f', 'l', 'o', 'w', 'e', 'r', 
    'i', 'n', 'd', 'e', 'x', 'p', 'r', '\022', '(', '\n', '\007', 'r', 'e', 'f', 'e', 'x', 'p', 'r', '\030', '\t', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 'e', 'f', 'e', 'x', 'p', 'r', '\022', 
    '2', '\n', '\014', 'r', 'e', 'f', 'a', 's', 's', 'g', 'n', 'e', 'x', 'p', 'r', '\030', '\n', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'r', 'e', 'f', 'a', 's', 's', 'g', 'n', 'e', 'x', 'p', 
    'r', '\"', '\352', '\002', '\n', '\010', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\026', 
    '\n', '\006', 'f', 'u', 'n', 'c', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 'f', 'u', 'n', 'c', 'i', 'd', '\022', '&', '\n', 
    '\016', 'f', 'u', 'n', 'c', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\016', 'f', 'u', 
    'n', 'c', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\036', '\n', '\n', 'f', 'u', 'n', 'c', 'r', 'e', 't', 's', 'e', 
    't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'f', 'u', 'n', 'c', 'r', 'e', 't', 's', 'e', 't', '\022', '\"', '\n', '\014', 'f', 'u', 
    'n', 'c', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\014', 'f', 'u', 'n', 'c', 'v', 'a', 'r', 
    'i', 'a', 'd', 'i', 'c', '\022', '6', '\n', '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\006', ' ', '\001', '(', '\016', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', 
    '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\036', '\n', '\n', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'l', 'i', 'd', 
    '\030', '\007', ' ', '\001', '(', '\r', 'R', '\n', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 
    'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 
    'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\030', '\n', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\240', '\001', '\n', '\014', 'N', 'a', 'm', 'e', 
    'd', 'A', 'r', 'g', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', 
    '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 
    'g', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 
    'a', 'r', 'g', 'n', 'u', 'm', 'b', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\t', 'a', 'r', 'g', 'n', 'u', 'm', 'b', 'e', 
    'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\"', '\374', '\001', '\n', '\006', 'O', 'p', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', 
    '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 'n', 'o', '\022', '\"', '\n', '\014', 'o', 'p', 
    'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 
    't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 
    'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', 
    '\r', 'R', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 
    'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 
    'r', 'g', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', 
    '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\202', '\002', '\n', '\014', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', 'E', 'x', 'p', 
    'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', 
    '\004', 'o', 'p', 'n', 'o', '\022', '\"', '\n', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', 
    '(', '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 
    's', 'e', 't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 
    'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', 
    '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 
    'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\200', '\002', '\n', '\n', 
    'N', 'u', 'l', 'l', 'I', 'f', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 
    'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\004', 'o', 'p', 'n', 'o', '\022', '\"', '\n', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 
    't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\014', 'o', 'p', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', 
    '\022', '\032', '\n', '\010', 'o', 'p', 'r', 'e', 't', 's', 'e', 't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'p', 'r', 'e', 't', 
    's', 'e', 't', '\022', '\032', '\n', '\010', 'o', 'p', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\010', 'o', 'p', 
    'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', 
    '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\007', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 
    's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\"', '\302', '\001', '\n', '\021', 'S', 'c', 'a', 'l', 'a', 'r', 'A', 'r', 'r', 'a', 'y', 'O', 'p', 'E', 'x', 'p', 
    'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\022', '\n', '\004', 'o', 'p', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', 
    '\004', 'o', 'p', 'n', 'o', '\022', '\025', '\n', '\006', 'u', 's', 'e', '_', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\005', 'u', 's', 
    'e', 'O', 'r', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', 
    '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\005', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', 
    '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\"', '\234', '\001', '\n', '\010', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '.', 
    '\n', '\006', 'b', 'o', 'o', 'l', 'o', 'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', 'T', 'y', 'p', 'e', 'R', '\006', 'b', 'o', 'o', 'l', 'o', 'p', '\022', '\"', '\n', '\004', 
    'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 
    'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\251', '\002', '\n', '\007', 'S', 'u', 'b', 'L', 'i', 'n', 'k', '\022', ' ', '\n', 
    '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\003', 'x', 'p', 'r', '\022', '9', '\n', '\r', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '_', 't', 'y', 'p', 'e', '\030', '\002', 
    ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 
    'p', 'e', 'R', '\013', 's', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\013', 's', 'u', 'b', '_', 'l', 'i', 
    'n', 'k', '_', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\t', 's', 'u', 'b', 'L', 'i', 'n', 'k', 'I', 'd', '\022', '*', '\n', 
    '\010', 't', 'e', 's', 't', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 't', 'e', 's', 't', 'e', 'x', 'p', 'r', '\022', '+', '\n', '\t', 'o', 'p', 'e', 'r', '_', 
    'n', 'a', 'm', 'e', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\010', 'o', 'p', 'e', 'r', 'N', 'a', 'm', 'e', '\022', ',', '\n', '\t', 's', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', '\030', 
    '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 's', 'u', 
    'b', 's', 'e', 'l', 'e', 'c', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 
    'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\265', '\005', '\n', '\007', 'S', 'u', 'b', 'P', 'l', 'a', 'n', '\022', ' ', '\n', 
    '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\003', 'x', 'p', 'r', '\022', '9', '\n', '\r', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', '_', 't', 'y', 'p', 'e', '\030', '\002', 
    ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 
    'p', 'e', 'R', '\013', 's', 'u', 'b', 'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '*', '\n', '\010', 't', 'e', 's', 't', 'e', 'x', 
    'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\010', 't', 'e', 's', 't', 'e', 'x', 'p', 'r', '\022', '+', '\n', '\t', 'p', 'a', 'r', 'a', 'm', '_', 'i', 'd', 's', '\030', '\004', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'a', 'r', 'a', 
    'm', 'I', 'd', 's', '\022', '\030', '\n', '\007', 'p', 'l', 'a', 'n', '_', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\007', 'p', 'l', 
    'a', 'n', '_', 'i', 'd', '\022', '\034', '\n', '\t', 'p', 'l', 'a', 'n', '_', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', 
    '\t', 'p', 'l', 'a', 'n', '_', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\016', 'f', 'i', 'r', 's', 't', '_', 'c', 'o', 'l', '_', 't', 
    'y', 'p', 'e', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\014', 'f', 'i', 'r', 's', 't', 'C', 'o', 'l', 'T', 'y', 'p', 'e', '\022', '(', 
    '\n', '\020', 'f', 'i', 'r', 's', 't', '_', 'c', 'o', 'l', '_', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\010', ' ', '\001', '(', '\005', 'R', 
    '\016', 'f', 'i', 'r', 's', 't', 'C', 'o', 'l', 'T', 'y', 'p', 'm', 'o', 'd', '\022', '.', '\n', '\023', 'f', 'i', 'r', 's', 't', '_', 
    'c', 'o', 'l', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\021', 'f', 'i', 'r', 's', 
    't', 'C', 'o', 'l', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '$', '\n', '\016', 'u', 's', 'e', '_', 'h', 'a', 's', 'h', 
    '_', 't', 'a', 'b', 'l', 'e', '\030', '\n', ' ', '\001', '(', '\010', 'R', '\014', 'u', 's', 'e', 'H', 'a', 's', 'h', 'T', 'a', 'b', 'l', 
    'e', '\022', '(', '\n', '\020', 'u', 'n', 'k', 'n', 'o', 'w', 'n', '_', 'e', 'q', '_', 'f', 'a', 'l', 's', 'e', '\030', '\013', ' ', '\001', 
    '(', '\010', 'R', '\016', 'u', 'n', 'k', 'n', 'o', 'w', 'n', 'E', 'q', 'F', 'a', 'l', 's', 'e', '\022', '$', '\n', '\r', 'p', 'a', 'r', 
    'a', 'l', 'l', 'e', 'l', '_', 's', 'a', 'f', 'e', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\r', 'p', 'a', 'r', 'a', 'l', 'l', 'e', 
    'l', '_', 's', 'a', 'f', 'e', '\022', '+', '\n', '\t', 's', 'e', 't', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\r', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'e', 't', 'P', 'a', 'r', 'a', 
    'm', '\022', '+', '\n', '\t', 'p', 'a', 'r', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\016', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'a', 'r', 'P', 'a', 'r', 'a', 'm', '\022', '\"', '\n', '\004', 
    'a', 'r', 'g', 's', '\030', '\017', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\"', '\n', '\014', 's', 't', 'a', 'r', 't', 'u', 'p', '_', 'c', 'o', 's', 't', '\030', '\020', 
    ' ', '\001', '(', '\001', 'R', '\014', 's', 't', 'a', 'r', 't', 'u', 'p', '_', 'c', 'o', 's', 't', '\022', '$', '\n', '\r', 'p', 'e', 'r', 
    '_', 'c', 'a', 'l', 'l', '_', 'c', 'o', 's', 't', '\030', '\021', ' ', '\001', '(', '\001', 'R', '\r', 'p', 'e', 'r', '_', 'c', 'a', 'l', 
    'l', '_', 'c', 'o', 's', 't', '\"', 'b', '\n', '\022', 'A', 'l', 't', 'e', 'r', 'n', 'a', 't', 'i', 'v', 'e', 'S', 'u', 'b', 'P', 
    'l', 'a', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '*', '\n', '\010', 's', 'u', 'b', 'p', 'l', 'a', 'n', 's', '\030', 
    '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'u', 
    'b', 'p', 'l', 'a', 'n', 's', '\"', '\325', '\001', '\n', '\013', 'F', 'i', 'e', 'l', 'd', 'S', 'e', 'l', 'e', 'c', 't', '\022', ' ', '\n', 
    '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\032', '\n', '\010', 'f', 'i', 'e', 'l', 'd', 'n', 
    'u', 'm', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', '\022', '\036', '\n', '\n', 'r', 'e', 's', 
    'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', 
    '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 'r', 
    'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 
    'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\"', '\310', '\001', 
    '\n', '\n', 'F', 'i', 'e', 'l', 'd', 'S', 't', 'o', 'r', 'e', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 
    'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\003', 'a', 'r', 'g', '\022', '(', '\n', '\007', 'n', 'e', 'w', 'v', 'a', 'l', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'n', 'e', 'w', 'v', 'a', 'l', 's', '\022', ',', '\n', 
    '\t', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'f', 'i', 'e', 'l', 'd', 'n', 'u', 'm', 's', '\022', '\036', '\n', '\n', 'r', 'e', 's', 
    'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\005', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', 
    '\"', '\223', '\002', '\n', '\013', 'R', 'e', 'l', 'a', 'b', 'e', 'l', 'T', 'y', 'p', 'e', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', 
    ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', 
    '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', 
    ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 
    't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 
    'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\005', ' ', '\001', '(', '\r', 'R', 
    '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '<', '\n', '\r', 'r', 'e', 'l', 'a', 'b', 'e', 'l', 'f', 
    'o', 'r', 'm', 'a', 't', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 
    'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\r', 'r', 'e', 'l', 'a', 'b', 'e', 'l', 'f', 'o', 'r', 'm', 'a', 't', 
    '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\"', '\355', '\001', '\n', '\013', 'C', 'o', 'e', 'r', 'c', 'e', 'V', 'i', 'a', 'I', 'O', '\022', ' ', '\n', '\003', 'x', 'p', 
    'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 
    'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 
    'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 
    's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 
    'o', 'l', 'l', 'i', 'd', '\022', ':', '\n', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\005', ' ', '\001', 
    '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 
    'm', 'R', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\301', '\002', '\n', '\017', 'A', 'r', 
    'r', 'a', 'y', 'C', 'o', 'e', 'r', 'c', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', 
    '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\003', 'a', 'r', 'g', '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 'e', 'x', 'p', 'r', 
    '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 
    'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\005', 
    ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 
    'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 
    'l', 'l', 'i', 'd', '\022', ':', '\n', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\007', ' ', '\001', '(', 
    '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 
    'R', '\014', 'c', 'o', 'e', 'r', 'c', 'e', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\322', '\001', '\n', '\022', 'C', 'o', 'n', 
    'v', 'e', 'r', 't', 'R', 'o', 'w', 't', 'y', 'p', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', 
    ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', 
    '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '<', '\n', '\r', 'c', 'o', 'n', 'v', 'e', 'r', 
    't', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\r', 'c', 'o', 'n', 'v', 'e', 'r', 't', 'f', 'o', 'r', 'm', 
    'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\"', '\210', '\001', '\n', '\013', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 
    'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\031', '\n', '\010', 'c', 'o', 'l', 'l', '_', 'o', 'i', 
    'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\007', 'c', 'o', 'l', 'l', 'O', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\370', '\001', '\n', '\010', 'C', 
    'a', 's', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'c', 'a', 's', 'e', 't', 
    'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\010', 'c', 'a', 's', 'e', 't', 'y', 'p', 'e', '\022', '\036', '\n', '\n', 'c', 'a', 
    's', 'e', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'c', 'a', 's', 'e', 'c', 'o', 'l', 'l', 'i', 
    'd', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 
    'd', 'e', 'f', 'r', 'e', 's', 'u', 'l', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'd', 'e', 'f', 'r', 'e', 's', 'u', 'l', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\224', '\001', '\n', '\010', 
    'C', 'a', 's', 'e', 'W', 'h', 'e', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', 
    '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 
    'x', 'p', 'r', '\022', '&', '\n', '\006', 'r', 'e', 's', 'u', 'l', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'r', 'e', 's', 'u', 'l', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\202', '\001', '\n', 
    '\014', 'C', 'a', 's', 'e', 'T', 'e', 's', 't', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\027', '\n', 
    '\007', 't', 'y', 'p', 'e', '_', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\022', '\031', '\n', 
    '\010', 't', 'y', 'p', 'e', '_', 'm', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 'e', 'M', 'o', 'd', '\022', 
    '\034', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 
    't', 'i', 'o', 'n', '\"', '\203', '\002', '\n', '\t', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', 
    '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 
    'p', 'r', '\022', '\"', '\n', '\014', 'a', 'r', 'r', 'a', 'y', '_', 't', 'y', 'p', 'e', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', 
    '\014', 'a', 'r', 'r', 'a', 'y', '_', 't', 'y', 'p', 'e', 'i', 'd', '\022', '\"', '\n', '\014', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 
    'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\014', 'a', 'r', 'r', 'a', 'y', '_', 'c', 'o', 'l', 'l', 'i', 'd', '\022', 
    '&', '\n', '\016', 'e', 'l', 'e', 'm', 'e', 'n', 't', '_', 't', 'y', 'p', 'e', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\016', 
    'e', 'l', 'e', 'm', 'e', 'n', 't', '_', 't', 'y', 'p', 'e', 'i', 'd', '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 
    's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 
    'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\022', '\034', '\n', '\t', 'm', 'u', 'l', 't', 'i', 'd', 'i', 'm', 's', '\030', '\006', ' ', '\001', 
    '(', '\010', 'R', '\t', 'm', 'u', 'l', 't', 'i', 'd', 'i', 'm', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\357', '\001', '\n', '\007', 'R', 'o', 'w', 'E', 
    'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\036', 
    '\n', '\n', 'r', 'o', 'w', '_', 't', 'y', 'p', 'e', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'o', 'w', '_', 't', 
    'y', 'p', 'e', 'i', 'd', '\022', '6', '\n', '\n', 'r', 'o', 'w', '_', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\004', ' ', '\001', '(', '\016', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', 
    '\n', 'r', 'o', 'w', '_', 'f', 'o', 'r', 'm', 'a', 't', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\005', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 
    'n', 'a', 'm', 'e', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\272', '\002', '\n', '\016', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'E', 'x', 
    'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '0', '\n', '\006', 'r', 'c', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', 
    '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'w', 'C', 'o', 'm', 'p', 'a', 'r', 'e', 'T', 
    'y', 'p', 'e', 'R', '\006', 'r', 'c', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'o', 'p', 'n', 'o', 's', '\030', '\003', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'o', 'p', 'n', 'o', 's', '\022', 
    '.', '\n', '\n', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'i', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'i', 'e', 's', '\022', '2', '\n', 
    '\014', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', 's', '\022', 
    '$', '\n', '\005', 'l', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\005', 'l', 'a', 'r', 'g', 's', '\022', '$', '\n', '\005', 'r', 'a', 'r', 'g', 's', '\030', '\007', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'a', 'r', 'g', 's', 
    '\"', '\274', '\001', '\n', '\014', 'C', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', 
    '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 
    'r', '\022', '\"', '\n', '\014', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\014', 
    'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 't', 'y', 'p', 'e', '\022', '&', '\n', '\016', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'c', 
    'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\016', 'c', 'o', 'a', 'l', 'e', 's', 'c', 'e', 'c', 'o', 'l', 'l', 
    'i', 'd', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\370', '\001', '\n', '\n', 'M', 'i', 'n', 'M', 
    'a', 'x', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\036', '\n', '\n', 'm', 'i', 'n', 'm', 'a', 'x', 
    't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\n', 'm', 'i', 'n', 'm', 'a', 'x', 't', 'y', 'p', 'e', '\022', '\"', '\n', 
    '\014', 'm', 'i', 'n', 'm', 'a', 'x', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\014', 'm', 'i', 'n', 'm', 
    'a', 'x', 'c', 'o', 'l', 'l', 'i', 'd', '\022', ' ', '\n', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\004', 
    ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'p', 'u', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\002', 'o', 'p', '\030', '\005', 
    ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'i', 'n', 'M', 'a', 'x', 'O', 'p', 'R', 
    '\002', 'o', 'p', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\252', '\001', '\n', '\020', 'S', 'Q', 'L', 
    'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ',', '\n', 
    '\002', 'o', 'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'Q', 'L', 'V', 
    'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'O', 'p', 'R', '\002', 'o', 'p', '\022', '\022', '\n', '\004', 't', 'y', 'p', 
    'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\004', 't', 'y', 'p', 'e', '\022', '\026', '\n', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\004', 
    ' ', '\001', '(', '\005', 'R', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
    '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\375', '\002', '\n', '\007', 'X', 'm', 'l', 'E', 'x', 
    'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '#', '\n', '\002', 'o', 'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\023', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 'E', 'x', 'p', 'r', 'O', 'p', 'R', '\002', 'o', 'p', '\022', '\022', 
    '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\n', 'n', 'a', 'm', 
    'e', 'd', '_', 'a', 'r', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\n', 'n', 'a', 'm', 'e', 'd', '_', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'a', 'r', 'g', '_', 'n', 
    'a', 'm', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\t', 'a', 'r', 'g', '_', 'n', 'a', 'm', 'e', 's', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '5', 
    '\n', '\t', 'x', 'm', 'l', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'X', 'm', 'l', 'O', 'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'R', '\t', 'x', 'm', 'l', 'o', 'p', 't', 
    'i', 'o', 'n', '\022', '\026', '\n', '\006', 'i', 'n', 'd', 'e', 'n', 't', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\006', 'i', 'n', 'd', 'e', 
    'n', 't', '\022', '\022', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\004', 't', 'y', 'p', 'e', '\022', '\026', '\n', 
    '\006', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\n', ' ', '\001', '(', '\005', 'R', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\032', '\n', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
    '\230', '\001', '\n', '\n', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', '\022', ':', '\n', '\013', 'f', 'o', 'r', 'm', 'a', 't', '_', 
    't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 
    'n', 'F', 'o', 'r', 'm', 'a', 't', 'T', 'y', 'p', 'e', 'R', '\013', 'f', 'o', 'r', 'm', 'a', 't', '_', 't', 'y', 'p', 'e', '\022', 
    '2', '\n', '\010', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '\030', '\002', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'E', 'n', 'c', 'o', 'd', 'i', 'n', 'g', 'R', '\010', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 
    'g', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\"', 'k', '\n', '\r', 'J', 's', 'o', 'n', 'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\022', ',', '\n', '\006', 
    'f', 'o', 'r', 'm', 'a', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 
    's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\024', '\n', '\005', 't', 'y', 'p', 'i', 
    'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\005', 't', 'y', 'p', 'i', 'd', '\022', '\026', '\n', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\030', 
    '\003', ' ', '\001', '(', '\005', 'R', '\006', 't', 'y', 'p', 'm', 'o', 'd', '\"', '\241', '\001', '\n', '\r', 'J', 's', 'o', 'n', 'V', 'a', 'l', 
    'u', 'e', 'E', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'r', 'a', 'w', '_', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'a', 'w', '_', 'e', 'x', 'p', 'r', 
    '\022', '6', '\n', '\016', 'f', 'o', 'r', 'm', 'a', 't', 't', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'f', 'o', 'r', 'm', 'a', 't', 't', 'e', 
    'd', '_', 'e', 'x', 'p', 'r', '\022', ',', '\n', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 
    'a', 't', '\"', '\361', '\002', '\n', '\023', 'J', 's', 'o', 'n', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'E', 'x', 'p', 
    'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '1', '\n', '\004', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', 
    '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 
    'r', 'T', 'y', 'p', 'e', 'R', '\004', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\"', '\n', 
    '\004', 'f', 'u', 'n', 'c', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\004', 'f', 'u', 'n', 'c', '\022', '*', '\n', '\010', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'e', 'r', 'c', 'i', 
    'o', 'n', '\022', '5', '\n', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\030', '\006', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'R', '\t', 'r', 'e', 
    't', 'u', 'r', 'n', 'i', 'n', 'g', '\022', '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', 
    '\030', '\007', ' ', '\001', '(', '\010', 'R', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', '\022', '\026', '\n', 
    '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\022', '\032', '\n', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
    '\330', '\001', '\n', '\017', 'J', 's', 'o', 'n', 'I', 's', 'P', 'r', 'e', 'd', 'i', 'c', 'a', 't', 'e', '\022', '\"', '\n', '\004', 'e', 'x', 
    'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\004', 'e', 'x', 'p', 'r', '\022', ',', '\n', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 'a', 
    't', '\022', '5', '\n', '\t', 'i', 't', 'e', 'm', '_', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'T', 'y', 'p', 'e', 'R', '\t', 'i', 't', 'e', 
    'm', '_', 't', 'y', 'p', 'e', '\022', ' ', '\n', '\013', 'u', 'n', 'i', 'q', 'u', 'e', '_', 'k', 'e', 'y', 's', '\030', '\004', ' ', '\001', 
    '(', '\010', 'R', '\013', 'u', 'n', 'i', 'q', 'u', 'e', '_', 'k', 'e', 'y', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\230', '\001', '\n', '\014', 'J', 's', 
    'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '0', '\n', '\005', 'b', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', 
    '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'T', 
    'y', 'p', 'e', 'R', '\005', 'b', 't', 'y', 'p', 'e', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', '\026', '\n', '\006', 
    'c', 'o', 'e', 'r', 'c', 'e', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\006', 'c', 'o', 'e', 'r', 'c', 'e', '\022', '\032', '\n', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\372', 
    '\005', '\n', '\010', 'J', 's', 'o', 'n', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '$', '\n', '\002', 'o', 
    'p', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'E', 'x', 
    'p', 'r', 'O', 'p', 'R', '\002', 'o', 'p', '\022', ' ', '\n', '\013', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'n', 'a', 'm', 'e', '\030', '\003', 
    ' ', '\001', '(', '\t', 'R', '\013', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'n', 'a', 'm', 'e', '\022', '6', '\n', '\016', 'f', 'o', 'r', 'm', 
    'a', 't', 't', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'f', 'o', 'r', 'm', 'a', 't', 't', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\022', ',', 
    '\n', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\005', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\022', ',', '\n', '\t', 'p', 'a', 
    't', 'h', '_', 's', 'p', 'e', 'c', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\t', 'p', 'a', 't', 'h', '_', 's', 'p', 'e', 'c', '\022', '5', '\n', '\t', 'r', 'e', 't', 'u', 'r', 'n', 
    'i', 'n', 'g', '\030', '\007', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 
    'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'R', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\022', '4', '\n', '\r', 'p', 
    'a', 's', 's', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'p', 'a', 's', 's', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', 's', '\022', 
    '6', '\n', '\016', 'p', 'a', 's', 's', 'i', 'n', 'g', '_', 'v', 'a', 'l', 'u', 'e', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'p', 'a', 's', 's', 'i', 'n', 'g', '_', 'v', 
    'a', 'l', 'u', 'e', 's', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'm', 'p', 't', 'y', '\030', '\n', ' ', '\001', '(', '\013', '2', '\026', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'o', 
    'n', '_', 'e', 'm', 'p', 't', 'y', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\030', '\013', ' ', '\001', '(', '\013', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', 
    '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\022', '(', '\n', '\017', 'u', 's', 'e', '_', 'i', 'o', '_', 'c', 'o', 'e', 'r', 'c', 
    'i', 'o', 'n', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\017', 'u', 's', 'e', '_', 'i', 'o', '_', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 
    'n', '\022', ',', '\n', '\021', 'u', 's', 'e', '_', 'j', 's', 'o', 'n', '_', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 'n', '\030', '\r', ' ', 
    '\001', '(', '\010', 'R', '\021', 'u', 's', 'e', '_', 'j', 's', 'o', 'n', '_', 'c', 'o', 'e', 'r', 'c', 'i', 'o', 'n', '\022', '/', '\n', 
    '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\030', '\016', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'J', 's', 'o', 'n', 'W', 'r', 'a', 'p', 'p', 'e', 'r', 'R', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\022', ' ', '\n', '\013', 
    'o', 'm', 'i', 't', '_', 'q', 'u', 'o', 't', 'e', 's', '\030', '\017', ' ', '\001', '(', '\010', 'R', '\013', 'o', 'm', 'i', 't', '_', 'q', 
    'u', 'o', 't', 'e', 's', '\022', '\034', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\020', ' ', '\001', '(', '\r', 'R', 
    '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\021', ' ', 
    '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '#', '\n', '\r', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 
    'e', 'P', 'a', 't', 'h', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', 
    '\"', '\342', '\001', '\n', '\021', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 'S', 'c', 'a', 'n', '\022', '\"', '\n', 
    '\004', 'p', 'l', 'a', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\004', 'p', 'l', 'a', 'n', '\022', '+', '\n', '\004', 'p', 'a', 't', 'h', '\030', '\002', ' ', '\001', '(', '\013', '2', '\027', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 'R', '\004', 'p', 
    'a', 't', 'h', '\022', '$', '\n', '\016', 'e', 'r', 'r', 'o', 'r', '_', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\030', '\003', ' ', '\001', 
    '(', '\010', 'R', '\014', 'e', 'r', 'r', 'o', 'r', 'O', 'n', 'E', 'r', 'r', 'o', 'r', '\022', '$', '\n', '\005', 'c', 'h', 'i', 'l', 'd', 
    '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'c', 
    'h', 'i', 'l', 'd', '\022', '\027', '\n', '\007', 'c', 'o', 'l', '_', 'm', 'i', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\006', 'c', 'o', 
    'l', 'M', 'i', 'n', '\022', '\027', '\n', '\007', 'c', 'o', 'l', '_', 'm', 'a', 'x', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\006', 'c', 'o', 
    'l', 'M', 'a', 'x', '\"', '\206', '\001', '\n', '\024', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'S', 'i', 'b', 'l', 'i', 'n', 'g', 
    'J', 'o', 'i', 'n', '\022', '\"', '\n', '\004', 'p', 'l', 'a', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'p', 'l', 'a', 'n', '\022', '$', '\n', '\005', 'l', 'p', 'l', 'a', 'n', '\030', 
    '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'l', 'p', 
    'l', 'a', 'n', '\022', '$', '\n', '\005', 'r', 'p', 'l', 'a', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'p', 'l', 'a', 'n', '\"', '\302', '\001', '\n', '\010', 'N', 'u', 'l', 'l', 
    'T', 'e', 's', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', ':', '\n', 
    '\014', 'n', 'u', 'l', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'n', 'u', 'l', 'l', 't', 
    'e', 's', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'a', 'r', 'g', 'i', 's', 'r', 'o', 'w', '\030', '\004', ' ', '\001', '(', '\010', 
    'R', '\010', 'a', 'r', 'g', 'i', 's', 'r', 'o', 'w', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', 
    '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\251', '\001', '\n', '\013', 'B', 'o', 'o', 'l', 'e', 'a', 'n', 
    'T', 'e', 's', 't', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', ':', '\n', 
    '\014', 'b', 'o', 'o', 'l', 't', 'e', 's', 't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'B', 'o', 'o', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'b', 'o', 'o', 'l', 't', 
    'e', 's', 't', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 
    'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\274', '\002', '\n', '\013', 'M', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 
    'n', '\022', '7', '\n', '\n', 'm', 'a', 't', 'c', 'h', '_', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'M', 'a', 't', 'c', 'h', 'K', 'i', 'n', 'd', 'R', '\t', 'm', 
    'a', 't', 'c', 'h', 'K', 'i', 'n', 'd', '\022', '4', '\n', '\014', 'c', 'o', 'm', 'm', 'a', 'n', 'd', '_', 't', 'y', 'p', 'e', '\030', 
    '\002', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'm', 'd', 'T', 'y', 'p', 'e', 'R', 
    '\013', 'c', 'o', 'm', 'm', 'a', 'n', 'd', 'T', 'y', 'p', 'e', '\022', '4', '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', 
    '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 
    'n', 'g', 'K', 'i', 'n', 'd', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\022', '\"', '\n', '\004', 'q', 'u', 'a', 'l', '\030', 
    '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'q', 'u', 
    'a', 'l', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 
    't', '\022', '3', '\n', '\r', 'u', 'p', 'd', 'a', 't', 'e', '_', 'c', 'o', 'l', 'n', 'o', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'u', 'p', 'd', 'a', 't', 'e', 'C', 'o', 
    'l', 'n', 'o', 's', '\"', '\230', '\002', '\n', '\016', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 'o', 'D', 'o', 'm', 'a', 'i', 'n', '\022', ' ', 
    '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'u', 'l', 
    't', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'e', '\022', '\"', 
    '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\014', 'r', 'e', 's', 
    'u', 'l', 't', 't', 'y', 'p', 'm', 'o', 'd', '\022', '\"', '\n', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', 
    '\030', '\005', ' ', '\001', '(', '\r', 'R', '\014', 'r', 'e', 's', 'u', 'l', 't', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '>', '\n', '\016', 'c', 
    'o', 'e', 'r', 'c', 'i', 'o', 'n', 'f', 'o', 'r', 'm', 'a', 't', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 'R', '\016', 'c', 'o', 'e', 'r', 'c', 
    'i', 'o', 'n', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', 
    '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\245', '\001', '\n', '\023', 'C', 'o', 'e', 'r', 'c', 'e', 'T', 'o', 
    'D', 'o', 'm', 'a', 'i', 'n', 'V', 'a', 'l', 'u', 'e', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\027', '\n', '\007', 't', 
    'y', 'p', 'e', '_', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\022', '\031', '\n', '\010', 't', 
    'y', 'p', 'e', '_', 'm', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 'e', 'M', 'o', 'd', '\022', '\034', '\n', 
    '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 
    'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\"', '\236', '\001', '\n', '\014', 'S', 'e', 't', 'T', 'o', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\022', ' ', '\n', 
    '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\003', 'x', 'p', 'r', '\022', '\027', '\n', '\007', 't', 'y', 'p', 'e', '_', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 
    't', 'y', 'p', 'e', 'I', 'd', '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 'm', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\005', 'R', 
    '\007', 't', 'y', 'p', 'e', 'M', 'o', 'd', '\022', '\034', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', 
    '(', '\r', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\217', '\001', '\n', '\r', 'C', 'u', 'r', 'r', 
    'e', 'n', 't', 'O', 'f', 'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\026', '\n', '\006', 'c', 'v', 'a', 
    'r', 'n', 'o', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\006', 'c', 'v', 'a', 'r', 'n', 'o', '\022', ' ', '\n', '\013', 'c', 'u', 'r', 's', 
    'o', 'r', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\013', 'c', 'u', 'r', 's', 'o', 'r', '_', 'n', 'a', 'm', 
    'e', '\022', '\"', '\n', '\014', 'c', 'u', 'r', 's', 'o', 'r', '_', 'p', 'a', 'r', 'a', 'm', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\014', 
    'c', 'u', 'r', 's', 'o', 'r', '_', 'p', 'a', 'r', 'a', 'm', '\"', '`', '\n', '\r', 'N', 'e', 'x', 't', 'V', 'a', 'l', 'u', 'e', 
    'E', 'x', 'p', 'r', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\024', '\n', '\005', 's', 'e', 'q', 'i', 'd', '\030', '\002', ' ', 
    '\001', '(', '\r', 'R', '\005', 's', 'e', 'q', 'i', 'd', '\022', '\027', '\n', '\007', 't', 'y', 'p', 'e', '_', 'i', 'd', '\030', '\003', ' ', '\001', 
    '(', '\r', 'R', '\006', 't', 'y', 'p', 'e', 'I', 'd', '\"', '\233', '\001', '\n', '\r', 'I', 'n', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'E', 
    'l', 'e', 'm', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', ' ', 
    '\n', '\013', 'i', 'n', 'f', 'e', 'r', 'c', 'o', 'l', 'l', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 'f', 'e', 
    'r', 'c', 'o', 'l', 'l', 'i', 'd', '\022', '\"', '\n', '\014', 'i', 'n', 'f', 'e', 'r', 'o', 'p', 'c', 'l', 'a', 's', 's', '\030', '\004', 
    ' ', '\001', '(', '\r', 'R', '\014', 'i', 'n', 'f', 'e', 'r', 'o', 'p', 'c', 'l', 'a', 's', 's', '\"', '\207', '\002', '\n', '\013', 'T', 'a', 
    'r', 'g', 'e', 't', 'E', 'n', 't', 'r', 'y', '\022', ' ', '\n', '\003', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'x', 'p', 'r', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 
    'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 
    'e', 'x', 'p', 'r', '\022', '\024', '\n', '\005', 'r', 'e', 's', 'n', 'o', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\005', 'r', 'e', 's', 'n', 
    'o', '\022', '\030', '\n', '\007', 'r', 'e', 's', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 's', 'n', 'a', 
    'm', 'e', '\022', '(', '\n', '\017', 'r', 'e', 's', 's', 'o', 'r', 't', 'g', 'r', 'o', 'u', 'p', 'r', 'e', 'f', '\030', '\005', ' ', '\001', 
    '(', '\r', 'R', '\017', 'r', 'e', 's', 's', 'o', 'r', 't', 'g', 'r', 'o', 'u', 'p', 'r', 'e', 'f', '\022', '\036', '\n', '\n', 'r', 'e', 
    's', 'o', 'r', 'i', 'g', 't', 'b', 'l', '\030', '\006', ' ', '\001', '(', '\r', 'R', '\n', 'r', 'e', 's', 'o', 'r', 'i', 'g', 't', 'b', 
    'l', '\022', '\036', '\n', '\n', 'r', 'e', 's', 'o', 'r', 'i', 'g', 'c', 'o', 'l', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\n', 'r', 'e', 
    's', 'o', 'r', 'i', 'g', 'c', 'o', 'l', '\022', '\030', '\n', '\007', 'r', 'e', 's', 'j', 'u', 'n', 'k', '\030', '\010', ' ', '\001', '(', '\010', 
    'R', '\007', 'r', 'e', 's', 'j', 'u', 'n', 'k', '\"', '\'', '\n', '\013', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'R', 'e', 'f', '\022', 
    '\030', '\n', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', '\030', '\001', ' ', '\001', '(', '\005', 'R', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', 
    '\"', '\370', '\002', '\n', '\010', 'J', 'o', 'i', 'n', 'E', 'x', 'p', 'r', '\022', '.', '\n', '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', 
    '\030', '\001', ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 'o', 'i', 'n', 'T', 'y', 'p', 
    'e', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\022', '\035', '\n', '\n', 'i', 's', '_', 'n', 'a', 't', 'u', 'r', 'a', 'l', 
    '\030', '\002', ' ', '\001', '(', '\010', 'R', '\t', 'i', 's', 'N', 'a', 't', 'u', 'r', 'a', 'l', '\022', '\"', '\n', '\004', 'l', 'a', 'r', 'g', 
    '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'l', 
    'a', 'r', 'g', '\022', '\"', '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'r', 'a', 'r', 'g', '\022', '1', '\n', '\014', 'u', 's', 'i', 'n', 'g', '_', 'c', 
    'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\013', 'u', 's', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', ';', '\n', '\020', 'j', 'o', 'i', 'n', '_', 'u', 
    's', 'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 
    's', '\022', '$', '\n', '\005', 'q', 'u', 'a', 'l', 's', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'a', 'l', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\010', 
    ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 
    'i', 'a', 's', '\022', '\030', '\n', '\007', 'r', 't', 'i', 'n', 'd', 'e', 'x', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\007', 'r', 't', 'i', 
    'n', 'd', 'e', 'x', '\"', '\\', '\n', '\010', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'f', 'r', 'o', 'm', 'l', 
    'i', 's', 't', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 'f', 'r', 'o', 'm', 'l', 'i', 's', 't', '\022', '$', '\n', '\005', 'q', 'u', 'a', 'l', 's', '\030', '\002', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'a', 'l', 's', '\"', '\236', 
    '\003', '\n', '\016', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', '\022', '2', '\n', '\006', 'a', 'c', 't', 'i', 
    'o', 'n', '\030', '\001', ' ', '\001', '(', '\016', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 
    'f', 'l', 'i', 'c', 't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\022', '3', '\n', '\r', 'a', 'r', 
    'b', 'i', 't', 'e', 'r', '_', 'e', 'l', 'e', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'a', 'r', 'b', 'i', 't', 'e', 'r', 'E', 'l', 'e', 'm', 's', '\022', '3', '\n', 
    '\r', 'a', 'r', 'b', 'i', 't', 'e', 'r', '_', 'w', 'h', 'e', 'r', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'a', 'r', 'b', 'i', 't', 'e', 'r', 'W', 'h', 'e', 'r', 'e', 
    '\022', '\036', '\n', '\n', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\n', 'c', 'o', 'n', 
    's', 't', 'r', 'a', 'i', 'n', 't', '\022', '6', '\n', '\017', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 's', 'e', 
    't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 
    'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'S', 'e', 't', '\022', ':', '\n', '\021', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 
    'i', 'c', 't', '_', 'w', 'h', 'e', 'r', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'W', 'h', 'e', 'r', 'e', '\022', '$', 
    '\n', '\016', 'e', 'x', 'c', 'l', '_', 'r', 'e', 'l', '_', 'i', 'n', 'd', 'e', 'x', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\014', 'e', 
    'x', 'c', 'l', 'R', 'e', 'l', 'I', 'n', 'd', 'e', 'x', '\022', '4', '\n', '\016', 'e', 'x', 'c', 'l', '_', 'r', 'e', 'l', '_', 't', 
    'l', 'i', 's', 't', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\014', 'e', 'x', 'c', 'l', 'R', 'e', 'l', 'T', 'l', 'i', 's', 't', '\"', '\306', '\017', '\n', '\005', 'Q', 'u', 'e', 'r', 'y', 
    '\022', '4', '\n', '\014', 'c', 'o', 'm', 'm', 'a', 'n', 'd', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\021', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'm', 'd', 'T', 'y', 'p', 'e', 'R', '\013', 'c', 'o', 'm', 'm', 'a', 'n', 'd', 
    'T', 'y', 'p', 'e', '\022', '8', '\n', '\014', 'q', 'u', 'e', 'r', 'y', '_', 's', 'o', 'u', 'r', 'c', 'e', '\030', '\002', ' ', '\001', '(', 
    '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'Q', 'u', 'e', 'r', 'y', 'S', 'o', 'u', 'r', 'c', 'e', 'R', 
    '\013', 'q', 'u', 'e', 'r', 'y', 'S', 'o', 'u', 'r', 'c', 'e', '\022', '\036', '\n', '\013', 'c', 'a', 'n', '_', 's', 'e', 't', '_', 't', 
    'a', 'g', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\t', 'c', 'a', 'n', 'S', 'e', 't', 'T', 'a', 'g', '\022', '1', '\n', '\014', 'u', 't', 
    'i', 'l', 'i', 't', 'y', '_', 's', 't', 'm', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 't', 'i', 'l', 'i', 't', 'y', 'S', 't', 'm', 't', '\022', '\'', '\n', '\017', 'r', 
    'e', 's', 'u', 'l', 't', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\016', 'r', 'e', 's', 
    'u', 'l', 't', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\031', '\n', '\010', 'h', 'a', 's', '_', 'a', 'g', 'g', 's', '\030', '\006', 
    ' ', '\001', '(', '\010', 'R', '\007', 'h', 'a', 's', 'A', 'g', 'g', 's', '\022', '(', '\n', '\020', 'h', 'a', 's', '_', 'w', 'i', 'n', 'd', 
    'o', 'w', '_', 'f', 'u', 'n', 'c', 's', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\016', 'h', 'a', 's', 'W', 'i', 'n', 'd', 'o', 'w', 
    'F', 'u', 'n', 'c', 's', '\022', '&', '\n', '\017', 'h', 'a', 's', '_', 't', 'a', 'r', 'g', 'e', 't', '_', 's', 'r', 'f', 's', '\030', 
    '\010', ' ', '\001', '(', '\010', 'R', '\r', 'h', 'a', 's', 'T', 'a', 'r', 'g', 'e', 't', 'S', 'R', 'F', 's', '\022', '\"', '\n', '\r', 'h', 
    'a', 's', '_', 's', 'u', 'b', '_', 'l', 'i', 'n', 'k', 's', '\030', '\t', ' ', '\001', '(', '\010', 'R', '\013', 'h', 'a', 's', 'S', 'u', 
    'b', 'L', 'i', 'n', 'k', 's', '\022', '&', '\n', '\017', 'h', 'a', 's', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'o', 'n', 
    '\030', '\n', ' ', '\001', '(', '\010', 'R', '\r', 'h', 'a', 's', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', 'O', 'n', '\022', '#', '\n', '\r', 
    'h', 'a', 's', '_', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\030', '\013', ' ', '\001', '(', '\010', 'R', '\014', 'h', 'a', 's', 'R', 
    'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', '*', '\n', '\021', 'h', 'a', 's', '_', 'm', 'o', 'd', 'i', 'f', 'y', 'i', 'n', 'g', 
    '_', 'c', 't', 'e', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\017', 'h', 'a', 's', 'M', 'o', 'd', 'i', 'f', 'y', 'i', 'n', 'g', 'C', 
    'T', 'E', '\022', '$', '\n', '\016', 'h', 'a', 's', '_', 'f', 'o', 'r', '_', 'u', 'p', 'd', 'a', 't', 'e', '\030', '\r', ' ', '\001', '(', 
    '\010', 'R', '\014', 'h', 'a', 's', 'F', 'o', 'r', 'U', 'p', 'd', 'a', 't', 'e', '\022', '(', '\n', '\020', 'h', 'a', 's', '_', 'r', 'o', 
    'w', '_', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\016', 'h', 'a', 's', 'R', 'o', 'w', 'S', 
    'e', 'c', 'u', 'r', 'i', 't', 'y', '\022', '\033', '\n', '\t', 'i', 's', '_', 'r', 'e', 't', 'u', 'r', 'n', '\030', '\017', ' ', '\001', '(', 
    '\010', 'R', '\010', 'i', 's', 'R', 'e', 't', 'u', 'r', 'n', '\022', ')', '\n', '\010', 'c', 't', 'e', '_', 'l', 'i', 's', 't', '\030', '\020', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 't', 'e', 
    'L', 'i', 's', 't', '\022', '&', '\n', '\006', 'r', 't', 'a', 'b', 'l', 'e', '\030', '\021', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'r', 't', 'a', 'b', 'l', 'e', '\022', '2', '\n', '\014', 'r', 't', 
    'e', 'p', 'e', 'r', 'm', 'i', 'n', 'f', 'o', 's', '\030', '\022', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'r', 't', 'e', 'p', 'e', 'r', 'm', 'i', 'n', 'f', 'o', 's', '\022', '.', '\n', '\010', 
    'j', 'o', 'i', 'n', 't', 'r', 'e', 'e', '\030', '\023', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'F', 'r', 'o', 'm', 'E', 'x', 'p', 'r', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'r', 'e', 'e', '\022', ':', '\n', '\021', 'm', 'e', 
    'r', 'g', 'e', '_', 'a', 'c', 't', 'i', 'o', 'n', '_', 'l', 'i', 's', 't', '\030', '\024', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'm', 'e', 'r', 'g', 'e', 'A', 'c', 't', 'i', 'o', 'n', 
    'L', 'i', 's', 't', '\022', '2', '\n', '\025', 'm', 'e', 'r', 'g', 'e', '_', 't', 'a', 'r', 'g', 'e', 't', '_', 'r', 'e', 'l', 'a', 
    't', 'i', 'o', 'n', '\030', '\025', ' ', '\001', '(', '\005', 'R', '\023', 'm', 'e', 'r', 'g', 'e', 'T', 'a', 'r', 'g', 'e', 't', 'R', 'e', 
    'l', 'a', 't', 'i', 'o', 'n', '\022', '@', '\n', '\024', 'm', 'e', 'r', 'g', 'e', '_', 'j', 'o', 'i', 'n', '_', 'c', 'o', 'n', 'd', 
    'i', 't', 'i', 'o', 'n', '\030', '\026', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\022', 'm', 'e', 'r', 'g', 'e', 'J', 'o', 'i', 'n', 'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '/', '\n', 
    '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\027', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '4', '\n', '\010', 
    'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\030', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', 
    '\022', '9', '\n', '\013', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '\030', '\031', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'E', 'x', 'p', 'r', 'R', '\n', 'o', 
    'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', '\022', '5', '\n', '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 
    's', 't', '\030', '\032', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 's', 't', '\022', '1', '\n', '\014', 'g', 'r', 'o', 'u', 'p', '_', 'c', 
    'l', 'a', 'u', 's', 'e', '\030', '\033', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\013', 'g', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', '%', '\n', '\016', 'g', 'r', 'o', 'u', 'p', '_', 
    'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\034', ' ', '\001', '(', '\010', 'R', '\r', 'g', 'r', 'o', 'u', 'p', 'D', 'i', 's', 't', 
    'i', 'n', 'c', 't', '\022', '3', '\n', '\r', 'g', 'r', 'o', 'u', 'p', 'i', 'n', 'g', '_', 's', 'e', 't', 's', '\030', '\035', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'g', 'r', 'o', 'u', 'p', 
    'i', 'n', 'g', 'S', 'e', 't', 's', '\022', '/', '\n', '\013', 'h', 'a', 'v', 'i', 'n', 'g', '_', 'q', 'u', 'a', 'l', '\030', '\036', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'h', 'a', 'v', 'i', 
    'n', 'g', 'Q', 'u', 'a', 'l', '\022', '3', '\n', '\r', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\037', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'w', 'i', 'n', 
    'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', '7', '\n', '\017', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'c', 'l', 'a', 
    'u', 's', 'e', '\030', ' ', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\016', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 's', 'o', 'r', 't', '_', 
    'c', 'l', 'a', 'u', 's', 'e', '\030', '!', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\n', 's', 'o', 'r', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 
    'o', 'f', 'f', 's', 'e', 't', '\030', '\"', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '/', '\n', '\013', 'l', 'i', 'm', 'i', 't', 
    '_', 'c', 'o', 'u', 'n', 't', '\030', '#', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\n', 'l', 'i', 'm', 'i', 't', 'C', 'o', 'u', 'n', 't', '\022', '8', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 
    'o', 'p', 't', 'i', 'o', 'n', '\030', '$', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 
    'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '+', 
    '\n', '\t', 'r', 'o', 'w', '_', 'm', 'a', 'r', 'k', 's', '\030', '%', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'o', 'w', 'M', 'a', 'r', 'k', 's', '\022', '5', '\n', '\016', 's', 'e', 't', 
    '_', 'o', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 's', '\030', '&', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 's', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 's', '\022', '7', 
    '\n', '\017', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '_', 'd', 'e', 'p', 's', '\030', '\'', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 
    't', 'D', 'e', 'p', 's', '\022', '<', '\n', '\022', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 't', 'i', 'o', 
    'n', 's', '\030', '(', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\020', 'w', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', 's', '\022', '$', '\n', '\r', 's', 't', 'm', 't', 
    '_', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', ')', ' ', '\001', '(', '\005', 'R', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 's', 't', 'm', 't', '_', 'l', 'e', 'n', '\030', '*', ' ', '\001', '(', '\005', 'R', '\010', 
    's', 't', 'm', 't', '_', 'l', 'e', 'n', '\"', '\220', '\002', '\n', '\010', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '$', '\n', '\005', 
    'n', 'a', 'm', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\005', 'n', 'a', 'm', 'e', 's', '\022', '\031', '\n', '\010', 't', 'y', 'p', 'e', '_', 'o', 'i', 'd', '\030', '\002', ' ', '\001', 
    '(', '\r', 'R', '\007', 't', 'y', 'p', 'e', 'O', 'i', 'd', '\022', '\024', '\n', '\005', 's', 'e', 't', 'o', 'f', '\030', '\003', ' ', '\001', '(', 
    '\010', 'R', '\005', 's', 'e', 't', 'o', 'f', '\022', '\032', '\n', '\010', 'p', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', 
    '\010', 'R', '\010', 'p', 'c', 't', '_', 't', 'y', 'p', 'e', '\022', '(', '\n', '\007', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\005', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 't', 'y', 'p', 'm', 
    'o', 'd', 's', '\022', '\030', '\n', '\007', 't', 'y', 'p', 'e', 'm', 'o', 'd', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\007', 't', 'y', 'p', 
    'e', 'm', 'o', 'd', '\022', '1', '\n', '\014', 'a', 'r', 'r', 'a', 'y', '_', 'b', 'o', 'u', 'n', 'd', 's', '\030', '\007', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'a', 'r', 'r', 'a', 'y', 'B', 
    'o', 'u', 'n', 'd', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'O', '\n', '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'R', 'e', 'f', '\022', '&', '\n', '\006', 
    'f', 'i', 'e', 'l', 'd', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\006', 'f', 'i', 'e', 'l', 'd', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', 
    ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '>', '\n', '\010', 'P', 'a', 'r', 'a', 'm', 'R', 'e', 
    'f', '\022', '\026', '\n', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\005', 'R', '\006', 'n', 'u', 'm', 'b', 'e', 'r', 
    '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\"', '\277', '\001', '\n', '\006', 'A', '_', 'E', 'x', 'p', 'r', '\022', ')', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', 
    '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', '_', 'E', 'x', 'p', 'r', '_', 'K', 'i', 'n', 
    'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\"', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\005', 'l', 'e', 'x', 
    'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\005', 'l', 'e', 'x', 'p', 'r', '\022', '$', '\n', '\005', 'r', 'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'e', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 
    'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'y', '\n', 
    '\010', 'T', 'y', 'p', 'e', 'C', 'a', 's', 't', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '/', '\n', '\t', 't', 'y', 'p', 
    'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 
    'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'y', '\n', '\r', 'C', 
    'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '*', '\n', '\010', 
    'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'v', '\n', '\010', 'R', 'o', 'l', 
    'e', 'S', 'p', 'e', 'c', '\022', '2', '\n', '\010', 'r', 'o', 'l', 'e', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', 'R', '\010', 'r', 
    'o', 'l', 'e', 't', 'y', 'p', 'e', '\022', '\032', '\n', '\010', 'r', 'o', 'l', 'e', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 
    'R', '\010', 'r', 'o', 'l', 'e', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', 
    '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\307', '\003', '\n', '\010', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 
    'l', '\022', '*', '\n', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'a', 
    'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\004', 'a', 'r', 'g', 's', '\022', ',', '\n', '\t', 'a', 'g', 'g', '_', 'o', 'r', 'd', 'e', 'r', '\030', '\003', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'g', 'g', '_', 'o', 'r', 'd', 
    'e', 'r', '\022', '.', '\n', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 'e', 'r', 
    '\022', '\'', '\n', '\004', 'o', 'v', 'e', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 'f', 'R', '\004', 'o', 'v', 'e', 'r', '\022', '*', '\n', '\020', 'a', 'g', 'g', '_', 'w', 
    'i', 't', 'h', 'i', 'n', '_', 'g', 'r', 'o', 'u', 'p', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\020', 'a', 'g', 'g', '_', 'w', 'i', 
    't', 'h', 'i', 'n', '_', 'g', 'r', 'o', 'u', 'p', '\022', '\032', '\n', '\010', 'a', 'g', 'g', '_', 's', 't', 'a', 'r', '\030', '\007', ' ', 
    '\001', '(', '\010', 'R', '\010', 'a', 'g', 'g', '_', 's', 't', 'a', 'r', '\022', '\"', '\n', '\014', 'a', 'g', 'g', '_', 'd', 'i', 's', 't', 
    'i', 'n', 'c', 't', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\014', 'a', 'g', 'g', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', 
    '$', '\n', '\r', 'f', 'u', 'n', 'c', '_', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\030', '\t', ' ', '\001', '(', '\010', 'R', '\r', 'f', 
    'u', 'n', 'c', '_', 'v', 'a', 'r', 'i', 'a', 'd', 'i', 'c', '\022', '6', '\n', '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 
    't', '\030', '\n', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 
    'o', 'n', 'F', 'o', 'r', 'm', 'R', '\n', 'f', 'u', 'n', 'c', 'f', 'o', 'r', 'm', 'a', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\010', '\n', '\006', 
    'A', '_', 'S', 't', 'a', 'r', '\"', 'o', '\n', '\t', 'A', '_', 'I', 'n', 'd', 'i', 'c', 'e', 's', '\022', '\032', '\n', '\010', 'i', 's', 
    '_', 's', 'l', 'i', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 's', 'l', 'i', 'c', 'e', '\022', '\"', '\n', 
    '\004', 'l', 'i', 'd', 'x', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\004', 'l', 'i', 'd', 'x', '\022', '\"', '\n', '\004', 'u', 'i', 'd', 'x', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'u', 'i', 'd', 'x', '\"', 'c', '\n', '\r', 'A', '_', 
    'I', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '0', '\n', '\013', 'i', 
    'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\"', 'U', '\n', '\013', 'A', 
    '_', 'A', 'r', 'r', 'a', 'y', 'E', 'x', 'p', 'r', '\022', '*', '\n', '\010', 'e', 'l', 'e', 'm', 'e', 'n', 't', 's', '\030', '\001', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'e', 'l', 'e', 'm', 
    'e', 'n', 't', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\217', '\001', '\n', '\t', 'R', 'e', 's', 'T', 'a', 'r', 'g', 'e', 't', '\022', '\022', '\n', '\004', 
    'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 'i', 'n', 'd', 'i', 'r', 
    'e', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', ' ', '\n', '\003', 'v', 'a', 'l', '\030', '\003', 
    ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'v', 'a', 'l', 
    '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\"', 'j', '\n', '\016', 'M', 'u', 'l', 't', 'i', 'A', 's', 's', 'i', 'g', 'n', 'R', 'e', 'f', '\022', '&', '\n', '\006', 
    's', 'o', 'u', 'r', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\006', 's', 'o', 'u', 'r', 'c', 'e', '\022', '\024', '\n', '\005', 'c', 'o', 'l', 'n', 'o', '\030', '\002', ' ', '\001', '(', 
    '\005', 'R', '\005', 'c', 'o', 'l', 'n', 'o', '\022', '\032', '\n', '\010', 'n', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\003', ' ', '\001', '(', 
    '\005', 'R', '\010', 'n', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\"', '\337', '\001', '\n', '\006', 'S', 'o', 'r', 't', 'B', 'y', '\022', '\"', '\n', 
    '\004', 'n', 'o', 'd', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\004', 'n', 'o', 'd', 'e', '\022', '3', '\n', '\n', 's', 'o', 'r', 't', 'b', 'y', '_', 'd', 'i', 'r', '\030', '\002', ' ', 
    '\001', '(', '\016', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', 'R', 
    '\n', 's', 'o', 'r', 't', 'b', 'y', '_', 'd', 'i', 'r', '\022', '9', '\n', '\014', 's', 'o', 'r', 't', 'b', 'y', '_', 'n', 'u', 'l', 
    'l', 's', '\030', '\003', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 
    'y', 'N', 'u', 'l', 'l', 's', 'R', '\014', 's', 'o', 'r', 't', 'b', 'y', '_', 'n', 'u', 'l', 'l', 's', '\022', '%', '\n', '\006', 'u', 
    's', 'e', '_', 'o', 'p', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\005', 'u', 's', 'e', 'O', 'p', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', 
    '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\312', '\002', '\n', '\t', 'W', 'i', 'n', 'd', 'o', 'w', 'D', 'e', 
    'f', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 
    'r', 'e', 'f', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\022', '9', '\n', 
    '\020', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 
    'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'r', 'd', 'e', 
    'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', '#', '\n', '\r', 'f', 'r', 'a', 'm', 'e', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', 
    '\005', ' ', '\001', '(', '\005', 'R', '\014', 'f', 'r', 'a', 'm', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 's', 't', 
    'a', 'r', 't', '_', 'o', 'f', 'f', 's', 'e', 't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 's', 't', 'a', 'r', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\n', 'e', 
    'n', 'd', '_', 'o', 'f', 'f', 's', 'e', 't', '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'e', 'n', 'd', 'O', 'f', 'f', 's', 'e', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '}', '\n', '\016', 'R', 
    'a', 'n', 'g', 'e', 'S', 'u', 'b', 's', 'e', 'l', 'e', 'c', 't', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', 
    '\001', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '*', '\n', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 
    'y', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 
    's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\003', ' ', '\001', '(', '\013', '2', '\017', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\"', '\360', '\001', 
    '\n', '\r', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 
    'l', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\036', '\n', '\n', 'o', 'r', 'd', 'i', 'n', 
    'a', 'l', 'i', 't', 'y', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\022', ' ', 
    '\n', '\013', 'i', 's', '_', 'r', 'o', 'w', 's', 'f', 'r', 'o', 'm', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'r', 
    'o', 'w', 's', 'f', 'r', 'o', 'm', '\022', ',', '\n', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'f', 'u', 'n', 'c', 't', 'i', 
    'o', 'n', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\005', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '.', '\n', '\n', 'c', 'o', 'l', 'd', 
    'e', 'f', 'l', 'i', 's', 't', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'l', 'i', 's', 't', '\"', '\233', '\002', '\n', '\016', 'R', 'a', 'n', 'g', 'e', 
    'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', '\001', ' ', '\001', '(', 
    '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '(', '\n', '\007', 'd', 'o', 'c', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'd', 'o', 'c', 'e', 'x', 
    'p', 'r', '\022', '(', '\n', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'r', 'o', 'w', 'e', 'x', 'p', 'r', '\022', '.', '\n', '\n', 'n', 'a', 
    'm', 'e', 's', 'p', 'a', 'c', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\n', 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', 's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 
    'm', 'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', 
    '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '\032', 
    '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\"', '\236', '\002', '\n', '\021', 'R', 'a', 'n', 'g', 'e', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 'n', 'c', 'C', 'o', 'l', '\022', '\030', 
    '\n', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', 
    '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '&', 
    '\n', '\016', 'f', 'o', 'r', '_', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 'f', 
    'o', 'r', '_', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\022', ' ', '\n', '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 
    'u', 'l', 'l', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 'u', 'l', 'l', '\022', '(', '\n', 
    '\007', 'c', 'o', 'l', 'e', 'x', 'p', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'e', 'x', 'p', 'r', '\022', '.', '\n', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 
    'x', 'p', 'r', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'e', 'x', 'p', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
    '\007', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\326', '\001', '\n', '\020', 'R', 'a', 'n', 'g', 'e', 
    'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', '\022', '*', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', 
    ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'e', 'l', 
    'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'm', 'e', 't', 'h', 'o', 'd', '\022', '\"', '\n', '\004', 'a', 
    'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\004', 'a', 'r', 'g', 's', '\022', '.', '\n', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\030', '\004', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'r', 'e', 'p', 'e', 'a', 't', 
    'a', 'b', 'l', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\354', '\005', '\n', '\t', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', '\022', '\030', '\n', '\007', 
    'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', '/', '\n', 
    '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', ' ', '\n', '\013', 
    'c', 'o', 'm', 'p', 'r', 'e', 's', 's', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\013', 'c', 'o', 'm', 'p', 'r', 'e', 
    's', 's', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 
    'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\022', '\032', '\n', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\030', '\005', ' ', '\001', '(', 
    '\010', 'R', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\022', ' ', '\n', '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 'u', 'l', 
    'l', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\013', 'i', 's', '_', 'n', 'o', 't', '_', 'n', 'u', 'l', 'l', '\022', '\"', '\n', '\014', 'i', 
    's', '_', 'f', 'r', 'o', 'm', '_', 't', 'y', 'p', 'e', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', '_', 'f', 'r', 'o', 
    'm', '_', 't', 'y', 'p', 'e', '\022', '\030', '\n', '\007', 's', 't', 'o', 'r', 'a', 'g', 'e', '\030', '\010', ' ', '\001', '(', '\t', 'R', '\007', 
    's', 't', 'o', 'r', 'a', 'g', 'e', '\022', '\"', '\n', '\014', 's', 't', 'o', 'r', 'a', 'g', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\t', 
    ' ', '\001', '(', '\t', 'R', '\014', 's', 't', 'o', 'r', 'a', 'g', 'e', '_', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 'r', 'a', 'w', 
    '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\n', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\013', 'r', 'a', 'w', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', '6', '\n', '\016', 'c', 'o', 'o', 
    'k', 'e', 'd', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\013', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'c', 'o', 'o', 'k', 'e', 'd', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', 
    '\032', '\n', '\010', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\014', ' ', '\001', '(', '\t', 'R', '\010', 'i', 'd', 'e', 'n', 't', 'i', 
    't', 'y', '\022', '?', '\n', '\021', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\030', '\r', 
    ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', 
    '\020', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\022', '\034', '\n', '\t', 'g', 'e', 'n', 'e', 
    'r', 'a', 't', 'e', 'd', '\030', '\016', ' ', '\001', '(', '\t', 'R', '\t', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', '\022', '8', '\n', 
    '\013', 'c', 'o', 'l', 'l', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\017', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'C', 'o', 'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'c', 'o', 'l', 'l', 'C', 
    'l', 'a', 'u', 's', 'e', '\022', '\031', '\n', '\010', 'c', 'o', 'l', 'l', '_', 'o', 'i', 'd', '\030', '\020', ' ', '\001', '(', '\r', 'R', '\007', 
    'c', 'o', 'l', 'l', 'O', 'i', 'd', '\022', '0', '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\021', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 
    't', 'r', 'a', 'i', 'n', 't', 's', '\022', '.', '\n', '\n', 'f', 'd', 'w', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\022', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'd', 'w', 'o', 'p', 
    't', 'i', 'o', 'n', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\023', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '~', '\n', '\017', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 'e', 'C', 'l', 'a', 'u', 
    's', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
    '\022', '\030', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
    's', '\022', '!', '\n', '\014', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '_', 'o', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\013', 
    'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 'O', 'i', 'd', '\"', '\341', '\002', '\n', '\t', 'I', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', 
    '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'e', 
    'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\004', 'e', 'x', 'p', 'r', '\022', '\"', '\n', '\014', 'i', 'n', 'd', 'e', 'x', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', 
    '\001', '(', '\t', 'R', '\014', 'i', 'n', 'd', 'e', 'x', 'c', 'o', 'l', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'c', 'o', 'l', 'l', 
    'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 'c', 'l', 'a', 's', 's', '\030', 
    '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 
    'c', 'l', 'a', 's', 's', '\022', '0', '\n', '\013', 'o', 'p', 'c', 'l', 'a', 's', 's', 'o', 'p', 't', 's', '\030', '\006', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'p', 'c', 'l', 'a', 's', 
    's', 'o', 'p', 't', 's', '\022', '/', '\n', '\010', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\030', '\007', ' ', '\001', '(', '\016', '2', '\023', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', 'R', '\010', 'o', 'r', 'd', 'e', 
    'r', 'i', 'n', 'g', '\022', '=', '\n', '\016', 'n', 'u', 'l', 'l', 's', '_', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\030', '\010', ' ', 
    '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'o', 'r', 't', 'B', 'y', 'N', 'u', 'l', 'l', 
    's', 'R', '\016', 'n', 'u', 'l', 'l', 's', '_', 'o', 'r', 'd', 'e', 'r', 'i', 'n', 'g', '\"', '\274', '\001', '\n', '\007', 'D', 'e', 'f', 
    'E', 'l', 'e', 'm', '\022', '\"', '\n', '\014', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', 
    '\t', 'R', '\014', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', 'p', 'a', 'c', 'e', '\022', '\030', '\n', '\007', 'd', 'e', 'f', 'n', 'a', 'm', 
    'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'd', 'e', 'f', 'n', 'a', 'm', 'e', '\022', ' ', '\n', '\003', 'a', 'r', 'g', '\030', '\003', 
    ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'a', 'r', 'g', 
    '\022', '5', '\n', '\t', 'd', 'e', 'f', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'D', 'e', 'f', 'E', 'l', 'e', 'm', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\t', 'd', 'e', 'f', 'a', 
    'c', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\265', '\001', '\n', '\r', 'L', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 
    'e', '\022', '/', '\n', '\013', 'l', 'o', 'c', 'k', 'e', 'd', '_', 'r', 'e', 'l', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'l', 'o', 'c', 'k', 'e', 'd', 'R', 'e', 'l', 's', 
    '\022', '8', '\n', '\010', 's', 't', 'r', 'e', 'n', 'g', 't', 'h', '\030', '\002', ' ', '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', 'R', '\010', 
    's', 't', 'r', 'e', 'n', 'g', 't', 'h', '\022', '9', '\n', '\013', 'w', 'a', 'i', 't', '_', 'p', 'o', 'l', 'i', 'c', 'y', '\030', '\003', 
    ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 
    'o', 'l', 'i', 'c', 'y', 'R', '\n', 'w', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', '\"', '\316', '\001', '\n', '\014', 'X', 'm', 'l', 
    'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', '\022', '5', '\n', '\t', 'x', 'm', 'l', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\001', ' ', 
    '\001', '(', '\016', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'X', 'm', 'l', 'O', 'p', 't', 'i', 'o', 'n', 'T', 
    'y', 'p', 'e', 'R', '\t', 'x', 'm', 'l', 'o', 'p', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', 
    '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', 
    '\026', '\n', '\006', 'i', 'n', 'd', 'e', 'n', 't', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'i', 'n', 'd', 'e', 'n', 't', '\022', '\032', 
    '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\"', '\273', '\001', '\n', '\r', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'E', 'l', 'e', 'm', '\022', '\022', '\n', '\004', 'n', 'a', 
    'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', 
    '\022', ',', '\n', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 
    'o', 'p', 'c', 'l', 'a', 's', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 'c', 'l', 'a', 's', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\225', '\001', '\n', '\r', 'P', 'a', 'r', 't', 
    'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', '\022', '7', '\n', '\010', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\030', '\001', ' ', '\001', 
    '(', '\016', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 't', 
    'r', 'a', 't', 'e', 'g', 'y', 'R', '\010', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\022', '/', '\n', '\013', 'p', 'a', 'r', 't', '_', 
    'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\n', 'p', 'a', 'r', 't', 'P', 'a', 'r', 'a', 'm', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\270', '\002', '\n', '\022', 'P', 'a', 
    'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', '\022', '\032', '\n', '\010', 's', 't', 'r', 'a', 't', 
    'e', 'g', 'y', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 's', 't', 'r', 'a', 't', 'e', 'g', 'y', '\022', '\036', '\n', '\n', 'i', 's', 
    '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'i', 's', '_', 'd', 'e', 'f', 'a', 'u', 'l', 
    't', '\022', '\030', '\n', '\007', 'm', 'o', 'd', 'u', 'l', 'u', 's', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\007', 'm', 'o', 'd', 'u', 'l', 
    'u', 's', '\022', '\034', '\n', '\t', 'r', 'e', 'm', 'a', 'i', 'n', 'd', 'e', 'r', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\t', 'r', 'e', 
    'm', 'a', 'i', 'n', 'd', 'e', 'r', '\022', '.', '\n', '\n', 'l', 'i', 's', 't', 'd', 'a', 't', 'u', 'm', 's', '\030', '\005', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'l', 'i', 's', 't', 'd', 
    'a', 't', 'u', 'm', 's', '\022', '0', '\n', '\013', 'l', 'o', 'w', 'e', 'r', 'd', 'a', 't', 'u', 'm', 's', '\030', '\006', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'l', 'o', 'w', 'e', 'r', 'd', 
    'a', 't', 'u', 'm', 's', '\022', '0', '\n', '\013', 'u', 'p', 'p', 'e', 'r', 'd', 'a', 't', 'u', 'm', 's', '\030', '\007', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 'p', 'p', 'e', 'r', 'd', 
    'a', 't', 'u', 'm', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\216', '\001', '\n', '\023', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 
    'g', 'e', 'D', 'a', 't', 'u', 'm', '\022', '5', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '!', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 
    'u', 'm', 'K', 'i', 'n', 'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '$', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'v', 'a', 'l', 'u', 'e', 
    '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\"', '\025', '\n', '\023', 'S', 'i', 'n', 'g', 'l', 'e', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 
    'c', '\"', '\212', '\001', '\n', '\014', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'm', 'd', '\022', '&', '\n', '\004', 'n', 'a', 'm', 
    'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 
    'a', 'r', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\005', 'b', 'o', 'u', 'n', 'd', '\030', '\002', ' ', '\001', '(', '\013', '2', '\034', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 
    'p', 'e', 'c', 'R', '\005', 'b', 'o', 'u', 'n', 'd', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', 
    '\003', ' ', '\001', '(', '\010', 'R', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\"', '\271', '\n', '\n', '\r', 'R', 'a', 'n', 
    'g', 'e', 'T', 'b', 'l', 'E', 'n', 't', 'r', 'y', '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', 
    '#', '\n', '\004', 'e', 'r', 'e', 'f', '\030', '\002', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'A', 'l', 'i', 'a', 's', 'R', '\004', 'e', 'r', 'e', 'f', '\022', '+', '\n', '\007', 'r', 't', 'e', 'k', 'i', 'n', 'd', '\030', '\003', ' ', 
    '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'T', 'E', 'K', 'i', 'n', 'd', 'R', '\007', 'r', 
    't', 'e', 'k', 'i', 'n', 'd', '\022', '\024', '\n', '\005', 'r', 'e', 'l', 'i', 'd', '\030', '\004', ' ', '\001', '(', '\r', 'R', '\005', 'r', 'e', 
    'l', 'i', 'd', '\022', '\020', '\n', '\003', 'i', 'n', 'h', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 'h', '\022', '\030', '\n', '\007', 
    'r', 'e', 'l', 'k', 'i', 'n', 'd', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'l', 'k', 'i', 'n', 'd', '\022', ' ', '\n', 
    '\013', 'r', 'e', 'l', 'l', 'o', 'c', 'k', 'm', 'o', 'd', 'e', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\013', 'r', 'e', 'l', 'l', 'o', 
    'c', 'k', 'm', 'o', 'd', 'e', '\022', '$', '\n', '\r', 'p', 'e', 'r', 'm', 'i', 'n', 'f', 'o', 'i', 'n', 'd', 'e', 'x', '\030', '\010', 
    ' ', '\001', '(', '\r', 'R', '\r', 'p', 'e', 'r', 'm', 'i', 'n', 'f', 'o', 'i', 'n', 'd', 'e', 'x', '\022', '=', '\n', '\013', 't', 'a', 
    'b', 'l', 'e', 's', 'a', 'm', 'p', 'l', 'e', '\030', '\t', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\013', 't', 'a', 'b', 'l', 
    'e', 's', 'a', 'm', 'p', 'l', 'e', '\022', '+', '\n', '\010', 's', 'u', 'b', 'q', 'u', 'e', 'r', 'y', '\030', '\n', ' ', '\001', '(', '\013', 
    '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'Q', 'u', 'e', 'r', 'y', 'R', '\010', 's', 'u', 'b', 'q', 'u', 'e', 
    'r', 'y', '\022', '*', '\n', '\020', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\030', '\013', ' ', 
    '\001', '(', '\010', 'R', '\020', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'b', 'a', 'r', 'r', 'i', 'e', 'r', '\022', '.', '\n', '\010', 
    'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\030', '\014', ' ', '\001', '(', '\016', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'J', 'o', 'i', 'n', 'T', 'y', 'p', 'e', 'R', '\010', 'j', 'o', 'i', 'n', 't', 'y', 'p', 'e', '\022', '&', '\n', '\016', 'j', 'o', 
    'i', 'n', 'm', 'e', 'r', 'g', 'e', 'd', 'c', 'o', 'l', 's', '\030', '\r', ' ', '\001', '(', '\005', 'R', '\016', 'j', 'o', 'i', 'n', 'm', 
    'e', 'r', 'g', 'e', 'd', 'c', 'o', 'l', 's', '\022', '4', '\n', '\r', 'j', 'o', 'i', 'n', 'a', 'l', 'i', 'a', 's', 'v', 'a', 'r', 
    's', '\030', '\016', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 
    'j', 'o', 'i', 'n', 'a', 'l', 'i', 'a', 's', 'v', 'a', 'r', 's', '\022', '2', '\n', '\014', 'j', 'o', 'i', 'n', 'l', 'e', 'f', 't', 
    'c', 'o', 'l', 's', '\030', '\017', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\014', 'j', 'o', 'i', 'n', 'l', 'e', 'f', 't', 'c', 'o', 'l', 's', '\022', '4', '\n', '\r', 'j', 'o', 'i', 'n', 'r', 'i', 
    'g', 'h', 't', 'c', 'o', 'l', 's', '\030', '\020', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\r', 'j', 'o', 'i', 'n', 'r', 'i', 'g', 'h', 't', 'c', 'o', 'l', 's', '\022', ';', '\n', '\020', 'j', 'o', 
    'i', 'n', '_', 'u', 's', 'i', 'n', 'g', '_', 'a', 'l', 'i', 'a', 's', '\030', '\021', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\020', 'j', 'o', 'i', 'n', '_', 'u', 's', 'i', 'n', 'g', '_', 
    'a', 'l', 'i', 'a', 's', '\022', ',', '\n', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 's', '\030', '\022', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'f', 'u', 'n', 'c', 't', 'i', 'o', 'n', 
    's', '\022', '&', '\n', '\016', 'f', 'u', 'n', 'c', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\030', '\023', ' ', '\001', '(', '\010', 
    'R', '\016', 'f', 'u', 'n', 'c', 'o', 'r', 'd', 'i', 'n', 'a', 'l', 'i', 't', 'y', '\022', '1', '\n', '\t', 't', 'a', 'b', 'l', 'e', 
    'f', 'u', 'n', 'c', '\030', '\024', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'a', 'b', 
    'l', 'e', 'F', 'u', 'n', 'c', 'R', '\t', 't', 'a', 'b', 'l', 'e', 'f', 'u', 'n', 'c', '\022', '2', '\n', '\014', 'v', 'a', 'l', 'u', 
    'e', 's', '_', 'l', 'i', 's', 't', 's', '\030', '\025', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\014', 'v', 'a', 'l', 'u', 'e', 's', '_', 'l', 'i', 's', 't', 's', '\022', '\030', '\n', '\007', 'c', 't', 
    'e', 'n', 'a', 'm', 'e', '\030', '\026', ' ', '\001', '(', '\t', 'R', '\007', 'c', 't', 'e', 'n', 'a', 'm', 'e', '\022', ' ', '\n', '\013', 'c', 
    't', 'e', 'l', 'e', 'v', 'e', 'l', 's', 'u', 'p', '\030', '\027', ' ', '\001', '(', '\r', 'R', '\013', 'c', 't', 'e', 'l', 'e', 'v', 'e', 
    'l', 's', 'u', 'p', '\022', '&', '\n', '\016', 's', 'e', 'l', 'f', '_', 'r', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', '\030', '\030', ' ', 
    '\001', '(', '\010', 'R', '\016', 's', 'e', 'l', 'f', '_', 'r', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', '\022', '*', '\n', '\010', 'c', 'o', 
    'l', 't', 'y', 'p', 'e', 's', '\030', '\031', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '.', '\n', '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 
    'd', 's', '\030', '\032', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\n', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '4', '\n', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 
    'o', 'n', 's', '\030', '\033', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\r', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '\030', '\n', '\007', 'e', 'n', 'r', 'n', 'a', 'm', 
    'e', '\030', '\034', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'n', 'r', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 'e', 'n', 'r', 't', 'u', 
    'p', 'l', 'e', 's', '\030', '\035', ' ', '\001', '(', '\001', 'R', '\t', 'e', 'n', 'r', 't', 'u', 'p', 'l', 'e', 's', '\022', '\030', '\n', '\007', 
    'l', 'a', 't', 'e', 'r', 'a', 'l', '\030', '\036', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\034', '\n', 
    '\n', 'i', 'n', '_', 'f', 'r', 'o', 'm', '_', 'c', 'l', '\030', '\037', ' ', '\001', '(', '\010', 'R', '\010', 'i', 'n', 'F', 'r', 'o', 'm', 
    'C', 'l', '\022', '5', '\n', '\016', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '_', 'q', 'u', 'a', 'l', 's', '\030', ' ', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 's', 'e', 'c', 'u', 'r', 'i', 
    't', 'y', 'Q', 'u', 'a', 'l', 's', '\"', '\363', '\001', '\n', '\021', 'R', 'T', 'E', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 
    'I', 'n', 'f', 'o', '\022', '\024', '\n', '\005', 'r', 'e', 'l', 'i', 'd', '\030', '\001', ' ', '\001', '(', '\r', 'R', '\005', 'r', 'e', 'l', 'i', 
    'd', '\022', '\020', '\n', '\003', 'i', 'n', 'h', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\003', 'i', 'n', 'h', '\022', '%', '\n', '\016', 'r', 'e', 
    'q', 'u', 'i', 'r', 'e', 'd', '_', 'p', 'e', 'r', 'm', 's', '\030', '\003', ' ', '\001', '(', '\004', 'R', '\r', 'r', 'e', 'q', 'u', 'i', 
    'r', 'e', 'd', 'P', 'e', 'r', 'm', 's', '\022', '\"', '\n', '\r', 'c', 'h', 'e', 'c', 'k', '_', 'a', 's', '_', 'u', 's', 'e', 'r', 
    '\030', '\004', ' ', '\001', '(', '\r', 'R', '\013', 'c', 'h', 'e', 'c', 'k', 'A', 's', 'U', 's', 'e', 'r', '\022', '#', '\n', '\r', 's', 'e', 
    'l', 'e', 'c', 't', 'e', 'd', '_', 'c', 'o', 'l', 's', '\030', '\005', ' ', '\003', '(', '\004', 'R', '\014', 's', 'e', 'l', 'e', 'c', 't', 
    'e', 'd', 'C', 'o', 'l', 's', '\022', '#', '\n', '\r', 'i', 'n', 's', 'e', 'r', 't', 'e', 'd', '_', 'c', 'o', 'l', 's', '\030', '\006', 
    ' ', '\003', '(', '\004', 'R', '\014', 'i', 'n', 's', 'e', 'r', 't', 'e', 'd', 'C', 'o', 'l', 's', '\022', '!', '\n', '\014', 'u', 'p', 'd', 
    'a', 't', 'e', 'd', '_', 'c', 'o', 'l', 's', '\030', '\007', ' ', '\003', '(', '\004', 'R', '\013', 'u', 'p', 'd', 'a', 't', 'e', 'd', 'C', 
    'o', 'l', 's', '\"', '\340', '\002', '\n', '\020', 'R', 'a', 'n', 'g', 'e', 'T', 'b', 'l', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', '\022', 
    '*', '\n', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\022', '\"', '\n', '\014', 'f', 'u', 'n', 
    'c', 'c', 'o', 'l', 'c', 'o', 'u', 'n', 't', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 
    'o', 'u', 'n', 't', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\003', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 
    'l', 'n', 'a', 'm', 'e', 's', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\004', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', 
    'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\022', '6', '\n', '\016', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 
    's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 
    'f', 'u', 'n', 'c', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\022', '<', '\n', '\021', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 
    'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\021', 'f', 'u', 'n', 'c', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 
    's', '\022', '\036', '\n', '\n', 'f', 'u', 'n', 'c', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\007', ' ', '\003', '(', '\004', 'R', '\n', 'f', 'u', 
    'n', 'c', 'p', 'a', 'r', 'a', 'm', 's', '\"', '\207', '\001', '\n', '\021', 'T', 'a', 'b', 'l', 'e', 'S', 'a', 'm', 'p', 'l', 'e', 'C', 
    'l', 'a', 'u', 's', 'e', '\022', '\036', '\n', '\n', 't', 's', 'm', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\r', 
    'R', '\n', 't', 's', 'm', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '.', 
    '\n', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'r', 'e', 'p', 'e', 'a', 't', 'a', 'b', 'l', 'e', '\"', '\254', '\001', '\n', 
    '\017', 'W', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', '%', '\n', '\004', 'k', 'i', 'n', 'd', '\030', 
    '\001', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'C', 'O', 'K', 'i', 'n', 'd', 'R', 
    '\004', 'k', 'i', 'n', 'd', '\022', '\030', '\n', '\007', 'r', 'e', 'l', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'r', 
    'e', 'l', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'p', 'o', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 
    'p', 'o', 'l', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'q', 'u', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'q', 'u', 'a', 'l', '\022', '\032', '\n', '\010', 'c', 'a', 's', 
    'c', 'a', 'd', 'e', 'd', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'c', 'a', 's', 'c', 'a', 'd', 'e', 'd', '\"', '\250', '\001', '\n', 
    '\017', 'S', 'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', '+', '\n', '\022', 't', 'l', 'e', '_', 's', 
    'o', 'r', 't', '_', 'g', 'r', 'o', 'u', 'p', '_', 'r', 'e', 'f', '\030', '\001', ' ', '\001', '(', '\r', 'R', '\017', 't', 'l', 'e', 'S', 
    'o', 'r', 't', 'G', 'r', 'o', 'u', 'p', 'R', 'e', 'f', '\022', '\022', '\n', '\004', 'e', 'q', 'o', 'p', '\030', '\002', ' ', '\001', '(', '\r', 
    'R', '\004', 'e', 'q', 'o', 'p', '\022', '\026', '\n', '\006', 's', 'o', 'r', 't', 'o', 'p', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\006', 's', 
    'o', 'r', 't', 'o', 'p', '\022', ' ', '\n', '\013', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\030', '\004', ' ', '\001', '(', 
    '\010', 'R', '\013', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\022', '\032', '\n', '\010', 'h', 'a', 's', 'h', 'a', 'b', 'l', 
    'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'h', 'a', 's', 'h', 'a', 'b', 'l', 'e', '\"', '\202', '\001', '\n', '\013', 'G', 'r', 'o', 
    'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', '\022', '-', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\031', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 'r', 'o', 'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 'K', 'i', 'n', 'd', 'R', 
    '\004', 'k', 'i', 'n', 'd', '\022', '(', '\n', '\007', 'c', 'o', 'n', 't', 'e', 'n', 't', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'n', 't', 'e', 'n', 't', '\022', '\032', '\n', 
    '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\"', '\275', '\004', '\n', '\014', 'W', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', 
    '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\030', '\002', 
    ' ', '\001', '(', '\t', 'R', '\007', 'r', 'e', 'f', 'n', 'a', 'm', 'e', '\022', '9', '\n', '\020', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 
    'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\017', 'p', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', 
    '\014', 'o', 'r', 'd', 'e', 'r', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'r', 'd', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', '#', 
    '\n', '\r', 'f', 'r', 'a', 'm', 'e', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\014', 'f', 'r', 
    'a', 'm', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 's', 't', 'a', 'r', 't', '_', 'o', 'f', 'f', 's', 'e', 
    't', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 
    's', 't', 'a', 'r', 't', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\n', 'e', 'n', 'd', '_', 'o', 'f', 'f', 's', 'e', 't', 
    '\030', '\007', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'e', 
    'n', 'd', 'O', 'f', 'f', 's', 'e', 't', '\022', '-', '\n', '\023', 's', 't', 'a', 'r', 't', '_', 'i', 'n', '_', 'r', 'a', 'n', 'g', 
    'e', '_', 'f', 'u', 'n', 'c', '\030', '\010', ' ', '\001', '(', '\r', 'R', '\020', 's', 't', 'a', 'r', 't', 'I', 'n', 'R', 'a', 'n', 'g', 
    'e', 'F', 'u', 'n', 'c', '\022', ')', '\n', '\021', 'e', 'n', 'd', '_', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'f', 'u', 'n', 
    'c', '\030', '\t', ' ', '\001', '(', '\r', 'R', '\016', 'e', 'n', 'd', 'I', 'n', 'R', 'a', 'n', 'g', 'e', 'F', 'u', 'n', 'c', '\022', '\"', 
    '\n', '\r', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'c', 'o', 'l', 'l', '\030', '\n', ' ', '\001', '(', '\r', 'R', '\013', 'i', 'n', 
    'R', 'a', 'n', 'g', 'e', 'C', 'o', 'l', 'l', '\022', ' ', '\n', '\014', 'i', 'n', '_', 'r', 'a', 'n', 'g', 'e', '_', 'a', 's', 'c', 
    '\030', '\013', ' ', '\001', '(', '\010', 'R', '\n', 'i', 'n', 'R', 'a', 'n', 'g', 'e', 'A', 's', 'c', '\022', '/', '\n', '\024', 'i', 'n', '_', 
    'r', 'a', 'n', 'g', 'e', '_', 'n', 'u', 'l', 'l', 's', '_', 'f', 'i', 'r', 's', 't', '\030', '\014', ' ', '\001', '(', '\010', 'R', '\021', 
    'i', 'n', 'R', 'a', 'n', 'g', 'e', 'N', 'u', 'l', 'l', 's', 'F', 'i', 'r', 's', 't', '\022', '\026', '\n', '\006', 'w', 'i', 'n', 'r', 
    'e', 'f', '\030', '\r', ' ', '\001', '(', '\r', 'R', '\006', 'w', 'i', 'n', 'r', 'e', 'f', '\022', '!', '\n', '\014', 'c', 'o', 'p', 'i', 'e', 
    'd', '_', 'o', 'r', 'd', 'e', 'r', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\013', 'c', 'o', 'p', 'i', 'e', 'd', 'O', 'r', 'd', 'e', 
    'r', '\"', '\267', '\001', '\n', '\r', 'R', 'o', 'w', 'M', 'a', 'r', 'k', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\020', '\n', '\003', 'r', 't', 
    'i', '\030', '\001', ' ', '\001', '(', '\r', 'R', '\003', 'r', 't', 'i', '\022', '8', '\n', '\010', 's', 't', 'r', 'e', 'n', 'g', 't', 'h', '\030', 
    '\002', ' ', '\001', '(', '\016', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 
    's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', 'R', '\010', 's', 't', 'r', 'e', 'n', 'g', 't', 'h', '\022', '9', '\n', '\013', 'w', 
    'a', 'i', 't', '_', 'p', 'o', 'l', 'i', 'c', 'y', '\030', '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', 'R', '\n', 'w', 'a', 'i', 't', 'P', 'o', 
    'l', 'i', 'c', 'y', '\022', '\037', '\n', '\013', 'p', 'u', 's', 'h', 'e', 'd', '_', 'd', 'o', 'w', 'n', '\030', '\004', ' ', '\001', '(', '\010', 
    'R', '\n', 'p', 'u', 's', 'h', 'e', 'd', 'D', 'o', 'w', 'n', '\"', 'j', '\n', '\n', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 
    'e', '\022', '\"', '\n', '\004', 'c', 't', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 't', 'e', 's', '\022', '\034', '\n', '\t', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', 
    '\030', '\002', ' ', '\001', '(', '\010', 'R', '\t', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\247', '\001', '\n', '\013', 
    'I', 'n', 'f', 'e', 'r', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 'i', 'n', 'd', 'e', 'x', '_', 'e', 'l', 'e', 'm', 
    's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 
    'i', 'n', 'd', 'e', 'x', 'E', 'l', 'e', 'm', 's', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 
    'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 
    'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\030', '\n', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\003', ' ', 
    '\001', '(', '\t', 'R', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
    '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\363', '\001', '\n', '\020', 'O', 'n', 'C', 'o', 'n', 
    'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', '2', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', 
    '(', '\016', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'A', 
    'c', 't', 'i', 'o', 'n', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\022', '+', '\n', '\005', 'i', 'n', 'f', 'e', 'r', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 'f', 'e', 'r', 'C', 'l', 'a', 'u', 's', 
    'e', 'R', '\005', 'i', 'n', 'f', 'e', 'r', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\003', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 
    'g', 'e', 't', 'L', 'i', 's', 't', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', 
    ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 
    'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', 
    '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\311', '\001', '\n', '\017', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 
    'C', 'l', 'a', 'u', 's', 'e', '\022', '8', '\n', '\017', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'o', 'l', '_', 'l', 'i', 's', 't', 
    '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 's', 
    'e', 'a', 'r', 'c', 'h', '_', 'c', 'o', 'l', '_', 'l', 'i', 's', 't', '\022', '2', '\n', '\024', 's', 'e', 'a', 'r', 'c', 'h', '_', 
    'b', 'r', 'e', 'a', 'd', 't', 'h', '_', 'f', 'i', 'r', 's', 't', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\024', 's', 'e', 'a', 'r', 
    'c', 'h', '_', 'b', 'r', 'e', 'a', 'd', 't', 'h', '_', 'f', 'i', 'r', 's', 't', '\022', ',', '\n', '\021', 's', 'e', 'a', 'r', 'c', 
    'h', '_', 's', 'e', 'q', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\021', 's', 'e', 'a', 'r', 'c', 
    'h', '_', 's', 'e', 'q', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', 
    '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\362', '\003', '\n', '\016', 'C', 'T', 'E', 'C', 'y', 
    'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '6', '\n', '\016', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'o', 'l', '_', 'l', 'i', 
    's', 't', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\016', 'c', 'y', 'c', 'l', 'e', '_', 'c', 'o', 'l', '_', 'l', 'i', 's', 't', '\022', ',', '\n', '\021', 'c', 'y', 'c', 'l', 'e', '_', 
    'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\021', 'c', 'y', 'c', 'l', 'e', '_', 
    'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'u', 'm', 'n', '\022', ':', '\n', '\020', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', 
    '_', 'v', 'a', 'l', 'u', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\020', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'v', 'a', 'l', 'u', 'e', '\022', '>', '\n', '\022', 
    'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\022', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 
    'r', 'k', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\022', ',', '\n', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'p', 'a', 't', 'h', '_', 
    'c', 'o', 'l', 'u', 'm', 'n', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'p', 'a', 't', 'h', '_', 
    'c', 'o', 'l', 'u', 'm', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', 
    '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 
    'y', 'p', 'e', '\030', '\007', ' ', '\001', '(', '\r', 'R', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 'y', 'p', 
    'e', '\022', ',', '\n', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 'y', 'p', 'm', 'o', 'd', '\030', '\010', ' ', 
    '\001', '(', '\005', 'R', '\021', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 't', 'y', 'p', 'm', 'o', 'd', '\022', '2', '\n', 
    '\024', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\t', ' ', '\001', 
    '(', '\r', 'R', '\024', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', '\022', 
    '(', '\n', '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'n', 'e', 'o', 'p', '\030', '\n', ' ', '\001', '(', '\r', 'R', 
    '\017', 'c', 'y', 'c', 'l', 'e', '_', 'm', 'a', 'r', 'k', '_', 'n', 'e', 'o', 'p', '\"', '\210', '\005', '\n', '\017', 'C', 'o', 'm', 'm', 
    'o', 'n', 'T', 'a', 'b', 'l', 'e', 'E', 'x', 'p', 'r', '\022', '\030', '\n', '\007', 'c', 't', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', 
    '\001', '(', '\t', 'R', '\007', 'c', 't', 'e', 'n', 'a', 'm', 'e', '\022', '4', '\n', '\r', 'a', 'l', 'i', 'a', 's', 'c', 'o', 'l', 'n', 
    'a', 'm', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\r', 'a', 'l', 'i', 'a', 's', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\022', 'B', '\n', '\017', 'c', 't', 'e', 'm', 'a', 
    't', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'd', '\030', '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'T', 'E', 'M', 'a', 't', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'R', '\017', 'c', 't', 'e', 'm', 'a', 't', 
    'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'd', '\022', '*', '\n', '\010', 'c', 't', 'e', 'q', 'u', 'e', 'r', 'y', '\030', '\004', ' ', '\001', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 't', 'e', 'q', 'u', 
    'e', 'r', 'y', '\022', '?', '\n', '\r', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', '\001', '(', 
    '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'T', 'E', 'S', 'e', 'a', 'r', 'c', 'h', 'C', 'l', 'a', 
    'u', 's', 'e', 'R', '\r', 's', 'e', 'a', 'r', 'c', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\022', '<', '\n', '\014', 'c', 'y', 'c', 
    'l', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'C', 'T', 'E', 'C', 'y', 'c', 'l', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\014', 'c', 'y', 'c', 'l', 'e', '_', 'c', 
    'l', 'a', 'u', 's', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\007', ' ', '\001', '(', '\005', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\014', 'c', 't', 'e', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\030', 
    '\010', ' ', '\001', '(', '\010', 'R', '\014', 'c', 't', 'e', 'r', 'e', 'c', 'u', 'r', 's', 'i', 'v', 'e', '\022', ' ', '\n', '\013', 'c', 't', 
    'e', 'r', 'e', 'f', 'c', 'o', 'u', 'n', 't', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\013', 'c', 't', 'e', 'r', 'e', 'f', 'c', 'o', 
    'u', 'n', 't', '\022', '0', '\n', '\013', 'c', 't', 'e', 'c', 'o', 'l', 'n', 'a', 'm', 'e', 's', '\030', '\n', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 't', 'e', 'c', 'o', 'l', 'n', 'a', 
    'm', 'e', 's', '\022', '0', '\n', '\013', 'c', 't', 'e', 'c', 'o', 'l', 't', 'y', 'p', 'e', 's', '\030', '\013', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 't', 'e', 'c', 'o', 'l', 't', 'y', 
    'p', 'e', 's', '\022', '4', '\n', '\r', 'c', 't', 'e', 'c', 'o', 'l', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', '\014', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'c', 't', 'e', 'c', 'o', 'l', 
    't', 'y', 'p', 'm', 'o', 'd', 's', '\022', ':', '\n', '\020', 'c', 't', 'e', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 
    'n', 's', '\030', '\r', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\020', 'c', 't', 'e', 'c', 'o', 'l', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\"', '\275', '\002', '\n', '\017', 'M', 'e', 'r', 
    'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', '\022', '7', '\n', '\n', 'm', 'a', 't', 'c', 'h', '_', 'k', 'i', 'n', 
    'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'M', 'e', 'r', 'g', 'e', 'M', 
    'a', 't', 'c', 'h', 'K', 'i', 'n', 'd', 'R', '\t', 'm', 'a', 't', 'c', 'h', 'K', 'i', 'n', 'd', '\022', '4', '\n', '\014', 'c', 'o', 
    'm', 'm', 'a', 'n', 'd', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'm', 'd', 'T', 'y', 'p', 'e', 'R', '\013', 'c', 'o', 'm', 'm', 'a', 'n', 'd', 'T', 'y', 'p', 'e', '\022', '4', 
    '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 
    'd', 'e', '\022', ',', '\n', '\t', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '/', 
    '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', '\022', '&', '\n', 
    '\006', 'v', 'a', 'l', 'u', 'e', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\006', 'v', 'a', 'l', 'u', 'e', 's', '\"', 'Y', '\n', '\021', 'T', 'r', 'i', 'g', 'g', 'e', 'r', 'T', 'r', 
    'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 
    'a', 'm', 'e', '\022', '\025', '\n', '\006', 'i', 's', '_', 'n', 'e', 'w', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\005', 'i', 's', 'N', 'e', 
    'w', '\022', '\031', '\n', '\010', 'i', 's', '_', 't', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\007', 'i', 's', 'T', 'a', 
    'b', 'l', 'e', '\"', 't', '\n', '\n', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', 
    '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 
    'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '5', '\n', '\t', 'r', 'e', 't', 'u', 'r', 
    'n', 'i', 'n', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 
    'n', 'R', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'R', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '\"', 'M', '\n', '\014', 
    'J', 's', 'o', 'n', 'A', 'r', 'g', 'u', 'm', 'e', 'n', 't', '\022', ')', '\n', '\003', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 
    'R', '\003', 'v', 'a', 'l', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', 
    '\"', '\372', '\003', '\n', '\014', 'J', 's', 'o', 'n', 'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', '\022', '$', '\n', '\002', 'o', 'p', '\030', '\001', 
    ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'E', 'x', 'p', 'r', 'O', 
    'p', 'R', '\002', 'o', 'p', '\022', ' ', '\n', '\013', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', 
    '\t', 'R', '\013', 'c', 'o', 'l', 'u', 'm', 'n', '_', 'n', 'a', 'm', 'e', '\022', ';', '\n', '\014', 'c', 'o', 'n', 't', 'e', 'x', 't', 
    '_', 'i', 't', 'e', 'm', '\030', '\003', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 
    'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'R', '\014', 'c', 'o', 'n', 't', 'e', 'x', 't', '_', 'i', 't', 'e', 'm', 
    '\022', '*', '\n', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 'c', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 'c', '\022', '(', '\n', '\007', 'p', 'a', 
    's', 's', 'i', 'n', 'g', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\007', 'p', 'a', 's', 's', 'i', 'n', 'g', '\022', ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\006', ' ', '\001', 
    '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', 
    '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'm', 'p', 't', 'y', '\030', '\007', ' ', '\001', '(', '\013', 
    '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', 
    '\010', 'o', 'n', '_', 'e', 'm', 'p', 't', 'y', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\030', '\010', ' ', '\001', 
    '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 
    'r', 'R', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\022', '/', '\n', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\030', '\t', ' ', 
    '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'W', 'r', 'a', 'p', 'p', 'e', 
    'r', 'R', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\022', ',', '\n', '\006', 'q', 'u', 'o', 't', 'e', 's', '\030', '\n', ' ', '\001', '(', 
    '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'Q', 'u', 'o', 't', 'e', 's', 'R', '\006', 
    'q', 'u', 'o', 't', 'e', 's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', '\005', 'R', 
    '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\221', '\001', '\n', '\021', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 
    't', 'h', 'S', 'p', 'e', 'c', '\022', '&', '\n', '\006', 's', 't', 'r', 'i', 'n', 'g', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 's', 't', 'r', 'i', 'n', 'g', '\022', '\022', '\n', '\004', 
    'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'n', 'a', 'm', 'e', '_', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\r', 'n', 'a', 'm', 'e', '_', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\346', '\002', '\n', '\t', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', '\022', ';', '\n', '\014', 
    'c', 'o', 'n', 't', 'e', 'x', 't', '_', 'i', 't', 'e', 'm', '\030', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'R', '\014', 'c', 'o', 'n', 't', 'e', 
    'x', 't', '_', 'i', 't', 'e', 'm', '\022', '7', '\n', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 'c', '\030', '\002', ' ', '\001', '(', '\013', 
    '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'P', 'a', 't', 'h', 
    'S', 'p', 'e', 'c', 'R', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 'c', '\022', '(', '\n', '\007', 'p', 'a', 's', 's', 'i', 'n', 'g', 
    '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'p', 
    'a', 's', 's', 'i', 'n', 'g', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\022', '2', 
    '\n', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', 
    '\022', '%', '\n', '\005', 'a', 'l', 'i', 'a', 's', '\030', '\006', ' ', '\001', '(', '\013', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'A', 'l', 'i', 'a', 's', 'R', '\005', 'a', 'l', 'i', 'a', 's', '\022', '\030', '\n', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', 
    '\030', '\007', ' ', '\001', '(', '\010', 'R', '\007', 'l', 'a', 't', 'e', 'r', 'a', 'l', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\203', '\004', '\n', '\017', 'J', 's', 
    'o', 'n', 'T', 'a', 'b', 'l', 'e', 'C', 'o', 'l', 'u', 'm', 'n', '\022', '7', '\n', '\007', 'c', 'o', 'l', 't', 'y', 'p', 'e', '\030', 
    '\001', ' ', '\001', '(', '\016', '2', '\035', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 'b', 'l', 
    'e', 'C', 'o', 'l', 'u', 'm', 'n', 'T', 'y', 'p', 'e', 'R', '\007', 'c', 'o', 'l', 't', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'n', 
    'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 
    'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 
    'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '7', '\n', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 
    'c', '\030', '\004', ' ', '\001', '(', '\013', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'T', 'a', 
    'b', 'l', 'e', 'P', 'a', 't', 'h', 'S', 'p', 'e', 'c', 'R', '\010', 'p', 'a', 't', 'h', 's', 'p', 'e', 'c', '\022', ',', '\n', '\006', 
    'f', 'o', 'r', 'm', 'a', 't', '\030', '\005', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 
    's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\022', '/', '\n', '\007', 'w', 'r', 'a', 'p', 
    'p', 'e', 'r', '\030', '\006', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 
    'W', 'r', 'a', 'p', 'p', 'e', 'r', 'R', '\007', 'w', 'r', 'a', 'p', 'p', 'e', 'r', '\022', ',', '\n', '\006', 'q', 'u', 'o', 't', 'e', 
    's', '\030', '\007', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'Q', 'u', 
    'o', 't', 'e', 's', 'R', '\006', 'q', 'u', 'o', 't', 'e', 's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\010', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 
    'u', 'm', 'n', 's', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'm', 'p', 't', 'y', '\030', '\t', ' ', '\001', '(', '\013', '2', '\026', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'o', 'n', 
    '_', 'e', 'm', 'p', 't', 'y', '\022', '2', '\n', '\010', 'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\030', '\n', ' ', '\001', '(', '\013', '2', 
    '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 
    'o', 'n', '_', 'e', 'r', 'r', 'o', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\013', ' ', '\001', '(', 
    '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '_', '\n', '\014', 'J', 's', 'o', 'n', 'K', 'e', 'y', 'V', 'a', 'l', 
    'u', 'e', '\022', ' ', '\n', '\003', 'k', 'e', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'k', 'e', 'y', '\022', '-', '\n', '\005', 'v', 'a', 'l', 'u', 'e', '\030', '\002', ' ', '\001', '(', 
    '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 
    'r', 'R', '\005', 'v', 'a', 'l', 'u', 'e', '\"', '\250', '\001', '\n', '\r', 'J', 's', 'o', 'n', 'P', 'a', 'r', 's', 'e', 'E', 'x', 'p', 
    'r', '\022', '+', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'R', '\004', 'e', 'x', 'p', 'r', '\022', ',', '\n', '\006', 
    'o', 'u', 't', 'p', 'u', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 
    's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', ' ', '\n', '\013', 'u', 'n', 'i', 'q', 
    'u', 'e', '_', 'k', 'e', 'y', 's', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\013', 'u', 'n', 'i', 'q', 'u', 'e', '_', 'k', 'e', 'y', 
    's', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 
    't', 'i', 'o', 'n', '\"', '~', '\n', '\016', 'J', 's', 'o', 'n', 'S', 'c', 'a', 'l', 'a', 'r', 'E', 'x', 'p', 'r', '\022', '\"', '\n', 
    '\004', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\022', ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', 
    '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', '\006', 'o', 'u', 
    't', 'p', 'u', 't', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\212', '\001', '\n', '\021', 'J', 's', 'o', 'n', 'S', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 
    'E', 'x', 'p', 'r', '\022', '+', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'R', '\004', 'e', 'x', 'p', 'r', '\022', 
    ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', '\032', '\n', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\307', 
    '\001', '\n', '\025', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 'c', 't', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', 
    '$', '\n', '\005', 'e', 'x', 'p', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\005', 'e', 'x', 'p', 'r', 's', '\022', ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 
    'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 
    'l', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', '\022', '\026', 
    '\n', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\022', '\032', '\n', 
    '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 
    '\"', '\256', '\001', '\n', '\024', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 
    '\022', '$', '\n', '\005', 'e', 'x', 'p', 'r', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'e', 'x', 'p', 'r', 's', '\022', ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\002', 
    ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 
    't', 'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 
    'l', 'l', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', '\022', 
    '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 
    'o', 'n', '\"', '\341', '\001', '\n', '\031', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 'Q', 'u', 'e', 'r', 'y', 'C', 'o', 'n', 's', 
    't', 'r', 'u', 'c', 't', 'o', 'r', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', ',', '\n', '\006', 'o', 
    'u', 't', 'p', 'u', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 
    'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', ',', '\n', '\006', 'f', 'o', 'r', 'm', 'a', 
    't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'F', 'o', 
    'r', 'm', 'a', 't', 'R', '\006', 'f', 'o', 'r', 'm', 'a', 't', '\022', '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', 
    '_', 'n', 'u', 'l', 'l', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 
    'l', 'l', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\"', '\345', '\001', '\n', '\022', 'J', 's', 'o', 'n', 'A', 'g', 'g', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 
    't', 'o', 'r', '\022', ',', '\n', '\006', 'o', 'u', 't', 'p', 'u', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'O', 'u', 't', 'p', 'u', 't', 'R', '\006', 'o', 'u', 't', 'p', 'u', 't', '\022', 
    '.', '\n', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 'e', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'a', 'g', 'g', '_', 'f', 'i', 'l', 't', 'e', 'r', '\022', ',', '\n', 
    '\t', 'a', 'g', 'g', '_', 'o', 'r', 'd', 'e', 'r', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'a', 'g', 'g', '_', 'o', 'r', 'd', 'e', 'r', '\022', '\'', '\n', '\004', 'o', 'v', 'e', 
    'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 'n', 'd', 'o', 'w', 
    'D', 'e', 'f', 'R', '\004', 'o', 'v', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', 
    '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\271', '\001', '\n', '\r', 'J', 's', 'o', 'n', 'O', 'b', 'j', 'e', 
    'c', 't', 'A', 'g', 'g', '\022', '>', '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'A', 'g', 'g', 'C', 'o', 'n', 's', 't', 
    'r', 'u', 'c', 't', 'o', 'r', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', '\022', '(', '\n', '\003', 'a', 'r', 
    'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'K', 'e', 
    'y', 'V', 'a', 'l', 'u', 'e', 'R', '\003', 'a', 'r', 'g', '\022', '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 
    'n', 'u', 'l', 'l', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 
    'l', '\022', '\026', '\n', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'u', 'n', 'i', 'q', 'u', 'e', 
    '\"', '\241', '\001', '\n', '\014', 'J', 's', 'o', 'n', 'A', 'r', 'r', 'a', 'y', 'A', 'g', 'g', '\022', '>', '\n', '\013', 'c', 'o', 'n', 's', 
    't', 'r', 'u', 'c', 't', 'o', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'J', 's', 'o', 'n', 'A', 'g', 'g', 'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'R', '\013', 'c', 'o', 'n', 's', 't', 
    'r', 'u', 'c', 't', 'o', 'r', '\022', ')', '\n', '\003', 'a', 'r', 'g', '\030', '\002', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'E', 'x', 'p', 'r', 'R', '\003', 'a', 'r', 'g', '\022', 
    '&', '\n', '\016', 'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\016', 
    'a', 'b', 's', 'e', 'n', 't', '_', 'o', 'n', '_', 'n', 'u', 'l', 'l', '\"', 'o', '\n', '\007', 'R', 'a', 'w', 'S', 't', 'm', 't', 
    '\022', '\"', '\n', '\004', 's', 't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\004', 's', 't', 'm', 't', '\022', '$', '\n', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 
    'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\r', 's', 't', 'm', 't', '_', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', 
    '\032', '\n', '\010', 's', 't', 'm', 't', '_', 'l', 'e', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 's', 't', 'm', 't', '_', 'l', 
    'e', 'n', '\"', '\377', '\002', '\n', '\n', 'I', 'n', 's', 'e', 'r', 't', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 
    't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 
    'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'c', 'o', 'l', 's', '\030', '\002', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'o', 'l', 
    's', '\022', '/', '\n', '\013', 's', 'e', 'l', 'e', 'c', 't', '_', 's', 't', 'm', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', 
    '\022', 'H', '\n', '\022', 'o', 'n', '_', 'c', 'o', 'n', 'f', 'l', 'i', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', 
    '\001', '(', '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 
    'C', 'l', 'a', 'u', 's', 'e', 'R', '\020', 'o', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'C', 'l', 'a', 'u', 's', 'e', '\022', 
    '5', '\n', '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 
    'L', 'i', 's', 't', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', 
    '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 
    'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', '4', '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\007', ' ', '\001', 
    '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'v', 'e', 'r', 'r', 'i', 'd', 'i', 'n', 'g', 'K', 
    'i', 'n', 'd', 'R', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\"', '\220', '\002', '\n', '\n', 'D', 'e', 'l', 'e', 't', 'e', 'S', 
    't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 
    'n', '\022', '1', '\n', '\014', 'u', 's', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'u', 's', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 
    's', 'e', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 
    'u', 's', 'e', '\022', '5', '\n', '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\004', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 
    'n', 'i', 'n', 'g', 'L', 'i', 's', 't', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', 
    ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 
    'e', 'R', '\n', 'w', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\"', '\277', '\002', '\n', '\n', 'U', 'p', 'd', 'a', 't', 'e', 'S', 
    't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 
    'n', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 'L', 'i', 's', 't', 
    '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 
    'e', '\022', '/', '\n', '\013', 'f', 'r', 'o', 'm', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'r', 'o', 'm', 'C', 'l', 'a', 'u', 's', 'e', 
    '\022', '5', '\n', '\016', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 
    'g', 'L', 'i', 's', 't', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', 
    '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 
    'w', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\"', '\327', '\002', '\n', '\t', 'M', 'e', 'r', 'g', 'e', 'S', 't', 'm', 't', '\022', 
    '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '7', '\n', 
    '\017', 's', 'o', 'u', 'r', 'c', 'e', '_', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 's', 'o', 'u', 'r', 'c', 'e', 'R', 'e', 'l', 'a', 
    't', 'i', 'o', 'n', '\022', '5', '\n', '\016', 'j', 'o', 'i', 'n', '_', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\030', '\003', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'j', 'o', 'i', 'n', 
    'C', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', '\022', '<', '\n', '\022', 'm', 'e', 'r', 'g', 'e', '_', 'w', 'h', 'e', 'n', '_', 'c', 
    'l', 'a', 'u', 's', 'e', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\020', 'm', 'e', 'r', 'g', 'e', 'W', 'h', 'e', 'n', 'C', 'l', 'a', 'u', 's', 'e', 's', '\022', '5', '\n', '\016', 
    'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', '_', 'l', 'i', 's', 't', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'r', 'e', 't', 'u', 'r', 'n', 'i', 'n', 'g', 'L', 'i', 's', 
    't', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', ' ', '\001', '(', '\013', '2', '\024', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 'h', 
    'C', 'l', 'a', 'u', 's', 'e', '\"', '\323', '\007', '\n', '\n', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', '\022', '7', '\n', '\017', 
    'd', 'i', 's', 't', 'i', 'n', 'c', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', 'C', 'l', 'a', 
    'u', 's', 'e', '\022', '5', '\n', '\013', 'i', 'n', 't', 'o', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', 
    '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'i', 'n', 
    't', 'o', 'C', 'l', 'a', 'u', 's', 'e', '\022', '/', '\n', '\013', 't', 'a', 'r', 'g', 'e', 't', '_', 'l', 'i', 's', 't', '\030', '\003', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'r', 
    'g', 'e', 't', 'L', 'i', 's', 't', '\022', '/', '\n', '\013', 'f', 'r', 'o', 'm', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\004', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'f', 'r', 'o', 'm', 
    'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\005', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 
    'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '1', '\n', '\014', 'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\006', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'g', 'r', 'o', 
    'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', '\022', '%', '\n', '\016', 'g', 'r', 'o', 'u', 'p', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 
    't', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\r', 'g', 'r', 'o', 'u', 'p', 'D', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '3', '\n', 
    '\r', 'h', 'a', 'v', 'i', 'n', 'g', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'h', 'a', 'v', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', 
    '\022', '3', '\n', '\r', 'w', 'i', 'n', 'd', 'o', 'w', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\t', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'w', 'i', 'n', 'd', 'o', 'w', 'C', 'l', 'a', 
    'u', 's', 'e', '\022', '1', '\n', '\014', 'v', 'a', 'l', 'u', 'e', 's', '_', 'l', 'i', 's', 't', 's', '\030', '\n', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'v', 'a', 'l', 'u', 'e', 's', 'L', 
    'i', 's', 't', 's', '\022', '/', '\n', '\013', 's', 'o', 'r', 't', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\013', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 'o', 'r', 't', 'C', 'l', 'a', 
    'u', 's', 'e', '\022', '1', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'f', 'f', 's', 'e', 't', '\030', '\014', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'l', 'i', 'm', 'i', 't', 'O', 'f', 
    'f', 's', 'e', 't', '\022', '/', '\n', '\013', 'l', 'i', 'm', 'i', 't', '_', 'c', 'o', 'u', 'n', 't', '\030', '\r', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'l', 'i', 'm', 'i', 't', 'C', 'o', 
    'u', 'n', 't', '\022', '8', '\n', '\014', 'l', 'i', 'm', 'i', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\016', ' ', '\001', '(', '\016', 
    '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'L', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', 'R', '\013', 
    'l', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '5', '\n', '\016', 'l', 'o', 'c', 'k', 'i', 'n', 'g', '_', 'c', 'l', 
    'a', 'u', 's', 'e', '\030', '\017', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\r', 'l', 'o', 'c', 'k', 'i', 'n', 'g', 'C', 'l', 'a', 'u', 's', 'e', '\022', '5', '\n', '\013', 'w', 'i', 't', 'h', '_', 
    'c', 'l', 'a', 'u', 's', 'e', '\030', '\020', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'W', 
    'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'w', 'i', 't', 'h', 'C', 'l', 'a', 'u', 's', 'e', '\022', '&', '\n', '\002', 
    'o', 'p', '\030', '\021', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 't', 'O', 'p', 
    'e', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\002', 'o', 'p', '\022', '\020', '\n', '\003', 'a', 'l', 'l', '\030', '\022', ' ', '\001', '(', '\010', 'R', 
    '\003', 'a', 'l', 'l', '\022', '(', '\n', '\004', 'l', 'a', 'r', 'g', '\030', '\023', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'R', '\004', 'l', 'a', 'r', 'g', '\022', '(', '\n', '\004', 
    'r', 'a', 'r', 'g', '\030', '\024', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 
    'e', 'c', 't', 'S', 't', 'm', 't', 'R', '\004', 'r', 'a', 'r', 'g', '\"', '\336', '\002', '\n', '\020', 'S', 'e', 't', 'O', 'p', 'e', 'r', 
    'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '&', '\n', '\002', 'o', 'p', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', 'R', '\002', 'o', 'p', '\022', 
    '\020', '\n', '\003', 'a', 'l', 'l', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\003', 'a', 'l', 'l', '\022', '\"', '\n', '\004', 'l', 'a', 'r', 'g', 
    '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'l', 
    'a', 'r', 'g', '\022', '\"', '\n', '\004', 'r', 'a', 'r', 'g', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'r', 'a', 'r', 'g', '\022', '+', '\n', '\t', 'c', 'o', 'l', '_', 't', 'y', 'p', 
    'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\010', 'c', 'o', 'l', 'T', 'y', 'p', 'e', 's', '\022', '/', '\n', '\013', 'c', 'o', 'l', '_', 't', 'y', 'p', 'm', 'o', 'd', 's', '\030', 
    '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 
    'l', 'T', 'y', 'p', 'm', 'o', 'd', 's', '\022', '5', '\n', '\016', 'c', 'o', 'l', '_', 'c', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 
    's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 
    'c', 'o', 'l', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '3', '\n', '\r', 'g', 'r', 'o', 'u', 'p', '_', 'c', 'l', 
    'a', 'u', 's', 'e', 's', '\030', '\010', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\014', 'g', 'r', 'o', 'u', 'p', 'C', 'l', 'a', 'u', 's', 'e', 's', '\"', ':', '\n', '\n', 'R', 'e', 't', 'u', 'r', 
    'n', 'S', 't', 'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'v', 'a', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'r', 'e', 't', 'u', 'r', 'n', 'v', 'a', 
    'l', '\"', '\260', '\001', '\n', '\014', 'P', 'L', 'A', 's', 's', 'i', 'g', 'n', 'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 
    'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 
    'i', 'o', 'n', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\013', 'i', 'n', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', '\026', '\n', '\006', 'n', 'n', 'a', 'm', 'e', 's', '\030', '\003', 
    ' ', '\001', '(', '\005', 'R', '\006', 'n', 'n', 'a', 'm', 'e', 's', '\022', '&', '\n', '\003', 'v', 'a', 'l', '\030', '\004', ' ', '\001', '(', '\013', 
    '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'S', 'e', 'l', 'e', 'c', 't', 'S', 't', 'm', 't', 'R', '\003', 'v', 
    'a', 'l', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 
    'a', 't', 'i', 'o', 'n', '\"', '\271', '\001', '\n', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 
    't', '\022', '\036', '\n', '\n', 's', 'c', 'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 's', 'c', 
    'h', 'e', 'm', 'a', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'a', 'u', 't', 'h', 'r', 'o', 'l', 'e', '\030', '\002', ' ', '\001', '(', 
    '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\010', 'a', 'u', 
    't', 'h', 'r', 'o', 'l', 'e', '\022', '/', '\n', '\013', 's', 'c', 'h', 'e', 'm', 'a', '_', 'e', 'l', 't', 's', '\030', '\003', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 'c', 'h', 'e', 'm', 
    'a', 'E', 'l', 't', 's', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\004', ' ', 
    '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', '\264', '\001', '\n', '\016', 'A', 'l', 
    't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', 
    '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 
    'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\"', '\n', '\004', 'c', 'm', 'd', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'm', 'd', 's', '\022', '.', '\n', '\007', 
    'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 
    's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 
    'k', '\"', 'O', '\n', '\023', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', 'S', 't', 'm', 't', '\022', 
    '$', '\n', '\r', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'i', 
    'd', 'e', 'n', 't', 'i', 't', 'y', '_', 't', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', 
    '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\"', '\251', '\002', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'C', 'm', 'd', 
    '\022', '2', '\n', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'T', 'y', 'p', 'e', 'R', '\007', 's', 'u', 'b', 't', 'y', 
    'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\020', '\n', 
    '\003', 'n', 'u', 'm', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\003', 'n', 'u', 'm', '\022', '.', '\n', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 
    'e', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 
    'p', 'e', 'c', 'R', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', '\022', ' ', '\n', '\003', 'd', 'e', 'f', '\030', '\005', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'd', 'e', 'f', '\022', '2', '\n', 
    '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', 
    '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 
    'i', 'n', 'g', '_', 'o', 'k', '\022', '\030', '\n', '\007', 'r', 'e', 'c', 'u', 'r', 's', 'e', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\007', 
    'r', 'e', 'c', 'u', 'r', 's', 'e', '\"', '@', '\n', '\022', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'l', 'a', 't', 'i', 'o', 'n', 
    'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'c', 'o', 'l', 'l', 'n', 'a', 'm', 'e', '\"', '\342', 
    '\001', '\n', '\017', 'A', 'l', 't', 'e', 'r', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 's', 'u', 'b', 
    't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 't', 'y', 'p', 'e', '\022', '+', '\n', '\t', 't', 'y', 
    'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\003', ' ', 
    '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', ' ', '\n', '\003', 'd', 'e', 'f', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\003', 'd', 'e', 'f', '\022', '2', '\n', '\010', 'b', 'e', 'h', 
    'a', 'v', 'i', 'o', 'r', '\030', '\005', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 
    'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', '\n', '\n', 'm', 
    'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 
    'o', 'k', '\"', '\232', '\003', '\n', '\t', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 'i', 's', '_', 'g', 'r', 
    'a', 'n', 't', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'g', 'r', 'a', 'n', 't', '\022', '5', '\n', '\010', 't', 'a', 
    'r', 'g', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'G', 
    'r', 'a', 'n', 't', 'T', 'a', 'r', 'g', 'e', 't', 'T', 'y', 'p', 'e', 'R', '\010', 't', 'a', 'r', 'g', 't', 'y', 'p', 'e', '\022', 
    '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '(', '\n', 
    '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', '.', '\n', '\n', 'p', 'r', 'i', 'v', 'i', 'l', 'e', 
    'g', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\n', 'p', 'r', 'i', 'v', 'i', 'l', 'e', 'g', 'e', 's', '\022', '*', '\n', '\010', 'g', 'r', 'a', 'n', 't', 'e', 'e', 's', '\030', 
    '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'g', 'r', 
    'a', 'n', 't', 'e', 'e', 's', '\022', '\"', '\n', '\014', 'g', 'r', 'a', 'n', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\007', ' ', 
    '\001', '(', '\010', 'R', '\014', 'g', 'r', 'a', 'n', 't', '_', 'o', 'p', 't', 'i', 'o', 'n', '\022', ',', '\n', '\007', 'g', 'r', 'a', 'n', 
    't', 'o', 'r', '\030', '\010', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 
    'S', 'p', 'e', 'c', 'R', '\007', 'g', 'r', 'a', 'n', 't', 'o', 'r', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 
    '\030', '\t', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 
    'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', '\302', '\001', '\n', '\016', 'O', 'b', 'j', 'e', 'c', 
    't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', '\022', '(', '\n', '\007', 'o', 'b', 'j', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'n', 'a', 'm', 
    'e', '\022', '(', '\n', '\007', 'o', 'b', 'j', 'a', 'r', 'g', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'a', 'r', 'g', 's', '\022', '0', '\n', '\013', 'o', 'b', 'j', 
    'f', 'u', 'n', 'c', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'b', 'j', 'f', 'u', 'n', 'c', 'a', 'r', 'g', 's', '\022', '*', '\n', '\020', 'a', 'r', 'g', 
    's', '_', 'u', 'n', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'd', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\020', 'a', 'r', 'g', 's', 
    '_', 'u', 'n', 's', 'p', 'e', 'c', 'i', 'f', 'i', 'e', 'd', '\"', 'N', '\n', '\n', 'A', 'c', 'c', 'e', 's', 's', 'P', 'r', 'i', 
    'v', '\022', '\034', '\n', '\t', 'p', 'r', 'i', 'v', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\t', 'p', 'r', 'i', 
    'v', '_', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'c', 'o', 'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'c', 'o', 'l', 's', '\"', '\233', '\002', '\n', '\r', 'G', 'r', 'a', 
    'n', 't', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '4', '\n', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'd', '_', 'r', 'o', 'l', 
    'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\r', 'g', 'r', 'a', 'n', 't', 'e', 'd', '_', 'r', 'o', 'l', 'e', 's', '\022', '4', '\n', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'e', 
    '_', 'r', 'o', 'l', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\r', 'g', 'r', 'a', 'n', 't', 'e', 'e', '_', 'r', 'o', 'l', 'e', 's', '\022', '\032', '\n', '\010', 'i', 's', '_', 
    'g', 'r', 'a', 'n', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'g', 'r', 'a', 'n', 't', '\022', ' ', '\n', '\003', 
    'o', 'p', 't', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\003', 'o', 'p', 't', '\022', ',', '\n', '\007', 'g', 'r', 'a', 'n', 't', 'o', 'r', '\030', '\005', ' ', '\001', '(', '\013', '2', '\022', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\007', 'g', 'r', 'a', 'n', 't', 'o', 
    'r', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\006', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 
    'i', 'o', 'r', '\"', 's', '\n', '\032', 'A', 'l', 't', 'e', 'r', 'D', 'e', 'f', 'a', 'u', 'l', 't', 'P', 'r', 'i', 'v', 'i', 'l', 
    'e', 'g', 'e', 's', 'S', 't', 'm', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
    '\022', '+', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\023', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'G', 'r', 'a', 'n', 't', 'S', 't', 'm', 't', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\"', '\275', '\002', '\n', '\010', 
    'C', 'o', 'p', 'y', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 
    'l', 'a', 't', 'i', 'o', 'n', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', '\007', 'a', 't', 
    't', 'l', 'i', 's', 't', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\007', 'a', 't', 't', 'l', 'i', 's', 't', '\022', '\030', '\n', '\007', 'i', 's', '_', 'f', 'r', 'o', 'm', '\030', '\004', ' ', 
    '\001', '(', '\010', 'R', '\007', 'i', 's', '_', 'f', 'r', 'o', 'm', '\022', '\036', '\n', '\n', 'i', 's', '_', 'p', 'r', 'o', 'g', 'r', 'a', 
    'm', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'i', 's', '_', 'p', 'r', 'o', 'g', 'r', 'a', 'm', '\022', '\032', '\n', '\010', 'f', 'i', 
    'l', 'e', 'n', 'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\010', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\022', '(', '\n', 
    '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 
    'l', 'a', 'u', 's', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\"', '\224', '\001', '\n', '\017', 'V', 'a', 'r', 'i', 'a', 
    'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '-', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', 
    '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'K', 'i', 'n', 
    'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 
    'm', 'e', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '\032', '\n', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', 
    '\030', '\004', ' ', '\001', '(', '\010', 'R', '\010', 'i', 's', '_', 'l', 'o', 'c', 'a', 'l', '\"', '&', '\n', '\020', 'V', 'a', 'r', 'i', 'a', 
    'b', 'l', 'e', 'S', 'h', 'o', 'w', 'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 
    'R', '\004', 'n', 'a', 'm', 'e', '\"', '\313', '\004', '\n', '\n', 'C', 'r', 'e', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 
    'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '-', '\n', '\n', 't', 'a', 
    'b', 'l', 'e', '_', 'e', 'l', 't', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\t', 't', 'a', 'b', 'l', 'e', 'E', 'l', 't', 's', '\022', '3', '\n', '\r', 'i', 'n', 'h', '_', 'r', 
    'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\014', 'i', 'n', 'h', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', ':', '\n', '\t', 'p', 'a', 
    'r', 't', 'b', 'o', 'u', 'n', 'd', '\030', '\004', ' ', '\001', '(', '\013', '2', '\034', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'B', 'o', 'u', 'n', 'd', 'S', 'p', 'e', 'c', 'R', '\t', 'p', 'a', 'r', 't', 'b', 
    'o', 'u', 'n', 'd', '\022', '3', '\n', '\010', 'p', 'a', 'r', 't', 's', 'p', 'e', 'c', '\030', '\005', ' ', '\001', '(', '\013', '2', '\027', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 'p', 'e', 'c', 'R', '\010', 'p', 
    'a', 'r', 't', 's', 'p', 'e', 'c', '\022', '3', '\n', '\013', 'o', 'f', '_', 't', 'y', 'p', 'e', 'n', 'a', 'm', 'e', '\030', '\006', ' ', 
    '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 
    'o', 'f', 'T', 'y', 'p', 'e', 'n', 'a', 'm', 'e', '\022', '0', '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 
    '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 
    'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\010', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 
    'n', 's', '\022', '4', '\n', '\010', 'o', 'n', 'c', 'o', 'm', 'm', 'i', 't', '\030', '\t', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'n', 'C', 'o', 'm', 'm', 'i', 't', 'A', 'c', 't', 'i', 'o', 'n', 'R', '\010', 'o', 'n', 
    'c', 'o', 'm', 'm', 'i', 't', '\022', '&', '\n', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', 
    '\n', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '#', '\n', '\r', 
    'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\013', ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 
    's', 's', 'M', 'e', 't', 'h', 'o', 'd', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', 
    '\030', '\014', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', '\372', '\t', '\n', 
    '\n', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\022', '.', '\n', '\007', 'c', 'o', 'n', 't', 'y', 'p', 'e', '\030', '\001', ' ', 
    '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 'n', 's', 't', 'r', 'T', 'y', 'p', 'e', 
    'R', '\007', 'c', 'o', 'n', 't', 'y', 'p', 'e', '\022', '\030', '\n', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', 
    '\t', 'R', '\007', 'c', 'o', 'n', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\030', 
    '\003', ' ', '\001', '(', '\010', 'R', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\022', '\"', '\n', '\014', 'i', 'n', 'i', 't', 
    'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 
    'r', 'e', 'd', '\022', '(', '\n', '\017', 's', 'k', 'i', 'p', '_', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'i', 'o', 'n', '\030', '\005', ' ', 
    '\001', '(', '\010', 'R', '\017', 's', 'k', 'i', 'p', '_', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\017', 'i', 
    'n', 'i', 't', 'i', 'a', 'l', 'l', 'y', '_', 'v', 'a', 'l', 'i', 'd', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\017', 'i', 'n', 'i', 
    't', 'i', 'a', 'l', 'l', 'y', '_', 'v', 'a', 'l', 'i', 'd', '\022', '$', '\n', '\r', 'i', 's', '_', 'n', 'o', '_', 'i', 'n', 'h', 
    'e', 'r', 'i', 't', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\r', 'i', 's', '_', 'n', 'o', '_', 'i', 'n', 'h', 'e', 'r', 'i', 't', 
    '\022', '*', '\n', '\010', 'r', 'a', 'w', '_', 'e', 'x', 'p', 'r', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'r', 'a', 'w', '_', 'e', 'x', 'p', 'r', '\022', ' ', '\n', '\013', 'c', 'o', 
    'o', 'k', 'e', 'd', '_', 'e', 'x', 'p', 'r', '\030', '\t', ' ', '\001', '(', '\t', 'R', '\013', 'c', 'o', 'o', 'k', 'e', 'd', '_', 'e', 
    'x', 'p', 'r', '\022', '&', '\n', '\016', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', '_', 'w', 'h', 'e', 'n', '\030', '\n', ' ', '\001', 
    '(', '\t', 'R', '\016', 'g', 'e', 'n', 'e', 'r', 'a', 't', 'e', 'd', '_', 'w', 'h', 'e', 'n', '\022', '\032', '\n', '\010', 'i', 'n', 'h', 
    'c', 'o', 'u', 'n', 't', '\030', '\013', ' ', '\001', '(', '\005', 'R', '\010', 'i', 'n', 'h', 'c', 'o', 'u', 'n', 't', '\022', '.', '\n', '\022', 
    'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\030', '\014', ' ', '\001', '(', '\010', 'R', 
    '\022', 'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 't', 'i', 'n', 'c', 't', '\022', '\"', '\n', '\004', 'k', 'e', 
    'y', 's', '\030', '\r', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\004', 'k', 'e', 'y', 's', '\022', ',', '\n', '\t', 'i', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 'g', '\030', '\016', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'i', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 
    'g', '\022', '.', '\n', '\n', 'e', 'x', 'c', 'l', 'u', 's', 'i', 'o', 'n', 's', '\030', '\017', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'e', 'x', 'c', 'l', 'u', 's', 'i', 'o', 'n', 's', '\022', 
    '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\020', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\034', '\n', '\t', 'i', 'n', 'd', 'e', 'x', 
    'n', 'a', 'm', 'e', '\030', '\021', ' ', '\001', '(', '\t', 'R', '\t', 'i', 'n', 'd', 'e', 'x', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 
    'i', 'n', 'd', 'e', 'x', 's', 'p', 'a', 'c', 'e', '\030', '\022', ' ', '\001', '(', '\t', 'R', '\n', 'i', 'n', 'd', 'e', 'x', 's', 'p', 
    'a', 'c', 'e', '\022', '2', '\n', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 
    'p', 'c', '\030', '\023', ' ', '\001', '(', '\010', 'R', '\024', 'r', 'e', 's', 'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 
    'b', 'l', 's', 'p', 'c', '\022', '$', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 'd', '\030', '\024', ' ', 
    '\001', '(', '\t', 'R', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 'm', 'e', 't', 'h', 'o', 'd', '\022', '2', '\n', '\014', 'w', 'h', 'e', 
    'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\025', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\022', ',', '\n', '\007', 'p', 
    'k', 't', 'a', 'b', 'l', 'e', '\030', '\026', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 
    'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\007', 'p', 'k', 't', 'a', 'b', 'l', 'e', '\022', '*', '\n', '\010', 'f', 'k', '_', 'a', 't', 
    't', 'r', 's', '\030', '\027', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 'f', 'k', '_', 'a', 't', 't', 'r', 's', '\022', '*', '\n', '\010', 'p', 'k', '_', 'a', 't', 't', 'r', 's', '\030', '\030', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'k', '_', 'a', 
    't', 't', 'r', 's', '\022', '\"', '\n', '\014', 'f', 'k', '_', 'm', 'a', 't', 'c', 'h', 't', 'y', 'p', 'e', '\030', '\031', ' ', '\001', '(', 
    '\t', 'R', '\014', 'f', 'k', '_', 'm', 'a', 't', 'c', 'h', 't', 'y', 'p', 'e', '\022', '$', '\n', '\r', 'f', 'k', '_', 'u', 'p', 'd', 
    '_', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\032', ' ', '\001', '(', '\t', 'R', '\r', 'f', 'k', '_', 'u', 'p', 'd', '_', 'a', 'c', 't', 
    'i', 'o', 'n', '\022', '$', '\n', '\r', 'f', 'k', '_', 'd', 'e', 'l', '_', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\033', ' ', '\001', '(', 
    '\t', 'R', '\r', 'f', 'k', '_', 'd', 'e', 'l', '_', 'a', 'c', 't', 'i', 'o', 'n', '\022', '8', '\n', '\017', 'f', 'k', '_', 'd', 'e', 
    'l', '_', 's', 'e', 't', '_', 'c', 'o', 'l', 's', '\030', '\034', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'f', 'k', '_', 'd', 'e', 'l', '_', 's', 'e', 't', '_', 'c', 'o', 'l', 's', '\022', 
    '4', '\n', '\r', 'o', 'l', 'd', '_', 'c', 'o', 'n', 'p', 'f', 'e', 'q', 'o', 'p', '\030', '\035', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 'o', 'l', 'd', '_', 'c', 'o', 'n', 'p', 'f', 'e', 
    'q', 'o', 'p', '\022', '(', '\n', '\017', 'o', 'l', 'd', '_', 'p', 'k', 't', 'a', 'b', 'l', 'e', '_', 'o', 'i', 'd', '\030', '\036', ' ', 
    '\001', '(', '\r', 'R', '\017', 'o', 'l', 'd', '_', 'p', 'k', 't', 'a', 'b', 'l', 'e', '_', 'o', 'i', 'd', '\022', '\032', '\n', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\037', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\256', 
    '\001', '\n', '\024', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', '&', 
    '\n', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\016', 't', 
    'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\005', 'o', 'w', 'n', 'e', 'r', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\005', 
    'o', 'w', 'n', 'e', 'r', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
    '\"', '\\', '\n', '\022', 'D', 'r', 'o', 'p', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'S', 't', 'm', 't', '\022', '&', '\n', 
    '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\016', 't', 'a', 
    'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 
    'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\211', '\001', '\n', '\032', 'A', 
    'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', 'O', 'p', 't', 'i', 'o', 'n', 's', 'S', 't', 'm', 't', 
    '\022', '&', '\n', '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', 
    '\016', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
    's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
    'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\031', '\n', '\010', 'i', 's', '_', 'r', 'e', 's', 'e', 't', '\030', '\003', ' ', '\001', '(', '\010', 
    'R', '\007', 'i', 's', 'R', 'e', 's', 'e', 't', '\"', '\347', '\001', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'M', 
    'o', 'v', 'e', 'A', 'l', 'l', 'S', 't', 'm', 't', '\022', '0', '\n', '\023', 'o', 'r', 'i', 'g', '_', 't', 'a', 'b', 'l', 'e', 's', 
    'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\023', 'o', 'r', 'i', 'g', '_', 't', 'a', 'b', 'l', 
    'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', 
    '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', 
    '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '.', '\n', '\022', 
    'n', 'e', 'w', '_', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', 
    '\022', 'n', 'e', 'w', '_', 't', 'a', 'b', 'l', 'e', 's', 'p', 'a', 'c', 'e', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'n', 'o', 
    'w', 'a', 'i', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\006', 'n', 'o', 'w', 'a', 'i', 't', '\"', '\177', '\n', '\023', 'C', 'r', 'e', 
    'a', 't', 'e', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 't', 'n', 'a', 
    'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 
    'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 
    'x', 'i', 's', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'X', '\n', 
    '\022', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 'e', 'n', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 
    't', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 
    'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\246', '\001', '\n', '\032', 'A', 'l', 't', 'e', 'r', 'E', 'x', 't', 
    'e', 'n', 's', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'n', 't', 's', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'e', 'x', 't', 
    'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'c', 
    't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\022', '.', '\n', '\007', 'o', 'b', 'j', 
    't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 
    'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 
    't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 
    'o', 'b', 'j', 'e', 'c', 't', '\"', '\207', '\001', '\n', '\r', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'd', 'w', 'S', 't', 'm', 't', '\022', 
    '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', 
    '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 'o', 
    'n', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\206', '\001', '\n', '\014', 'A', 
    'l', 't', 'e', 'r', 'F', 'd', 'w', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', '\001', ' ', 
    '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 
    'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\014', 'f', 'u', 'n', 'c', '_', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
    '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 
    'p', 't', 'i', 'o', 'n', 's', '\"', '\335', '\001', '\n', '\027', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 
    'e', 'r', 'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\001', 
    ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 
    'r', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 't', 'y', 'p', 'e', '\022', '\030', 
    '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\022', 
    '\030', '\n', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\007', 'f', 'd', 'w', 'n', 'a', 'm', 'e', 
    '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 
    'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', 
    '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 
    't', 'i', 'o', 'n', 's', '\"', '\236', '\001', '\n', '\026', 'A', 'l', 't', 'e', 'r', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'e', 'r', 
    'v', 'e', 'r', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', 
    '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', 
    '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
    's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
    'o', 'p', 't', 'i', 'o', 'n', 's', '\022', ' ', '\n', '\013', 'h', 'a', 's', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\030', '\004', ' ', 
    '\001', '(', '\010', 'R', '\013', 'h', 'a', 's', '_', 'v', 'e', 'r', 's', 'i', 'o', 'n', '\"', '\221', '\001', '\n', '\026', 'C', 'r', 'e', 'a', 
    't', 'e', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'T', 'a', 'b', 'l', 'e', 'S', 't', 'm', 't', '\022', '-', '\n', '\t', 'b', 'a', 's', 
    'e', '_', 's', 't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 
    'r', 'e', 'a', 't', 'e', 'S', 't', 'm', 't', 'R', '\004', 'b', 'a', 's', 'e', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 
    'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', 
    '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\257', '\001', '\n', '\025', 'C', 'r', 'e', 'a', 't', 'e', 
    'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'u', 's', 'e', 'r', '\030', '\001', 
    ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', 
    '\004', 'u', 's', 'e', 'r', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 
    'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 
    'i', 's', 't', 's', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', 
    '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\210', '\001', '\n', '\024', 'A', 'l', 't', 
    'e', 'r', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'u', 's', 'e', 'r', 
    '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 
    'c', 'R', '\004', 'u', 's', 'e', 'r', '\022', '\036', '\n', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', 
    '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', 
    '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 
    'p', 't', 'i', 'o', 'n', 's', '\"', '}', '\n', '\023', 'D', 'r', 'o', 'p', 'U', 's', 'e', 'r', 'M', 'a', 'p', 'p', 'i', 'n', 'g', 
    'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'u', 's', 'e', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'u', 's', 'e', 'r', '\022', '\036', '\n', '\n', 's', 'e', 
    'r', 'v', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\n', 's', 'e', 'r', 'v', 'e', 'r', 'n', 'a', 'm', 
    'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 
    's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\240', '\002', '\n', '\027', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 
    'n', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', ' ', '\n', '\013', 's', 'e', 'r', 'v', 'e', 'r', '_', 'n', 'a', 'm', 
    'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'e', 'r', 'v', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\022', '$', '\n', '\r', 'r', 
    'e', 'm', 'o', 't', 'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\r', 'r', 'e', 'm', 'o', 't', 
    'e', '_', 's', 'c', 'h', 'e', 'm', 'a', '\022', '\"', '\n', '\014', 'l', 'o', 'c', 'a', 'l', '_', 's', 'c', 'h', 'e', 'm', 'a', '\030', 
    '\003', ' ', '\001', '(', '\t', 'R', '\014', 'l', 'o', 'c', 'a', 'l', '_', 's', 'c', 'h', 'e', 'm', 'a', '\022', '?', '\n', '\t', 'l', 'i', 
    's', 't', '_', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\016', '2', '!', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 'h', 'e', 'm', 'a', 'T', 'y', 'p', 'e', 'R', '\t', 
    'l', 'i', 's', 't', '_', 't', 'y', 'p', 'e', '\022', '.', '\n', '\n', 't', 'a', 'b', 'l', 'e', '_', 'l', 'i', 's', 't', '\030', '\005', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 't', 'a', 'b', 
    'l', 'e', '_', 'l', 'i', 's', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 
    '\224', '\002', '\n', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 't', 'm', 't', '\022', ' ', '\n', '\013', 'p', 
    'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 
    'n', 'a', 'm', 'e', '\022', '(', '\n', '\005', 't', 'a', 'b', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\005', 't', 'a', 'b', 'l', 'e', '\022', '\032', '\n', '\010', 
    'c', 'm', 'd', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'c', 'm', 'd', '_', 'n', 'a', 'm', 'e', '\022', 
    '\036', '\n', '\n', 'p', 'e', 'r', 'm', 'i', 's', 's', 'i', 'v', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'p', 'e', 'r', 'm', 
    'i', 's', 's', 'i', 'v', 'e', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '\"', '\n', '\004', 'q', 'u', 
    'a', 'l', '\030', '\006', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\004', 'q', 'u', 'a', 'l', '\022', '.', '\n', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '\030', '\007', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 
    'e', 'c', 'k', '\"', '\327', '\001', '\n', '\017', 'A', 'l', 't', 'e', 'r', 'P', 'o', 'l', 'i', 'c', 'y', 'S', 't', 'm', 't', '\022', ' ', 
    '\n', '\013', 'p', 'o', 'l', 'i', 'c', 'y', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\013', 'p', 'o', 'l', 'i', 
    'c', 'y', '_', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\005', 't', 'a', 'b', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\005', 't', 'a', 'b', 'l', 'e', '\022', 
    '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', '\"', '\n', '\004', 'q', 'u', 'a', 'l', '\030', '\004', ' ', '\001', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'q', 'u', 'a', 'l', '\022', '.', 
    '\n', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '\030', '\005', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '\"', 'r', '\n', '\014', 
    'C', 'r', 'e', 'a', 't', 'e', 'A', 'm', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\001', ' ', 
    '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '_', 'n', 'a', 
    'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\014', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '_', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 't', 'y', 'p', 'e', '\030', '\003', 
    ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 't', 'y', 'p', 'e', '\"', '\266', '\004', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 
    'i', 'g', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 
    'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '\"', '\n', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\002', 
    ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 
    'g', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 
    'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '*', '\n', '\010', 'f', 'u', 
    'n', 'c', 'n', 'a', 'm', 'e', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\006', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', 
    '\020', '\n', '\003', 'r', 'o', 'w', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\003', 'r', 'o', 'w', '\022', '\026', '\n', '\006', 't', 'i', 'm', 'i', 
    'n', 'g', '\030', '\010', ' ', '\001', '(', '\005', 'R', '\006', 't', 'i', 'm', 'i', 'n', 'g', '\022', '\026', '\n', '\006', 'e', 'v', 'e', 'n', 't', 
    's', '\030', '\t', ' ', '\001', '(', '\005', 'R', '\006', 'e', 'v', 'e', 'n', 't', 's', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 
    's', '\030', '\n', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
    'c', 'o', 'l', 'u', 'm', 'n', 's', '\022', '/', '\n', '\013', 'w', 'h', 'e', 'n', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\013', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'w', 'h', 'e', 'n', 
    'C', 'l', 'a', 'u', 's', 'e', '\022', '7', '\n', '\017', 't', 'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', '_', 'r', 'e', 'l', 's', 
    '\030', '\014', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 't', 
    'r', 'a', 'n', 's', 'i', 't', 'i', 'o', 'n', 'R', 'e', 'l', 's', '\022', '\036', '\n', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 
    'l', 'e', '\030', '\r', ' ', '\001', '(', '\010', 'R', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', '\022', '\"', '\n', '\014', 'i', 
    'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\030', '\016', ' ', '\001', '(', '\010', 'R', '\014', 'i', 'n', 'i', 't', 'd', 'e', 
    'f', 'e', 'r', 'r', 'e', 'd', '\022', '0', '\n', '\t', 'c', 'o', 'n', 's', 't', 'r', 'r', 'e', 'l', '\030', '\017', ' ', '\001', '(', '\013', 
    '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\t', 'c', 'o', 'n', 
    's', 't', 'r', 'r', 'e', 'l', '\"', '\253', '\001', '\n', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 
    'g', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 
    't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 'e', 'v', 'e', 'n', 't', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', 
    '(', '\t', 'R', '\t', 'e', 'v', 'e', 'n', 't', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\n', 'w', 'h', 'e', 'n', 'c', 'l', 'a', 'u', 
    's', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\n', 'w', 'h', 'e', 'n', 'c', 'l', 'a', 'u', 's', 'e', '\022', '*', '\n', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\004', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 
    'c', 'n', 'a', 'm', 'e', '\"', 'N', '\n', '\022', 'A', 'l', 't', 'e', 'r', 'E', 'v', 'e', 'n', 't', 'T', 'r', 'i', 'g', 'S', 't', 
    'm', 't', '\022', '\032', '\n', '\010', 't', 'r', 'i', 'g', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\010', 't', 'r', 'i', 
    'g', 'n', 'a', 'm', 'e', '\022', '\034', '\n', '\t', 't', 'g', 'e', 'n', 'a', 'b', 'l', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\t', 'R', 
    '\t', 't', 'g', 'e', 'n', 'a', 'b', 'l', 'e', 'd', '\"', '\355', '\001', '\n', '\017', 'C', 'r', 'e', 'a', 't', 'e', 'P', 'L', 'a', 'n', 
    'g', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'r', 
    'e', 'p', 'l', 'a', 'c', 'e', '\022', '\026', '\n', '\006', 'p', 'l', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 'p', 
    'l', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'p', 'l', 'h', 'a', 'n', 'd', 'l', 'e', 'r', '\030', '\003', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'p', 'l', 'h', 'a', 'n', 'd', 'l', 'e', 
    'r', '\022', '*', '\n', '\010', 'p', 'l', 'i', 'n', 'l', 'i', 'n', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'p', 'l', 'i', 'n', 'l', 'i', 'n', 'e', '\022', '0', '\n', '\013', 'p', 
    'l', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'l', 'v', 'a', 'l', 'i', 'd', 'a', 't', 'o', 'r', '\022', '\034', '\n', '\t', 'p', 
    'l', 't', 'r', 'u', 's', 't', 'e', 'd', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\t', 'p', 'l', 't', 'r', 'u', 's', 't', 'e', 'd', 
    '\"', '\204', '\001', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '4', '\n', '\t', 's', 't', 
    'm', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'R', 'o', 'l', 'e', 'S', 't', 'm', 't', 'T', 'y', 'p', 'e', 'R', '\t', 's', 't', 'm', 't', '_', 't', 'y', 'p', 'e', '\022', '\022', 
    '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\004', 'r', 'o', 'l', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 
    'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'y', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 't', 
    'm', 't', '\022', '&', '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'r', 'o', 'l', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 
    'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\026', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 
    'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\"', '\213', '\001', '\n', '\020', 'A', 'l', 't', 'e', 'r', 'R', 'o', 'l', 'e', 'S', 'e', 't', 
    'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'r', 'o', 'l', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\004', 'r', 'o', 'l', 'e', '\022', '\032', '\n', '\010', 'd', 'a', 
    't', 'a', 'b', 'a', 's', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'd', 'a', 't', 'a', 'b', 'a', 's', 'e', '\022', '3', '\n', 
    '\007', 's', 'e', 't', 's', 't', 'm', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'R', '\007', 's', 'e', 't', 's', 't', 'm', 't', 
    '\"', 'T', '\n', '\014', 'D', 'r', 'o', 'p', 'R', 'o', 'l', 'e', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', 
    '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 
    'o', 'l', 'e', 's', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', 
    '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\316', '\001', '\n', '\r', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'e', 'q', 
    'S', 't', 'm', 't', '\022', '.', '\n', '\010', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 's', 'e', 'q', 'u', 'e', 'n', 
    'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\031', '\n', '\010', 'o', 'w', 
    'n', 'e', 'r', '_', 'i', 'd', '\030', '\003', ' ', '\001', '(', '\r', 'R', '\007', 'o', 'w', 'n', 'e', 'r', 'I', 'd', '\022', '\"', '\n', '\014', 
    'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\014', 'f', 'o', 'r', '_', 'i', 
    'd', 'e', 'n', 't', 'i', 't', 'y', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', 
    '\005', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', '\254', '\001', '\n', '\014', 
    'A', 'l', 't', 'e', 'r', 'S', 'e', 'q', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\030', 
    '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 
    'R', '\010', 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 
    'n', 's', '\022', '\"', '\n', '\014', 'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\030', '\003', ' ', '\001', '(', '\010', 'R', 
    '\014', 'f', 'o', 'r', '_', 'i', 'd', 'e', 'n', 't', 'i', 't', 'y', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 
    'o', 'k', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\222', '\002', '\n', '\n', 
    'D', 'e', 'f', 'i', 'n', 'e', 'S', 't', 'm', 't', '\022', '(', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', 
    '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 
    'n', 'd', '\022', '\032', '\n', '\010', 'o', 'l', 'd', 's', 't', 'y', 'l', 'e', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'l', 'd', 
    's', 't', 'y', 'l', 'e', '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\022', 
    '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\022', '.', '\n', '\n', 'd', 'e', 'f', 'i', 'n', 'i', 't', 'i', 'o', 'n', '\030', 
    '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'd', 'e', 
    'f', 'i', 'n', 'i', 't', 'i', 'o', 'n', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', 
    '\030', '\006', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '\030', '\n', '\007', 
    'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\"', '\337', '\001', 
    '\n', '\020', 'C', 'r', 'e', 'a', 't', 'e', 'D', 'o', 'm', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '.', '\n', '\n', 'd', 'o', 'm', 
    'a', 'i', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\n', 'd', 'o', 'm', 'a', 'i', 'n', 'n', 'a', 'm', 'e', '\022', '/', '\n', '\t', 't', 'y', 'p', 'e', '_', 
    'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 
    'e', 'N', 'a', 'm', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '8', '\n', '\013', 'c', 'o', 'l', 'l', '_', 'c', 
    'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\027', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'o', 
    'l', 'l', 'a', 't', 'e', 'C', 'l', 'a', 'u', 's', 'e', 'R', '\n', 'c', 'o', 'l', 'l', 'C', 'l', 'a', 'u', 's', 'e', '\022', '0', 
    '\n', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\"', '\206', 
    '\002', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'C', 'l', 'a', 's', 's', 'S', 't', 'm', 't', '\022', '0', '\n', '\013', 'o', 
    'p', 'c', 'l', 'a', 's', 's', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'o', 'p', 'c', 'l', 'a', 's', 's', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\014', 'o', 
    'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\022', '\026', '\n', 
    '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 
    'd', 'a', 't', 'a', 't', 'y', 'p', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\010', 'd', 'a', 't', 'a', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'i', 't', 
    'e', 'm', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\005', 'i', 't', 'e', 'm', 's', '\022', '\035', '\n', '\n', 'i', 's', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '\030', '\006', ' ', '\001', 
    '(', '\010', 'R', '\t', 'i', 's', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\"', '\215', '\002', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'O', 
    'p', 'C', 'l', 'a', 's', 's', 'I', 't', 'e', 'm', '\022', '\032', '\n', '\010', 'i', 't', 'e', 'm', 't', 'y', 'p', 'e', '\030', '\001', ' ', 
    '\001', '(', '\005', 'R', '\010', 'i', 't', 'e', 'm', 't', 'y', 'p', 'e', '\022', ',', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', 
    '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 
    'r', 'g', 's', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\005', 
    'R', '\006', 'n', 'u', 'm', 'b', 'e', 'r', '\022', '2', '\n', '\014', 'o', 'r', 'd', 'e', 'r', '_', 'f', 'a', 'm', 'i', 'l', 'y', '\030', 
    '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'r', 
    'd', 'e', 'r', '_', 'f', 'a', 'm', 'i', 'l', 'y', '\022', '.', '\n', '\n', 'c', 'l', 'a', 's', 's', '_', 'a', 'r', 'g', 's', '\030', 
    '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'l', 
    'a', 's', 's', '_', 'a', 'r', 'g', 's', '\022', '2', '\n', '\n', 's', 't', 'o', 'r', 'e', 'd', 't', 'y', 'p', 'e', '\030', '\006', ' ', 
    '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 
    's', 't', 'o', 'r', 'e', 'd', 't', 'y', 'p', 'e', '\"', '`', '\n', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'O', 'p', 'F', 'a', 'm', 
    'i', 'l', 'y', 'S', 't', 'm', 't', '\022', '2', '\n', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\030', '\001', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'p', 'f', 
    'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 
    'R', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\"', '\236', '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'F', 'a', 'm', 'i', 'l', 
    'y', 'S', 't', 'm', 't', '\022', '2', '\n', '\014', 'o', 'p', 'f', 'a', 'm', 'i', 'l', 'y', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\014', 'o', 'p', 'f', 'a', 'm', 
    'i', 'l', 'y', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'a', 'm', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\006', 
    'a', 'm', 'n', 'a', 'm', 'e', '\022', '\027', '\n', '\007', 'i', 's', '_', 'd', 'r', 'o', 'p', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\006', 
    'i', 's', 'D', 'r', 'o', 'p', '\022', '$', '\n', '\005', 'i', 't', 'e', 'm', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'i', 't', 'e', 'm', 's', '\"', '\337', '\001', '\n', '\010', 'D', 
    'r', 'o', 'p', 'S', 't', 'm', 't', '\022', '(', '\n', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', 
    '5', '\n', '\013', 'r', 'e', 'm', 'o', 'v', 'e', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 'm', 'o', 'v', 'e', 
    'T', 'y', 'p', 'e', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 
    'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\004', ' ', '\001', '(', 
    '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 
    'n', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\"', '\224', '\001', '\n', '\014', 
    'T', 'r', 'u', 'n', 'c', 'a', 't', 'e', 'S', 't', 'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', 
    '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'r', 
    'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '\"', '\n', '\014', 'r', 'e', 's', 't', 'a', 'r', 't', '_', 's', 'e', 'q', 's', '\030', 
    '\002', ' ', '\001', '(', '\010', 'R', '\014', 'r', 'e', 's', 't', 'a', 'r', 't', '_', 's', 'e', 'q', 's', '\022', '2', '\n', '\010', 'b', 'e', 
    'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
    'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', '\177', '\n', '\013', 
    'C', 'o', 'm', 'm', 'e', 'n', 't', 'S', 't', 'm', 't', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', 
    '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 
    'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\002', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', 
    '\030', '\n', '\007', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\007', 'c', 'o', 'm', 'm', 'e', 'n', 't', 
    '\"', '\230', '\001', '\n', '\014', 'S', 'e', 'c', 'L', 'a', 'b', 'e', 'l', 'S', 't', 'm', 't', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 
    'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 
    'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', 
    '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 
    'b', 'j', 'e', 'c', 't', '\022', '\032', '\n', '\010', 'p', 'r', 'o', 'v', 'i', 'd', 'e', 'r', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 
    'p', 'r', 'o', 'v', 'i', 'd', 'e', 'r', '\022', '\024', '\n', '\005', 'l', 'a', 'b', 'e', 'l', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\005', 
    'l', 'a', 'b', 'e', 'l', '\"', 's', '\n', '\021', 'D', 'e', 'c', 'l', 'a', 'r', 'e', 'C', 'u', 'r', 's', 'o', 'r', 'S', 't', 'm', 
    't', '\022', '\036', '\n', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 
    'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\001', '(', '\005', 
    'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\"', '1', '\n', 
    '\017', 'C', 'l', 'o', 's', 'e', 'P', 'o', 'r', 't', 'a', 'l', 'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 'p', 'o', 'r', 't', 'a', 
    'l', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\"', '\226', 
    '\001', '\n', '\t', 'F', 'e', 't', 'c', 'h', 'S', 't', 'm', 't', '\022', '6', '\n', '\t', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', 
    '\030', '\001', ' ', '\001', '(', '\016', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'e', 't', 'c', 'h', 'D', 'i', 
    'r', 'e', 'c', 't', 'i', 'o', 'n', 'R', '\t', 'd', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', '\031', '\n', '\010', 'h', 'o', 'w', 
    '_', 'm', 'a', 'n', 'y', '\030', '\002', ' ', '\001', '(', '\003', 'R', '\007', 'h', 'o', 'w', 'M', 'a', 'n', 'y', '\022', '\036', '\n', '\n', 'p', 
    'o', 'r', 't', 'a', 'l', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\n', 'p', 'o', 'r', 't', 'a', 'l', 'n', 'a', 
    'm', 'e', '\022', '\026', '\n', '\006', 'i', 's', 'm', 'o', 'v', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\006', 'i', 's', 'm', 'o', 'v', 
    'e', '\"', '\334', '\007', '\n', '\t', 'I', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'i', 'd', 'x', 'n', 'a', 'm', 
    'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'i', 'd', 'x', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 
    'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 
    'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '#', '\n', '\r', 'a', 'c', 'c', 'e', 's', 's', '_', 
    'm', 'e', 't', 'h', 'o', 'd', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\014', 'a', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 
    'd', '\022', '\037', '\n', '\013', 't', 'a', 'b', 'l', 'e', '_', 's', 'p', 'a', 'c', 'e', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\n', 't', 
    'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', '\022', '1', '\n', '\014', 'i', 'n', 'd', 'e', 'x', '_', 'p', 'a', 'r', 'a', 'm', 's', 
    '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'i', 
    'n', 'd', 'e', 'x', 'P', 'a', 'r', 'a', 'm', 's', '\022', 'D', '\n', '\026', 'i', 'n', 'd', 'e', 'x', '_', 'i', 'n', 'c', 'l', 'u', 
    'd', 'i', 'n', 'g', '_', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\024', 'i', 'n', 'd', 'e', 'x', 'I', 'n', 'c', 'l', 'u', 'd', 'i', 'n', 'g', 'P', 
    'a', 'r', 'a', 'm', 's', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\007', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '1', '\n', 
    '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\010', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '8', 
    '\n', '\020', 'e', 'x', 'c', 'l', 'u', 'd', 'e', '_', 'o', 'p', '_', 'n', 'a', 'm', 'e', 's', '\030', '\t', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\016', 'e', 'x', 'c', 'l', 'u', 'd', 'e', 'O', 
    'p', 'N', 'a', 'm', 'e', 's', '\022', '\036', '\n', '\n', 'i', 'd', 'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\030', '\n', ' ', '\001', '(', 
    '\t', 'R', '\n', 'i', 'd', 'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\022', '\033', '\n', '\t', 'i', 'n', 'd', 'e', 'x', '_', 'o', 'i', 
    'd', '\030', '\013', ' ', '\001', '(', '\r', 'R', '\010', 'i', 'n', 'd', 'e', 'x', 'O', 'i', 'd', '\022', '\035', '\n', '\n', 'o', 'l', 'd', '_', 
    'n', 'u', 'm', 'b', 'e', 'r', '\030', '\014', ' ', '\001', '(', '\r', 'R', '\t', 'o', 'l', 'd', 'N', 'u', 'm', 'b', 'e', 'r', '\022', '(', 
    '\n', '\020', 'o', 'l', 'd', '_', 'c', 'r', 'e', 'a', 't', 'e', '_', 's', 'u', 'b', 'i', 'd', '\030', '\r', ' ', '\001', '(', '\r', 'R', 
    '\016', 'o', 'l', 'd', 'C', 'r', 'e', 'a', 't', 'e', 'S', 'u', 'b', 'i', 'd', '\022', 'C', '\n', '\036', 'o', 'l', 'd', '_', 'f', 'i', 
    'r', 's', 't', '_', 'r', 'e', 'l', 'f', 'i', 'l', 'e', 'l', 'o', 'c', 'a', 't', 'o', 'r', '_', 's', 'u', 'b', 'i', 'd', '\030', 
    '\016', ' ', '\001', '(', '\r', 'R', '\033', 'o', 'l', 'd', 'F', 'i', 'r', 's', 't', 'R', 'e', 'l', 'f', 'i', 'l', 'e', 'l', 'o', 'c', 
    'a', 't', 'o', 'r', 'S', 'u', 'b', 'i', 'd', '\022', '\026', '\n', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\030', '\017', ' ', '\001', '(', '\010', 
    'R', '\006', 'u', 'n', 'i', 'q', 'u', 'e', '\022', '.', '\n', '\022', 'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 's', 
    't', 'i', 'n', 'c', 't', '\030', '\020', ' ', '\001', '(', '\010', 'R', '\022', 'n', 'u', 'l', 'l', 's', '_', 'n', 'o', 't', '_', 'd', 'i', 
    's', 't', 'i', 'n', 'c', 't', '\022', '\030', '\n', '\007', 'p', 'r', 'i', 'm', 'a', 'r', 'y', '\030', '\021', ' ', '\001', '(', '\010', 'R', '\007', 
    'p', 'r', 'i', 'm', 'a', 'r', 'y', '\022', '\"', '\n', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\030', '\022', 
    ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\022', '\036', '\n', '\n', 'd', 'e', 'f', 
    'e', 'r', 'r', 'a', 'b', 'l', 'e', '\030', '\023', ' ', '\001', '(', '\010', 'R', '\n', 'd', 'e', 'f', 'e', 'r', 'r', 'a', 'b', 'l', 'e', 
    '\022', '\"', '\n', '\014', 'i', 'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\030', '\024', ' ', '\001', '(', '\010', 'R', '\014', 'i', 
    'n', 'i', 't', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\022', ' ', '\n', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 
    'd', '\030', '\025', ' ', '\001', '(', '\010', 'R', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 'd', '\022', '\036', '\n', '\n', 'c', 
    'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\026', ' ', '\001', '(', '\010', 'R', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 
    'n', 't', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\027', ' ', '\001', '(', '\010', 
    'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\022', '2', '\n', '\024', 'r', 'e', 's', 'e', 't', '_', 
    'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 'c', '\030', '\030', ' ', '\001', '(', '\010', 'R', '\024', 'r', 'e', 's', 
    'e', 't', '_', 'd', 'e', 'f', 'a', 'u', 'l', 't', '_', 't', 'b', 'l', 's', 'p', 'c', '\"', '\251', '\002', '\n', '\017', 'C', 'r', 'e', 
    'a', 't', 'e', 'S', 't', 'a', 't', 's', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\030', 
    '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'e', 
    'f', 'n', 'a', 'm', 'e', 's', '\022', '.', '\n', '\n', 's', 't', 'a', 't', '_', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 's', 't', 'a', 't', '_', 't', 
    'y', 'p', 'e', 's', '\022', '$', '\n', '\005', 'e', 'x', 'p', 'r', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'e', 'x', 'p', 'r', 's', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 
    't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\022', '\036', '\n', '\n', 's', 't', 'x', 'c', 'o', 'm', 'm', 'e', 
    'n', 't', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\n', 's', 't', 'x', 'c', 'o', 'm', 'm', 'e', 'n', 't', '\022', ' ', '\n', '\013', 't', 
    'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'e', 'd', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\013', 't', 'r', 'a', 'n', 's', 'f', 'o', 
    'r', 'm', 'e', 'd', '\022', '$', '\n', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\007', ' ', '\001', 
    '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\"', 'C', '\n', '\t', 'S', 't', 'a', 't', 
    's', 'E', 'l', 'e', 'm', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', 
    '\022', '\"', '\n', '\004', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'N', 'o', 'd', 'e', 'R', '\004', 'e', 'x', 'p', 'r', '\"', '\222', '\001', '\n', '\016', 'A', 'l', 't', 'e', 'r', 'S', 't', 'a', 't', 
    's', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'e', 'f', 'n', 'a', 'm', 'e', 's', '\022', 
    '4', '\n', '\r', 's', 't', 'x', 's', 't', 'a', 't', 't', 'a', 'r', 'g', 'e', 't', '\030', '\002', ' ', '\001', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\r', 's', 't', 'x', 's', 't', 'a', 't', 't', 'a', 'r', 
    'g', 'e', 't', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\n', 
    'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\271', '\002', '\n', '\022', 'C', 'r', 'e', 'a', 't', 'e', 'F', 'u', 'n', 'c', 
    't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\"', '\n', '\014', 'i', 's', '_', 'p', 'r', 'o', 'c', 'e', 'd', 'u', 'r', 'e', '\030', 
    '\001', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', '_', 'p', 'r', 'o', 'c', 'e', 'd', 'u', 'r', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 
    'p', 'l', 'a', 'c', 'e', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '*', '\n', '\010', 'f', 
    'u', 'n', 'c', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\010', 'f', 'u', 'n', 'c', 'n', 'a', 'm', 'e', '\022', '.', '\n', '\n', 'p', 'a', 'r', 'a', 'm', 'e', 't', 
    'e', 'r', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\n', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 's', '\022', '3', '\n', '\013', 'r', 'e', 't', 'u', 'r', 'n', '_', 't', 'y', 
    'p', 'e', '\030', '\005', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 
    'a', 'm', 'e', 'R', '\n', 'r', 'e', 't', 'u', 'r', 'n', 'T', 'y', 'p', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 
    's', '\030', '\006', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 
    'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '*', '\n', '\010', 's', 'q', 'l', '_', 'b', 'o', 'd', 'y', '\030', '\007', ' ', '\001', '(', '\013', 
    '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 's', 'q', 'l', '_', 'b', 'o', 'd', 
    'y', '\"', '\265', '\001', '\n', '\021', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', '\022', '\022', 
    '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '-', '\n', '\010', 'a', 'r', 'g', 
    '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 
    'p', 'e', 'N', 'a', 'm', 'e', 'R', '\007', 'a', 'r', 'g', 'T', 'y', 'p', 'e', '\022', '3', '\n', '\004', 'm', 'o', 'd', 'e', '\030', '\003', 
    ' ', '\001', '(', '\016', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 
    'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 'M', 'o', 'd', 'e', 'R', '\004', 'm', 'o', 'd', 'e', '\022', '(', '\n', '\007', 'd', 'e', 'f', 
    'e', 'x', 'p', 'r', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\007', 'd', 'e', 'f', 'e', 'x', 'p', 'r', '\"', '\233', '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'F', 'u', 'n', 'c', 't', 
    'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', 
    '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 
    'j', 't', 'y', 'p', 'e', '\022', ',', '\n', '\004', 'f', 'u', 'n', 'c', '\030', '\002', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\004', 'f', 'u', 'n', 
    'c', '\022', '(', '\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\"', ',', '\n', '\006', 'D', 'o', 'S', 
    't', 'm', 't', '\022', '\"', '\n', '\004', 'a', 'r', 'g', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'a', 'r', 'g', 's', '\"', '\216', '\001', '\n', '\017', 'I', 'n', 'l', 'i', 'n', 'e', 
    'C', 'o', 'd', 'e', 'B', 'l', 'o', 'c', 'k', '\022', ' ', '\n', '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 't', 'e', 'x', 't', '\030', 
    '\001', ' ', '\001', '(', '\t', 'R', '\013', 's', 'o', 'u', 'r', 'c', 'e', '_', 't', 'e', 'x', 't', '\022', '\031', '\n', '\010', 'l', 'a', 'n', 
    'g', '_', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\007', 'l', 'a', 'n', 'g', 'O', 'i', 'd', '\022', '&', '\n', '\017', 'l', 
    'a', 'n', 'g', '_', 'i', 's', '_', 't', 'r', 'u', 's', 't', 'e', 'd', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\r', 'l', 'a', 'n', 
    'g', 'I', 's', 'T', 'r', 'u', 's', 't', 'e', 'd', '\022', '\026', '\n', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\030', '\004', ' ', '\001', '(', 
    '\010', 'R', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\"', '\224', '\001', '\n', '\010', 'C', 'a', 'l', 'l', 'S', 't', 'm', 't', '\022', '.', '\n', 
    '\010', 'f', 'u', 'n', 'c', 'c', 'a', 'l', 'l', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'F', 'u', 'n', 'c', 'C', 'a', 'l', 'l', 'R', '\010', 'f', 'u', 'n', 'c', 'c', 'a', 'l', 'l', '\022', '.', '\n', '\010', 'f', 
    'u', 'n', 'c', 'e', 'x', 'p', 'r', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'F', 'u', 'n', 'c', 'E', 'x', 'p', 'r', 'R', '\010', 'f', 'u', 'n', 'c', 'e', 'x', 'p', 'r', '\022', '(', '\n', '\007', 'o', 'u', 't', 
    'a', 'r', 'g', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\007', 'o', 'u', 't', 'a', 'r', 'g', 's', '\"', '%', '\n', '\013', 'C', 'a', 'l', 'l', 'C', 'o', 'n', 't', 'e', 'x', 't', 
    '\022', '\026', '\n', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\006', 'a', 't', 'o', 'm', 'i', 'c', '\"', 
    '\336', '\002', '\n', '\n', 'R', 'e', 'n', 'a', 'm', 'e', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'r', 'e', 'n', 'a', 'm', 'e', '_', 
    't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 
    'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'r', 'e', 'n', 'a', 'm', 'e', 'T', 'y', 'p', 'e', '\022', '9', '\n', '\r', 'r', 'e', 
    'l', 'a', 't', 'i', 'o', 'n', '_', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\014', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 'T', 
    'y', 'p', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 
    'n', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\004', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 
    'm', 'e', '\030', '\005', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'n', 'e', 'w', 'n', 
    'a', 'm', 'e', '\030', '\006', ' ', '\001', '(', '\t', 'R', '\007', 'n', 'e', 'w', 'n', 'a', 'm', 'e', '\022', '2', '\n', '\010', 'b', 'e', 'h', 
    'a', 'v', 'i', 'o', 'r', '\030', '\007', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 
    'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\036', '\n', '\n', 'm', 
    'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\010', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 
    'o', 'k', '\"', '\353', '\001', '\n', '\026', 'A', 'l', 't', 'e', 'r', 'O', 'b', 'j', 'e', 'c', 't', 'D', 'e', 'p', 'e', 'n', 'd', 's', 
    'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 'e', 'c', 't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', 
    '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'o', 
    'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', 
    '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 
    'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '*', '\n', 
    '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\030', '\004', ' ', '\001', '(', '\013', '2', '\020', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'S', 't', 'r', 'i', 'n', 'g', 'R', '\007', 'e', 'x', 't', 'n', 'a', 'm', 'e', '\022', '\026', '\n', '\006', 'r', 'e', 'm', 'o', 'v', 
    'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\006', 'r', 'e', 'm', 'o', 'v', 'e', '\"', '\344', '\001', '\n', '\025', 'A', 'l', 't', 'e', 'r', 
    'O', 'b', 'j', 'e', 'c', 't', 'S', 'c', 'h', 'e', 'm', 'a', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 'e', 'c', 
    't', '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 
    'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'o', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', '\n', '\010', 
    'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', 
    '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 'b', 
    'j', 'e', 'c', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '\034', '\n', '\t', 'n', 'e', 'w', 's', 'c', 'h', 'e', 'm', 'a', '\030', '\004', ' ', 
    '\001', '(', '\t', 'R', '\t', 'n', 'e', 'w', 's', 'c', 'h', 'e', 'm', 'a', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', 
    '_', 'o', 'k', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\317', '\001', '\n', 
    '\016', 'A', 'l', 't', 'e', 'r', 'O', 'w', 'n', 'e', 'r', 'S', 't', 'm', 't', '\022', '5', '\n', '\013', 'o', 'b', 'j', 'e', 'c', 't', 
    '_', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 
    'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\n', 'o', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', '\022', '.', '\n', '\010', 'r', 
    'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '&', '\n', '\006', 'o', 'b', 'j', 
    'e', 'c', 't', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\006', 'o', 'b', 'j', 'e', 'c', 't', '\022', '.', '\n', '\010', 'n', 'e', 'w', 'o', 'w', 'n', 'e', 'r', '\030', '\004', ' ', '\001', '(', 
    '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 'e', 'c', 'R', '\010', 'n', 'e', 
    'w', 'o', 'w', 'n', 'e', 'r', '\"', 's', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'O', 'p', 'e', 'r', 'a', 't', 'o', 'r', 'S', 't', 
    'm', 't', '\022', '4', '\n', '\010', 'o', 'p', 'e', 'r', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\010', 'o', 'p', 
    'e', 'r', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'f', 
    '\n', '\r', 'A', 'l', 't', 'e', 'r', 'T', 'y', 'p', 'e', 'S', 't', 'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 
    'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', 
    '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 
    'n', 's', '\"', '\220', '\002', '\n', '\010', 'R', 'u', 'l', 'e', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 
    'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 
    'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\010', 'r', 'u', 'l', 'e', 'n', 'a', 'm', 'e', 
    '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'r', 'u', 'l', 'e', 'n', 'a', 'm', 'e', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', 
    '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '\'', '\n', '\005', 'e', 'v', 'e', 'n', 
    't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\021', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'C', 'm', 'd', 'T', 'y', 'p', 
    'e', 'R', '\005', 'e', 'v', 'e', 'n', 't', '\022', '\030', '\n', '\007', 'i', 'n', 's', 't', 'e', 'a', 'd', '\030', '\005', ' ', '\001', '(', '\010', 
    'R', '\007', 'i', 'n', 's', 't', 'e', 'a', 'd', '\022', '(', '\n', '\007', 'a', 'c', 't', 'i', 'o', 'n', 's', '\030', '\006', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 'c', 't', 'i', 'o', 'n', 
    's', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\007', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 
    'c', 'e', '\"', 'L', '\n', '\n', 'N', 'o', 't', 'i', 'f', 'y', 'S', 't', 'm', 't', '\022', '$', '\n', '\r', 'c', 'o', 'n', 'd', 'i', 
    't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 
    'n', 'a', 'm', 'e', '\022', '\030', '\n', '\007', 'p', 'a', 'y', 'l', 'o', 'a', 'd', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 'p', 'a', 
    'y', 'l', 'o', 'a', 'd', '\"', '2', '\n', '\n', 'L', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', '\022', '$', '\n', '\r', 'c', 'o', 
    'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'c', 'o', 'n', 'd', 'i', 't', 
    'i', 'o', 'n', 'n', 'a', 'm', 'e', '\"', '4', '\n', '\014', 'U', 'n', 'l', 'i', 's', 't', 'e', 'n', 'S', 't', 'm', 't', '\022', '$', 
    '\n', '\r', 'c', 'o', 'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\r', 'c', 'o', 
    'n', 'd', 'i', 't', 'i', 'o', 'n', 'n', 'a', 'm', 'e', '\"', '\332', '\001', '\n', '\017', 'T', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 
    'o', 'n', 'S', 't', 'm', 't', '\022', '1', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\035', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'r', 'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'K', 'i', 'n', 
    'd', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', 
    '&', '\n', '\016', 's', 'a', 'v', 'e', 'p', 'o', 'i', 'n', 't', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\016', 
    's', 'a', 'v', 'e', 'p', 'o', 'i', 'n', 't', '_', 'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'g', 'i', 'd', '\030', '\004', ' ', '\001', 
    '(', '\t', 'R', '\003', 'g', 'i', 'd', '\022', '\024', '\n', '\005', 'c', 'h', 'a', 'i', 'n', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\005', 'c', 
    'h', 'a', 'i', 'n', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', '\005', 'R', '\010', 'l', 
    'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 'q', '\n', '\021', 'C', 'o', 'm', 'p', 'o', 's', 'i', 't', 'e', 'T', 'y', 'p', 'e', 'S', 
    't', 'm', 't', '\022', ',', '\n', '\007', 't', 'y', 'p', 'e', 'v', 'a', 'r', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', 
    '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\007', 't', 'y', 'p', 'e', 'v', 'a', 'r', '\022', 
    '.', '\n', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'l', 'i', 's', 't', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'c', 'o', 'l', 'd', 'e', 'f', 'l', 'i', 's', 't', '\"', 'a', '\n', 
    '\016', 'C', 'r', 'e', 'a', 't', 'e', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 
    'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\"', '\n', '\004', 'v', 'a', 'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'v', 'a', 'l', 's', '\"', 'f', '\n', '\017', 
    'C', 'r', 'e', 'a', 't', 'e', 'R', 'a', 'n', 'g', 'e', 'S', 't', 'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 
    'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 
    'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', 
    '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 'a', 'r', 'a', 'm', 's', 
    '\"', '\365', '\001', '\n', '\r', 'A', 'l', 't', 'e', 'r', 'E', 'n', 'u', 'm', 'S', 't', 'm', 't', '\022', '+', '\n', '\t', 't', 'y', 'p', 
    'e', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\010', 't', 'y', 'p', 'e', 'N', 'a', 'm', 'e', '\022', '\027', '\n', '\007', 'o', 'l', 'd', '_', 'v', 'a', 'l', '\030', 
    '\002', ' ', '\001', '(', '\t', 'R', '\006', 'o', 'l', 'd', 'V', 'a', 'l', '\022', '\027', '\n', '\007', 'n', 'e', 'w', '_', 'v', 'a', 'l', '\030', 
    '\003', ' ', '\001', '(', '\t', 'R', '\006', 'n', 'e', 'w', 'V', 'a', 'l', '\022', '(', '\n', '\020', 'n', 'e', 'w', '_', 'v', 'a', 'l', '_', 
    'n', 'e', 'i', 'g', 'h', 'b', 'o', 'r', '\030', '\004', ' ', '\001', '(', '\t', 'R', '\016', 'n', 'e', 'w', 'V', 'a', 'l', 'N', 'e', 'i', 
    'g', 'h', 'b', 'o', 'r', '\022', '\'', '\n', '\020', 'n', 'e', 'w', '_', 'v', 'a', 'l', '_', 'i', 's', '_', 'a', 'f', 't', 'e', 'r', 
    '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 'n', 'e', 'w', 'V', 'a', 'l', 'I', 's', 'A', 'f', 't', 'e', 'r', '\022', '2', '\n', '\026', 
    's', 'k', 'i', 'p', '_', 'i', 'f', '_', 'n', 'e', 'w', '_', 'v', 'a', 'l', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\006', ' ', 
    '\001', '(', '\010', 'R', '\022', 's', 'k', 'i', 'p', 'I', 'f', 'N', 'e', 'w', 'V', 'a', 'l', 'E', 'x', 'i', 's', 't', 's', '\"', '\215', 
    '\002', '\n', '\010', 'V', 'i', 'e', 'w', 'S', 't', 'm', 't', '\022', '&', '\n', '\004', 'v', 'i', 'e', 'w', '\030', '\001', ' ', '\001', '(', '\013', 
    '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\004', 'v', 'i', 'e', 
    'w', '\022', '(', '\n', '\007', 'a', 'l', 'i', 'a', 's', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'a', 'l', 'i', 'a', 's', 'e', 's', '\022', '$', '\n', '\005', 'q', 'u', 'e', 
    'r', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\005', 'q', 'u', 'e', 'r', 'y', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\007', 
    'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', 
    'E', '\n', '\021', 'w', 'i', 't', 'h', '_', 'c', 'h', 'e', 'c', 'k', '_', 'o', 'p', 't', 'i', 'o', 'n', '\030', '\006', ' ', '\001', '(', 
    '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'i', 'e', 'w', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 
    'i', 'o', 'n', 'R', '\017', 'w', 'i', 't', 'h', 'C', 'h', 'e', 'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\"', '&', '\n', '\010', 'L', 
    'o', 'a', 'd', 'S', 't', 'm', 't', '\022', '\032', '\n', '\010', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 
    'R', '\010', 'f', 'i', 'l', 'e', 'n', 'a', 'm', 'e', '\"', 'P', '\n', '\014', 'C', 'r', 'e', 'a', 't', 'e', 'd', 'b', 'S', 't', 'm', 
    't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', 
    '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'U', '\n', '\021', 'A', 'l', 't', 'e', 
    'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', 
    ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 
    'i', 'o', 'n', 's', '\"', '6', '\n', '\034', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 's', 'e', 'R', 'e', 'f', 'r', 
    'e', 's', 'h', 'C', 'o', 'l', 'l', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', 
    '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\"', 'c', '\n', '\024', 'A', 'l', 't', 'e', 'r', 'D', 'a', 't', 'a', 'b', 'a', 
    's', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 
    'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', '3', '\n', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\030', '\002', ' ', '\001', '(', '\013', 
    '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 
    'm', 't', 'R', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\"', 'n', '\n', '\n', 'D', 'r', 'o', 'p', 'd', 'b', 'S', 't', 'm', 't', 
    '\022', '\026', '\n', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\006', 'd', 'b', 'n', 'a', 'm', 'e', '\022', 
    '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 
    'i', 'n', 'g', '_', 'o', 'k', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', 
    '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', 'F', 
    '\n', '\017', 'A', 'l', 't', 'e', 'r', 'S', 'y', 's', 't', 'e', 'm', 'S', 't', 'm', 't', '\022', '3', '\n', '\007', 's', 'e', 't', 's', 
    't', 'm', 't', '\030', '\001', ' ', '\001', '(', '\013', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'V', 'a', 'r', 'i', 
    'a', 'b', 'l', 'e', 'S', 'e', 't', 'S', 't', 'm', 't', 'R', '\007', 's', 'e', 't', 's', 't', 'm', 't', '\"', '\203', '\001', '\n', '\013', 
    'C', 'l', 'u', 's', 't', 'e', 'r', 'S', 't', 'm', 't', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', 
    ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', 
    '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\034', '\n', '\t', 'i', 'n', 'd', 'e', 'x', 'n', 'a', 'm', 'e', '\030', '\002', ' ', 
    '\001', '(', '\t', 'R', '\t', 'i', 'n', 'd', 'e', 'x', 'n', 'a', 'm', 'e', '\022', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', 
    '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 'a', 
    'r', 'a', 'm', 's', '\"', '~', '\n', '\n', 'V', 'a', 'c', 'u', 'u', 'm', 'S', 't', 'm', 't', '\022', '(', '\n', '\007', 'o', 'p', 't', 
    'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '\"', '\n', '\004', 'r', 'e', 'l', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\004', 'r', 'e', 'l', 's', '\022', '\"', '\n', '\014', 
    'i', 's', '_', 'v', 'a', 'c', 'u', 'u', 'm', 'c', 'm', 'd', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\014', 'i', 's', '_', 'v', 'a', 
    'c', 'u', 'u', 'm', 'c', 'm', 'd', '\"', '|', '\n', '\016', 'V', 'a', 'c', 'u', 'u', 'm', 'R', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
    '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\020', 
    '\n', '\003', 'o', 'i', 'd', '\030', '\002', ' ', '\001', '(', '\r', 'R', '\003', 'o', 'i', 'd', '\022', '(', '\n', '\007', 'v', 'a', '_', 'c', 'o', 
    'l', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', 
    '\007', 'v', 'a', '_', 'c', 'o', 'l', 's', '\"', ']', '\n', '\013', 'E', 'x', 'p', 'l', 'a', 'i', 'n', 'S', 't', 'm', 't', '\022', '$', 
    '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 
    'o', 'n', 's', '\"', '\341', '\001', '\n', '\021', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'a', 'b', 'l', 'e', 'A', 's', 'S', 't', 'm', 't', 
    '\022', '$', '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\001', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\022', '(', '\n', '\004', 'i', 'n', 't', 'o', '\030', '\002', ' ', '\001', 
    '(', '\013', '2', '\024', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'I', 'n', 't', 'o', 'C', 'l', 'a', 'u', 's', 'e', 'R', 
    '\004', 'i', 'n', 't', 'o', '\022', '.', '\n', '\007', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\001', '(', '\016', '2', '\024', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'T', 'y', 'p', 'e', 'R', '\007', 'o', 'b', 'j', 't', 
    'y', 'p', 'e', '\022', '&', '\n', '\016', 'i', 's', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'i', 'n', 't', 'o', '\030', '\004', ' ', '\001', 
    '(', '\010', 'R', '\016', 'i', 's', '_', 's', 'e', 'l', 'e', 'c', 't', '_', 'i', 'n', 't', 'o', '\022', '$', '\n', '\r', 'i', 'f', '_', 
    'n', 'o', 't', '_', 'e', 'x', 'i', 's', 't', 's', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\r', 'i', 'f', '_', 'n', 'o', 't', '_', 
    'e', 'x', 'i', 's', 't', 's', '\"', '\201', '\001', '\n', '\022', 'R', 'e', 'f', 'r', 'e', 's', 'h', 'M', 'a', 't', 'V', 'i', 'e', 'w', 
    'S', 't', 'm', 't', '\022', '\036', '\n', '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\030', '\001', ' ', '\001', '(', '\010', 'R', 
    '\n', 'c', 'o', 'n', 'c', 'u', 'r', 'r', 'e', 'n', 't', '\022', '\033', '\n', '\t', 's', 'k', 'i', 'p', '_', 'd', 'a', 't', 'a', '\030', 
    '\002', ' ', '\001', '(', '\010', 'R', '\010', 's', 'k', 'i', 'p', 'D', 'a', 't', 'a', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 
    'o', 'n', '\030', '\003', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 
    'V', 'a', 'r', 'R', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\"', '\020', '\n', '\016', 'C', 'h', 'e', 'c', 'k', 'P', 'o', 'i', 
    'n', 't', 'S', 't', 'm', 't', '\"', '<', '\n', '\013', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'S', 't', 'm', 't', '\022', '-', '\n', '\006', 
    't', 'a', 'r', 'g', 'e', 't', '\030', '\001', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
    'i', 's', 'c', 'a', 'r', 'd', 'M', 'o', 'd', 'e', 'R', '\006', 't', 'a', 'r', 'g', 'e', 't', '\"', 'd', '\n', '\010', 'L', 'o', 'c', 
    'k', 'S', 't', 'm', 't', '\022', ',', '\n', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\t', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', 
    's', '\022', '\022', '\n', '\004', 'm', 'o', 'd', 'e', '\030', '\002', ' ', '\001', '(', '\005', 'R', '\004', 'm', 'o', 'd', 'e', '\022', '\026', '\n', '\006', 
    'n', 'o', 'w', 'a', 'i', 't', '\030', '\003', ' ', '\001', '(', '\010', 'R', '\006', 'n', 'o', 'w', 'a', 'i', 't', '\"', 'b', '\n', '\022', 'C', 
    'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', 'S', 'e', 't', 'S', 't', 'm', 't', '\022', '0', '\n', '\013', 'c', 'o', 'n', 's', 
    't', 'r', 'a', 'i', 'n', 't', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\013', 'c', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', 's', '\022', '\032', '\n', '\010', 'd', 'e', 'f', 'e', 
    'r', 'r', 'e', 'd', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\010', 'd', 'e', 'f', 'e', 'r', 'r', 'e', 'd', '\"', '\252', '\001', '\n', '\013', 
    'R', 'e', 'i', 'n', 'd', 'e', 'x', 'S', 't', 'm', 't', '\022', '/', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', 
    '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'O', 'b', 'j', 'e', 'c', 't', 
    'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 
    'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'n', 
    'a', 'm', 'e', '\022', '&', '\n', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\"', '\352', '\001', '\n', '\024', 'C', 'r', 
    'e', 'a', 't', 'e', 'C', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '8', '\n', '\017', 'c', 'o', 'n', 
    'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\017', 'c', 'o', 'n', 'v', 'e', 'r', 's', 'i', 'o', 'n', '_', 'n', 'a', 'm', 
    'e', '\022', ',', '\n', '\021', 'f', 'o', 'r', '_', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', 
    '\001', '(', '\t', 'R', '\021', 'f', 'o', 'r', '_', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\022', '*', '\n', 
    '\020', 't', 'o', '_', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\020', 
    't', 'o', '_', 'e', 'n', 'c', 'o', 'd', 'i', 'n', 'g', '_', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 'f', 'u', 'n', 'c', '_', 
    'n', 'a', 'm', 'e', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 
    'e', 'R', '\t', 'f', 'u', 'n', 'c', '_', 'n', 'a', 'm', 'e', '\022', '\020', '\n', '\003', 'd', 'e', 'f', '\030', '\005', ' ', '\001', '(', '\010', 
    'R', '\003', 'd', 'e', 'f', '\"', '\361', '\001', '\n', '\016', 'C', 'r', 'e', 'a', 't', 'e', 'C', 'a', 's', 't', 'S', 't', 'm', 't', '\022', 
    '2', '\n', '\n', 's', 'o', 'u', 'r', 'c', 'e', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 
    'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 's', 'o', 'u', 'r', 'c', 'e', 't', 'y', 'p', 
    'e', '\022', '2', '\n', '\n', 't', 'a', 'r', 'g', 'e', 't', 't', 'y', 'p', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\n', 't', 'a', 'r', 'g', 'e', 't', 't', 
    'y', 'p', 'e', '\022', ',', '\n', '\004', 'f', 'u', 'n', 'c', '\030', '\003', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'O', 'b', 'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\004', 'f', 'u', 'n', 'c', '\022', 
    '3', '\n', '\007', 'c', 'o', 'n', 't', 'e', 'x', 't', '\030', '\004', ' ', '\001', '(', '\016', '2', '\031', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'C', 'o', 'n', 't', 'e', 'x', 't', 'R', '\007', 'c', 'o', 'n', 't', 'e', 
    'x', 't', '\022', '\024', '\n', '\005', 'i', 'n', 'o', 'u', 't', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\005', 'i', 'n', 'o', 'u', 't', '\"', 
    '\331', '\001', '\n', '\023', 'C', 'r', 'e', 'a', 't', 'e', 'T', 'r', 'a', 'n', 's', 'f', 'o', 'r', 'm', 'S', 't', 'm', 't', '\022', '\030', 
    '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\001', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\022', 
    '0', '\n', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 
    'u', 'e', 'r', 'y', '.', 'T', 'y', 'p', 'e', 'N', 'a', 'm', 'e', 'R', '\t', 't', 'y', 'p', 'e', '_', 'n', 'a', 'm', 'e', '\022', 
    '\022', '\n', '\004', 'l', 'a', 'n', 'g', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\004', 'l', 'a', 'n', 'g', '\022', '2', '\n', '\007', 'f', 'r', 
    'o', 'm', 's', 'q', 'l', '\030', '\004', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 
    'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\007', 'f', 'r', 'o', 'm', 's', 'q', 'l', '\022', '.', '\n', '\005', 
    't', 'o', 's', 'q', 'l', '\030', '\005', ' ', '\001', '(', '\013', '2', '\030', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'O', 'b', 
    'j', 'e', 'c', 't', 'W', 'i', 't', 'h', 'A', 'r', 'g', 's', 'R', '\005', 't', 'o', 's', 'q', 'l', '\"', 's', '\n', '\013', 'P', 'r', 
    'e', 'p', 'a', 'r', 'e', 'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 
    'n', 'a', 'm', 'e', '\022', '*', '\n', '\010', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'a', 'r', 'g', 't', 'y', 'p', 'e', 's', '\022', '$', 
    '\n', '\005', 'q', 'u', 'e', 'r', 'y', '\030', '\003', ' ', '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 
    'N', 'o', 'd', 'e', 'R', '\005', 'q', 'u', 'e', 'r', 'y', '\"', 'I', '\n', '\013', 'E', 'x', 'e', 'c', 'u', 't', 'e', 'S', 't', 'm', 
    't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '&', '\n', '\006', 
    'p', 'a', 'r', 'a', 'm', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\006', 'p', 'a', 'r', 'a', 'm', 's', '\"', 'V', '\n', '\016', 'D', 'e', 'a', 'l', 'l', 'o', 'c', 'a', 't', 'e', 
    'S', 't', 'm', 't', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', 
    '\024', '\n', '\005', 'i', 's', 'a', 'l', 'l', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\005', 'i', 's', 'a', 'l', 'l', '\022', '\032', '\n', '\010', 
    'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', 
    'i', '\n', '\r', 'D', 'r', 'o', 'p', 'O', 'w', 'n', 'e', 'd', 'S', 't', 'm', 't', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', 
    '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 
    'o', 'l', 'e', 's', '\022', '2', '\n', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\030', '\002', ' ', '\001', '(', '\016', '2', '\026', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 
    'h', 'a', 'v', 'i', 'o', 'r', '\"', 'g', '\n', '\021', 'R', 'e', 'a', 's', 's', 'i', 'g', 'n', 'O', 'w', 'n', 'e', 'd', 'S', 't', 
    'm', 't', '\022', '$', '\n', '\005', 'r', 'o', 'l', 'e', 's', '\030', '\001', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'r', 'o', 'l', 'e', 's', '\022', ',', '\n', '\007', 'n', 'e', 'w', 'r', 'o', 'l', 
    'e', '\030', '\002', ' ', '\001', '(', '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'o', 'l', 'e', 'S', 'p', 
    'e', 'c', 'R', '\007', 'n', 'e', 'w', 'r', 'o', 'l', 'e', '\"', 'm', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'D', 'i', 'c', 
    't', 'i', 'o', 'n', 'a', 'r', 'y', 'S', 't', 'm', 't', '\022', '*', '\n', '\010', 'd', 'i', 'c', 't', 'n', 'a', 'm', 'e', '\030', '\001', 
    ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\010', 'd', 'i', 'c', 
    't', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 
    'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\237', '\002', 
    '\n', '\030', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'u', 'r', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 
    't', '\022', '/', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', '\016', '2', '\033', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', 
    '\022', '(', '\n', '\007', 'c', 'f', 'g', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'f', 'g', 'n', 'a', 'm', 'e', '\022', ',', '\n', '\t', 't', 'o', 'k', 'e', 
    'n', 't', 'y', 'p', 'e', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\t', 't', 'o', 'k', 'e', 'n', 't', 'y', 'p', 'e', '\022', '$', '\n', '\005', 'd', 'i', 'c', 't', 's', '\030', '\004', ' ', 
    '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\005', 'd', 'i', 'c', 't', 
    's', '\022', '\032', '\n', '\010', 'o', 'v', 'e', 'r', 'r', 'i', 'd', 'e', '\030', '\005', ' ', '\001', '(', '\010', 'R', '\010', 'o', 'v', 'e', 'r', 
    'r', 'i', 'd', 'e', '\022', '\030', '\n', '\007', 'r', 'e', 'p', 'l', 'a', 'c', 'e', '\030', '\006', ' ', '\001', '(', '\010', 'R', '\007', 'r', 'e', 
    'p', 'l', 'a', 'c', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\030', '\007', ' ', '\001', '(', '\010', 
    'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\"', '\237', '\001', '\n', '\020', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 
    'i', 'o', 'n', 'T', 'a', 'b', 'l', 'e', '\022', '.', '\n', '\010', 'r', 'e', 'l', 'a', 't', 'i', 'o', 'n', '\030', '\001', ' ', '\001', '(', 
    '\013', '2', '\022', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'R', 'a', 'n', 'g', 'e', 'V', 'a', 'r', 'R', '\010', 'r', 'e', 
    'l', 'a', 't', 'i', 'o', 'n', '\022', '1', '\n', '\014', 'w', 'h', 'e', 'r', 'e', '_', 'c', 'l', 'a', 'u', 's', 'e', '\030', '\002', ' ', 
    '\001', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'w', 'h', 'e', 'r', 
    'e', 'C', 'l', 'a', 'u', 's', 'e', '\022', '(', '\n', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', 
    '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'c', 'o', 'l', 'u', 'm', 'n', 's', '\"', 
    '\276', '\001', '\n', '\022', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', '\022', '@', '\n', 
    '\n', 'p', 'u', 'b', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\030', '\001', ' ', '\001', '(', '\016', '2', ' ', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 
    'e', 'R', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 't', 'y', 'p', 'e', '\022', '\022', '\n', '\004', 'n', 'a', 'm', 'e', '\030', '\002', ' ', '\001', 
    '(', '\t', 'R', '\004', 'n', 'a', 'm', 'e', '\022', '6', '\n', '\010', 'p', 'u', 'b', 't', 'a', 'b', 'l', 'e', '\030', '\003', ' ', '\001', '(', 
    '\013', '2', '\032', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'T', 
    'a', 'b', 'l', 'e', 'R', '\010', 'p', 'u', 'b', 't', 'a', 'b', 'l', 'e', '\022', '\032', '\n', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 
    'n', '\030', '\004', ' ', '\001', '(', '\005', 'R', '\010', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', '\"', '\263', '\001', '\n', '\025', 'C', 'r', 'e', 
    'a', 't', 'e', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 'p', 'u', 'b', 
    'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '(', '\n', '\007', 'o', 'p', 
    't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '.', '\n', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', 's', 
    '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\n', 'p', 
    'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', '&', '\n', '\016', 'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 
    'e', 's', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\"', 
    '\354', '\001', '\n', '\024', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', 
    '\030', '\n', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 'p', 'u', 'b', 'n', 'a', 'm', 'e', 
    '\022', '(', '\n', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\030', '\002', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 
    'e', 'r', 'y', '.', 'N', 'o', 'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\022', '.', '\n', '\n', 'p', 'u', 'b', 'o', 
    'b', 'j', 'e', 'c', 't', 's', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 
    'o', 'd', 'e', 'R', '\n', 'p', 'u', 'b', 'o', 'b', 'j', 'e', 'c', 't', 's', '\022', '&', '\n', '\016', 'f', 'o', 'r', '_', 'a', 'l', 
    'l', '_', 't', 'a', 'b', 'l', 'e', 's', '\030', '\004', ' ', '\001', '(', '\010', 'R', '\016', 'f', 'o', 'r', '_', 'a', 'l', 'l', '_', 't', 
    'a', 'b', 'l', 'e', 's', '\022', '8', '\n', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\030', '\005', ' ', '\001', '(', '\016', '2', ' ', '.', 'p', 
    'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'A', 
    'c', 't', 'i', 'o', 'n', 'R', '\006', 'a', 'c', 't', 'i', 'o', 'n', '\"', '\252', '\001', '\n', '\026', 'C', 'r', 'e', 'a', 't', 'e', 'S', 
    'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 'm', 
    'e', '\030', '\001', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'c', 'o', 'n', 'n', 'i', 
    'n', 'f', 'o', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\010', 'c', 'o', 'n', 'n', 'i', 'n', 'f', 'o', '\022', '0', '\n', '\013', 'p', 'u', 
    'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\003', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 
    't', 'i', 'o', 'n', 's', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\336', '\001', '\n', '\025', 'A', 'l', 't', 'e', 'r', 'S', 'u', 'b', 's', 
    'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '3', '\n', '\004', 'k', 'i', 'n', 'd', '\030', '\001', ' ', '\001', '(', 
    '\016', '2', '\037', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'A', 'l', 't', 'e', 'r', 'S', 'u', 'b', 's', 'c', 'r', 'i', 
    'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', 'R', '\004', 'k', 'i', 'n', 'd', '\022', '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 'm', 
    'e', '\030', '\002', ' ', '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\032', '\n', '\010', 'c', 'o', 'n', 'n', 'i', 
    'n', 'f', 'o', '\030', '\003', ' ', '\001', '(', '\t', 'R', '\010', 'c', 'o', 'n', 'n', 'i', 'n', 'f', 'o', '\022', '0', '\n', '\013', 'p', 'u', 
    'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\030', '\004', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 
    'y', '.', 'N', 'o', 'd', 'e', 'R', '\013', 'p', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', '\022', '(', '\n', '\007', 'o', 'p', 
    't', 'i', 'o', 'n', 's', '\030', '\005', ' ', '\003', '(', '\013', '2', '\016', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'N', 'o', 
    'd', 'e', 'R', '\007', 'o', 'p', 't', 'i', 'o', 'n', 's', '\"', '\204', '\001', '\n', '\024', 'D', 'r', 'o', 'p', 'S', 'u', 'b', 's', 'c', 
    'r', 'i', 'p', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', '\022', '\030', '\n', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\030', '\001', ' ', 
    '\001', '(', '\t', 'R', '\007', 's', 'u', 'b', 'n', 'a', 'm', 'e', '\022', '\036', '\n', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 
    'k', '\030', '\002', ' ', '\001', '(', '\010', 'R', '\n', 'm', 'i', 's', 's', 'i', 'n', 'g', '_', 'o', 'k', '\022', '2', '\n', '\010', 'b', 'e', 
    'h', 'a', 'v', 'i', 'o', 'r', '\030', '\003', ' ', '\001', '(', '\016', '2', '\026', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'D', 
    'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'R', '\010', 'b', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\"', 't', '\n', '\t', 
    'S', 'c', 'a', 'n', 'T', 'o', 'k', 'e', 'n', '\022', '\r', '\n', '\005', 's', 't', 'a', 'r', 't', '\030', '\001', ' ', '\001', '(', '\005', '\022', 
    '\013', '\n', '\003', 'e', 'n', 'd', '\030', '\002', ' ', '\001', '(', '\005', '\022', '\036', '\n', '\005', 't', 'o', 'k', 'e', 'n', '\030', '\004', ' ', '\001', 
    '(', '\016', '2', '\017', '.', 'p', 'g', '_', 'q', 'u', 'e', 'r', 'y', '.', 'T', 'o', 'k', 'e', 'n', '\022', '+', '\n', '\014', 'k', 'e', 
    'y', 'w', 'o', 'r', 'd', '_', 'k', 'i', 'n', 'd', '\030', '\005', ' ', '\001', '(', '\016', '2', '\025', '.', 'p', 'g', '_', 'q', 'u', 'e', 
    'r', 'y', '.', 'K', 'e', 'y', 'w', 'o', 'r', 'd', 'K', 'i', 'n', 'd', '*', '\233', '\001', '\n', '\013', 'Q', 'u', 'e', 'r', 'y', 'S', 
    'o', 'u', 'r', 'c', 'e', '\022', '\032', '\n', '\026', 'Q', 'U', 'E', 'R', 'Y', '_', 'S', 'O', 'U', 'R', 'C', 'E', '_', 'U', 'N', 'D', 
    'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'Q', 'S', 'R', 'C', '_', 'O', 'R', 'I', 'G', 'I', 'N', 'A', 'L', 
    '\020', '\001', '\022', '\017', '\n', '\013', 'Q', 'S', 'R', 'C', '_', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '\002', '\022', '\025', '\n', '\021', 'Q', 'S', 
    'R', 'C', '_', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '_', 'R', 'U', 'L', 'E', '\020', '\003', '\022', '\032', '\n', '\026', 'Q', 'S', 'R', 'C', 
    '_', 'Q', 'U', 'A', 'L', '_', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '_', 'R', 'U', 'L', 'E', '\020', '\004', '\022', '\031', '\n', '\025', 'Q', 
    'S', 'R', 'C', '_', 'N', 'O', 'N', '_', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '_', 'R', 'U', 'L', 'E', '\020', '\005', '*', 'm', '\n', 
    '\t', 'S', 'o', 'r', 't', 'B', 'y', 'D', 'i', 'r', '\022', '\031', '\n', '\025', 'S', 'O', 'R', 'T', '_', 'B', 'Y', '_', 'D', 'I', 'R', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'D', 'E', 
    'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', '\016', '\n', '\n', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'A', 'S', 'C', '\020', '\002', '\022', '\017', 
    '\n', '\013', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'D', 'E', 'S', 'C', '\020', '\003', '\022', '\020', '\n', '\014', 'S', 'O', 'R', 'T', 'B', 'Y', 
    '_', 'U', 'S', 'I', 'N', 'G', '\020', '\004', '*', 's', '\n', '\013', 'S', 'o', 'r', 't', 'B', 'y', 'N', 'u', 'l', 'l', 's', '\022', '\033', 
    '\n', '\027', 'S', 'O', 'R', 'T', '_', 'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
    '\020', '\000', '\022', '\030', '\n', '\024', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'D', 'E', 'F', 'A', 'U', 'L', 
    'T', '\020', '\001', '\022', '\026', '\n', '\022', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'F', 'I', 'R', 'S', 'T', 
    '\020', '\002', '\022', '\025', '\n', '\021', 'S', 'O', 'R', 'T', 'B', 'Y', '_', 'N', 'U', 'L', 'L', 'S', '_', 'L', 'A', 'S', 'T', '\020', '\003', 
    '*', '~', '\n', '\r', 'S', 'e', 't', 'Q', 'u', 'a', 'n', 't', 'i', 'f', 'i', 'e', 'r', '\022', '\034', '\n', '\030', 'S', 'E', 'T', '_', 
    'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\032', '\n', 
    '\026', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', 
    '\022', '\026', '\n', '\022', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'A', 'L', 'L', '\020', '\002', '\022', 
    '\033', '\n', '\027', 'S', 'E', 'T', '_', 'Q', 'U', 'A', 'N', 'T', 'I', 'F', 'I', 'E', 'R', '_', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 
    'T', '\020', '\003', '*', '\266', '\002', '\n', '\013', 'A', '_', 'E', 'x', 'p', 'r', '_', 'K', 'i', 'n', 'd', '\022', '\031', '\n', '\025', 'A', '_', 
    'E', 'X', 'P', 'R', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\014', '\n', '\010', 
    'A', 'E', 'X', 'P', 'R', '_', 'O', 'P', '\020', '\001', '\022', '\020', '\n', '\014', 'A', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'A', 'N', 
    'Y', '\020', '\002', '\022', '\020', '\n', '\014', 'A', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'A', 'L', 'L', '\020', '\003', '\022', '\022', '\n', '\016', 
    'A', 'E', 'X', 'P', 'R', '_', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 'T', '\020', '\004', '\022', '\026', '\n', '\022', 'A', 'E', 'X', 'P', 'R', 
    '_', 'N', 'O', 'T', '_', 'D', 'I', 'S', 'T', 'I', 'N', 'C', 'T', '\020', '\005', '\022', '\020', '\n', '\014', 'A', 'E', 'X', 'P', 'R', '_', 
    'N', 'U', 'L', 'L', 'I', 'F', '\020', '\006', '\022', '\014', '\n', '\010', 'A', 'E', 'X', 'P', 'R', '_', 'I', 'N', '\020', '\007', '\022', '\016', '\n', 
    '\n', 'A', 'E', 'X', 'P', 'R', '_', 'L', 'I', 'K', 'E', '\020', '\010', '\022', '\017', '\n', '\013', 'A', 'E', 'X', 'P', 'R', '_', 'I', 'L', 
    'I', 'K', 'E', '\020', '\t', '\022', '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'S', 'I', 'M', 'I', 'L', 'A', 'R', '\020', '\n', '\022', 
    '\021', '\n', '\r', 'A', 'E', 'X', 'P', 'R', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\013', '\022', '\025', '\n', '\021', 'A', 'E', 'X', 
    'P', 'R', '_', 'N', 'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '\020', '\014', '\022', '\025', '\n', '\021', 'A', 'E', 'X', 'P', 'R', 
    '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\r', '\022', '\031', '\n', '\025', 'A', 'E', 'X', 'P', 'R', '_', 'N', 
    'O', 'T', '_', 'B', 'E', 'T', 'W', 'E', 'E', 'N', '_', 'S', 'Y', 'M', '\020', '\016', '*', '\250', '\001', '\n', '\014', 'R', 'o', 'l', 'e', 
    'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'R', 'O', 'L', 'E', '_', 'S', 'P', 'E', 'C', '_', 'T', 'Y', 'P', 
    'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\024', '\n', '\020', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', 
    '_', 'C', 'S', 'T', 'R', 'I', 'N', 'G', '\020', '\001', '\022', '\031', '\n', '\025', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 'C', 'U', 
    'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\002', '\022', '\031', '\n', '\025', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 'C', '_', 
    'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\003', '\022', '\031', '\n', '\025', 'R', 'O', 'L', 'E', 'S', 'P', 'E', 
    'C', '_', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', '\004', '\022', '\023', '\n', '\017', 'R', 'O', 'L', 'E', 'S', 
    'P', 'E', 'C', '_', 'P', 'U', 'B', 'L', 'I', 'C', '\020', '\005', '*', '\364', '\002', '\n', '\017', 'T', 'a', 'b', 'l', 'e', 'L', 'i', 'k', 
    'e', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\037', '\n', '\033', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'O', 'P', 'T', 
    'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'C', 'R', 'E', 'A', 'T', 'E', 
    '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', 'S', '\020', '\001', '\022', '!', '\n', 
    '\035', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'C', 'O', 'M', 'P', 'R', 'E', 
    'S', 'S', 'I', 'O', 'N', '\020', '\002', '\022', '!', '\n', '\035', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 
    'I', 'K', 'E', '_', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', 'S', '\020', '\003', '\022', '\036', '\n', '\032', 'C', 'R', 'E', 'A', 
    'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 'S', '\020', '\004', '\022', 
    '\037', '\n', '\033', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'G', 'E', 'N', 'E', 
    'R', 'A', 'T', 'E', 'D', '\020', '\005', '\022', '\036', '\n', '\032', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 
    'I', 'K', 'E', '_', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '\020', '\006', '\022', '\035', '\n', '\031', 'C', 'R', 'E', 'A', 'T', 'E', '_', 
    'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'I', 'N', 'D', 'E', 'X', 'E', 'S', '\020', '\007', '\022', ' ', '\n', '\034', 'C', 
    'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', '_', 'S', 'T', 'A', 'T', 'I', 'S', 'T', 'I', 
    'C', 'S', '\020', '\010', '\022', '\035', '\n', '\031', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', '_', 'L', 'I', 'K', 'E', 
    '_', 'S', 'T', 'O', 'R', 'A', 'G', 'E', '\020', '\t', '\022', '\031', '\n', '\025', 'C', 'R', 'E', 'A', 'T', 'E', '_', 'T', 'A', 'B', 'L', 
    'E', '_', 'L', 'I', 'K', 'E', '_', 'A', 'L', 'L', '\020', '\n', '*', 'v', '\n', '\r', 'D', 'e', 'f', 'E', 'l', 'e', 'm', 'A', 'c', 
    't', 'i', 'o', 'n', '\022', '\035', '\n', '\031', 'D', 'E', 'F', '_', 'E', 'L', 'E', 'M', '_', 'A', 'C', 'T', 'I', 'O', 'N', '_', 'U', 
    'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'D', 'E', 'F', 'E', 'L', 'E', 'M', '_', 'U', 'N', 'S', 
    'P', 'E', 'C', '\020', '\001', '\022', '\017', '\n', '\013', 'D', 'E', 'F', 'E', 'L', 'E', 'M', '_', 'S', 'E', 'T', '\020', '\002', '\022', '\017', '\n', 
    '\013', 'D', 'E', 'F', 'E', 'L', 'E', 'M', '_', 'A', 'D', 'D', '\020', '\003', '\022', '\020', '\n', '\014', 'D', 'E', 'F', 'E', 'L', 'E', 'M', 
    '_', 'D', 'R', 'O', 'P', '\020', '\004', '*', '\215', '\001', '\n', '\021', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'S', 't', 'r', 'a', 
    't', 'e', 'g', 'y', '\022', ' ', '\n', '\034', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 
    'Y', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\033', '\n', '\027', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 
    'N', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'L', 'I', 'S', 'T', '\020', '\001', '\022', '\034', '\n', '\030', 'P', 'A', 'R', 'T', 
    'I', 'T', 'I', 'O', 'N', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'R', 'A', 'N', 'G', 'E', '\020', '\002', '\022', '\033', '\n', 
    '\027', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'H', 'A', 'S', 'H', '\020', 
    '\003', '*', '\254', '\001', '\n', '\027', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'R', 'a', 'n', 'g', 'e', 'D', 'a', 't', 'u', 'm', 
    'K', 'i', 'n', 'd', '\022', '(', '\n', '$', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 
    'A', 'T', 'U', 'M', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\"', '\n', '\036', 
    'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'M', 'I', 'N', 
    'V', 'A', 'L', 'U', 'E', '\020', '\001', '\022', '\037', '\n', '\033', 'P', 'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 
    'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'V', 'A', 'L', 'U', 'E', '\020', '\002', '\022', '\"', '\n', '\036', 'P', 'A', 'R', 'T', 'I', 'T', 
    'I', 'O', 'N', '_', 'R', 'A', 'N', 'G', 'E', '_', 'D', 'A', 'T', 'U', 'M', '_', 'M', 'A', 'X', 'V', 'A', 'L', 'U', 'E', '\020', 
    '\003', '*', '\275', '\001', '\n', '\007', 'R', 'T', 'E', 'K', 'i', 'n', 'd', '\022', '\025', '\n', '\021', 'R', 'T', 'E', 'K', 'I', 'N', 'D', '_', 
    'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'R', 'T', 'E', '_', 'R', 'E', 'L', 'A', 'T', 'I', 
    'O', 'N', '\020', '\001', '\022', '\020', '\n', '\014', 'R', 'T', 'E', '_', 'S', 'U', 'B', 'Q', 'U', 'E', 'R', 'Y', '\020', '\002', '\022', '\014', '\n', 
    '\010', 'R', 'T', 'E', '_', 'J', 'O', 'I', 'N', '\020', '\003', '\022', '\020', '\n', '\014', 'R', 'T', 'E', '_', 'F', 'U', 'N', 'C', 'T', 'I', 
    'O', 'N', '\020', '\004', '\022', '\021', '\n', '\r', 'R', 'T', 'E', '_', 'T', 'A', 'B', 'L', 'E', 'F', 'U', 'N', 'C', '\020', '\005', '\022', '\016', 
    '\n', '\n', 'R', 'T', 'E', '_', 'V', 'A', 'L', 'U', 'E', 'S', '\020', '\006', '\022', '\013', '\n', '\007', 'R', 'T', 'E', '_', 'C', 'T', 'E', 
    '\020', '\007', '\022', '\027', '\n', '\023', 'R', 'T', 'E', '_', 'N', 'A', 'M', 'E', 'D', 'T', 'U', 'P', 'L', 'E', 'S', 'T', 'O', 'R', 'E', 
    '\020', '\010', '\022', '\016', '\n', '\n', 'R', 'T', 'E', '_', 'R', 'E', 'S', 'U', 'L', 'T', '\020', '\t', '*', '\304', '\001', '\n', '\007', 'W', 'C', 
    'O', 'K', 'i', 'n', 'd', '\022', '\025', '\n', '\021', 'W', 'C', 'O', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 
    'D', '\020', '\000', '\022', '\022', '\n', '\016', 'W', 'C', 'O', '_', 'V', 'I', 'E', 'W', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\001', '\022', '\030', 
    '\n', '\024', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'I', 'N', 'S', 'E', 'R', 'T', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\002', '\022', 
    '\030', '\n', '\024', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'U', 'P', 'D', 'A', 'T', 'E', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\003', 
    '\022', '\032', '\n', '\026', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'C', 'H', 'E', 'C', 
    'K', '\020', '\004', '\022', '\036', '\n', '\032', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'M', 'E', 'R', 'G', 'E', '_', 'U', 'P', 'D', 'A', 
    'T', 'E', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\005', '\022', '\036', '\n', '\032', 'W', 'C', 'O', '_', 'R', 'L', 'S', '_', 'M', 'E', 'R', 
    'G', 'E', '_', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\006', '*', '\252', '\001', '\n', '\017', 'G', 'r', 'o', 
    'u', 'p', 'i', 'n', 'g', 'S', 'e', 't', 'K', 'i', 'n', 'd', '\022', '\037', '\n', '\033', 'G', 'R', 'O', 'U', 'P', 'I', 'N', 'G', '_', 
    'S', 'E', 'T', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'G', 
    'R', 'O', 'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'E', 'M', 'P', 'T', 'Y', '\020', '\001', '\022', '\027', '\n', '\023', 'G', 'R', 
    'O', 'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'S', 'I', 'M', 'P', 'L', 'E', '\020', '\002', '\022', '\027', '\n', '\023', 'G', 'R', 
    'O', 'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'R', 'O', 'L', 'L', 'U', 'P', '\020', '\003', '\022', '\025', '\n', '\021', 'G', 'R', 
    'O', 'U', 'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'C', 'U', 'B', 'E', '\020', '\004', '\022', '\025', '\n', '\021', 'G', 'R', 'O', 'U', 
    'P', 'I', 'N', 'G', '_', 'S', 'E', 'T', '_', 'S', 'E', 'T', 'S', '\020', '\005', '*', '|', '\n', '\016', 'C', 'T', 'E', 'M', 'a', 't', 
    'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', '\022', '\034', '\n', '\030', 'C', 'T', 'E', 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 
    'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\031', '\n', '\025', 'C', 'T', 'E', 'M', 'a', 't', 'e', 'r', 
    'i', 'a', 'l', 'i', 'z', 'e', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', '\001', '\022', '\030', '\n', '\024', 'C', 'T', 'E', 'M', 'a', 't', 
    'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'A', 'l', 'w', 'a', 'y', 's', '\020', '\002', '\022', '\027', '\n', '\023', 'C', 'T', 'E', 'M', 'a', 
    't', 'e', 'r', 'i', 'a', 'l', 'i', 'z', 'e', 'N', 'e', 'v', 'e', 'r', '\020', '\003', '*', 'e', '\n', '\n', 'J', 's', 'o', 'n', 'Q', 
    'u', 'o', 't', 'e', 's', '\022', '\031', '\n', '\025', 'J', 'S', 'O', 'N', '_', 'Q', 'U', 'O', 'T', 'E', 'S', '_', 'U', 'N', 'D', 'E', 
    'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\024', '\n', '\020', 'J', 'S', '_', 'Q', 'U', 'O', 'T', 'E', 'S', '_', 'U', 'N', 'S', 'P', 
    'E', 'C', '\020', '\001', '\022', '\022', '\n', '\016', 'J', 'S', '_', 'Q', 'U', 'O', 'T', 'E', 'S', '_', 'K', 'E', 'E', 'P', '\020', '\002', '\022', 
    '\022', '\n', '\016', 'J', 'S', '_', 'Q', 'U', 'O', 'T', 'E', 'S', '_', 'O', 'M', 'I', 'T', '\020', '\003', '*', '\227', '\001', '\n', '\023', 'J', 
    's', 'o', 'n', 'T', 'a', 'b', 'l', 'e', 'C', 'o', 'l', 'u', 'm', 'n', 'T', 'y', 'p', 'e', '\022', '$', '\n', ' ', 'J', 'S', 'O', 
    'N', '_', 'T', 'A', 'B', 'L', 'E', '_', 'C', 'O', 'L', 'U', 'M', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 
    'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'J', 'T', 'C', '_', 'F', 'O', 'R', '_', 'O', 'R', 'D', 'I', 'N', 'A', 'L', 
    'I', 'T', 'Y', '\020', '\001', '\022', '\017', '\n', '\013', 'J', 'T', 'C', '_', 'R', 'E', 'G', 'U', 'L', 'A', 'R', '\020', '\002', '\022', '\016', '\n', 
    '\n', 'J', 'T', 'C', '_', 'E', 'X', 'I', 'S', 'T', 'S', '\020', '\003', '\022', '\021', '\n', '\r', 'J', 'T', 'C', '_', 'F', 'O', 'R', 'M', 
    'A', 'T', 'T', 'E', 'D', '\020', '\004', '\022', '\016', '\n', '\n', 'J', 'T', 'C', '_', 'N', 'E', 'S', 'T', 'E', 'D', '\020', '\005', '*', 's', 
    '\n', '\014', 'S', 'e', 't', 'O', 'p', 'e', 'r', 'a', 't', 'i', 'o', 'n', '\022', '\033', '\n', '\027', 'S', 'E', 'T', '_', 'O', 'P', 'E', 
    'R', 'A', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\016', '\n', '\n', 'S', 'E', 'T', 
    'O', 'P', '_', 'N', 'O', 'N', 'E', '\020', '\001', '\022', '\017', '\n', '\013', 'S', 'E', 'T', 'O', 'P', '_', 'U', 'N', 'I', 'O', 'N', '\020', 
    '\002', '\022', '\023', '\n', '\017', 'S', 'E', 'T', 'O', 'P', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\003', '\022', '\020', '\n', 
    '\014', 'S', 'E', 'T', 'O', 'P', '_', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\004', '*', '\231', '\t', '\n', '\n', 'O', 'b', 'j', 'e', 'c', 
    't', 'T', 'y', 'p', 'e', '\022', '\031', '\n', '\025', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 
    'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'C', 'C', 'E', 'S', 'S', '_', 
    'M', 'E', 'T', 'H', 'O', 'D', '\020', '\001', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'G', 'G', 'R', 'E', 'G', 
    'A', 'T', 'E', '\020', '\002', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'M', 'O', 'P', '\020', '\003', '\022', '\021', '\n', 
    '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'A', 'M', 'P', 'R', 'O', 'C', '\020', '\004', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 
    'T', '_', 'A', 'T', 'T', 'R', 'I', 'B', 'U', 'T', 'E', '\020', '\005', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 
    'A', 'S', 'T', '\020', '\006', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'O', 'L', 'U', 'M', 'N', '\020', '\007', '\022', 
    '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'O', 'L', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\010', '\022', '\025', '\n', '\021', 
    'O', 'B', 'J', 'E', 'C', 'T', '_', 'C', 'O', 'N', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '\020', '\t', '\022', '\023', '\n', '\017', 'O', 'B', 
    'J', 'E', 'C', 'T', '_', 'D', 'A', 'T', 'A', 'B', 'A', 'S', 'E', '\020', '\n', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', 
    '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\013', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'E', 'F', 'A', 
    'C', 'L', '\020', '\014', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'O', 'M', 'A', 'I', 'N', '\020', '\r', '\022', '\030', 
    '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'O', 'M', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', '\020', '\016', '\022', 
    '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'E', 'V', 'E', 'N', 'T', '_', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '\017', 
    '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'E', 'X', 'T', 'E', 'N', 'S', 'I', 'O', 'N', '\020', '\020', '\022', '\016', '\n', 
    '\n', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 'D', 'W', '\020', '\021', '\022', '\031', '\n', '\025', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'F', 
    'O', 'R', 'E', 'I', 'G', 'N', '_', 'S', 'E', 'R', 'V', 'E', 'R', '\020', '\022', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', 
    '_', 'F', 'O', 'R', 'E', 'I', 'G', 'N', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\023', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 
    'T', '_', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '\020', '\024', '\022', '\020', '\n', '\014', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'I', 'N', 
    'D', 'E', 'X', '\020', '\025', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'L', 'A', 'N', 'G', 'U', 'A', 'G', 'E', '\020', 
    '\026', '\022', '\026', '\n', '\022', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'L', 'A', 'R', 'G', 'E', 'O', 'B', 'J', 'E', 'C', 'T', '\020', '\027', 
    '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'M', 'A', 'T', 'V', 'I', 'E', 'W', '\020', '\030', '\022', '\022', '\n', '\016', 'O', 
    'B', 'J', 'E', 'C', 'T', '_', 'O', 'P', 'C', 'L', 'A', 'S', 'S', '\020', '\031', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', 
    '_', 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', '\020', '\032', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'O', 'P', 'F', 
    'A', 'M', 'I', 'L', 'Y', '\020', '\033', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'A', 'R', 'A', 'M', 'E', 'T', 
    'E', 'R', '_', 'A', 'C', 'L', '\020', '\034', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'O', 'L', 'I', 'C', 'Y', 
    '\020', '\035', '\022', '\024', '\n', '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'E', '\020', '\036', '\022', 
    '\026', '\n', '\022', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\037', '\022', ' ', 
    '\n', '\034', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'N', 'A', 'M', 'E', 
    'S', 'P', 'A', 'C', 'E', '\020', ' ', '\022', '\032', '\n', '\026', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 
    'T', 'I', 'O', 'N', '_', 'R', 'E', 'L', '\020', '!', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'R', 'O', 'L', 'E', 
    '\020', '\"', '\022', '\022', '\n', '\016', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'R', 'O', 'U', 'T', 'I', 'N', 'E', '\020', '#', '\022', '\017', '\n', 
    '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'R', 'U', 'L', 'E', '\020', '$', '\022', '\021', '\n', '\r', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
    'S', 'C', 'H', 'E', 'M', 'A', '\020', '%', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'E', 'Q', 'U', 'E', 'N', 
    'C', 'E', '\020', '&', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 
    'O', 'N', '\020', '\'', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'T', 'A', 'T', 'I', 'S', 'T', 'I', 'C', '_', 
    'E', 'X', 'T', '\020', '(', '\022', '\030', '\n', '\024', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 'C', 'O', 'N', 'S', 'T', 'R', 
    'A', 'I', 'N', 'T', '\020', ')', '\022', '\020', '\n', '\014', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 'L', 'E', '\020', '*', '\022', 
    '\025', '\n', '\021', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 'L', 'E', 'S', 'P', 'A', 'C', 'E', '\020', '+', '\022', '\024', '\n', 
    '\020', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'R', 'A', 'N', 'S', 'F', 'O', 'R', 'M', '\020', ',', '\022', '\022', '\n', '\016', 'O', 'B', 
    'J', 'E', 'C', 'T', '_', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '-', '\022', '\032', '\n', '\026', 'O', 'B', 'J', 'E', 'C', 'T', '_', 
    'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', 'U', 'R', 'A', 'T', 'I', 'O', 'N', '\020', '.', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 
    'C', 'T', '_', 'T', 'S', 'D', 'I', 'C', 'T', 'I', 'O', 'N', 'A', 'R', 'Y', '\020', '/', '\022', '\023', '\n', '\017', 'O', 'B', 'J', 'E', 
    'C', 'T', '_', 'T', 'S', 'P', 'A', 'R', 'S', 'E', 'R', '\020', '0', '\022', '\025', '\n', '\021', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 
    'S', 'T', 'E', 'M', 'P', 'L', 'A', 'T', 'E', '\020', '1', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'Y', 'P', 
    'E', '\020', '2', '\022', '\027', '\n', '\023', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'U', 'S', 'E', 'R', '_', 'M', 'A', 'P', 'P', 'I', 'N', 
    'G', '\020', '3', '\022', '\017', '\n', '\013', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'V', 'I', 'E', 'W', '\020', '4', '*', 'P', '\n', '\014', 'D', 
    'r', 'o', 'p', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', '\022', '\033', '\n', '\027', 'D', 'R', 'O', 'P', '_', 'B', 'E', 'H', 'A', 'V', 
    'I', 'O', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'D', 'R', 'O', 'P', '_', 'R', 
    'E', 'S', 'T', 'R', 'I', 'C', 'T', '\020', '\001', '\022', '\020', '\n', '\014', 'D', 'R', 'O', 'P', '_', 'C', 'A', 'S', 'C', 'A', 'D', 'E', 
    '\020', '\002', '*', '\214', '\014', '\n', '\016', 'A', 'l', 't', 'e', 'r', 'T', 'a', 'b', 'l', 'e', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\032', 
    'A', 'L', 'T', 'E', 'R', '_', 'T', 'A', 'B', 'L', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 
    'D', '\020', '\000', '\022', '\020', '\n', '\014', 'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'l', 'u', 'm', 'n', '\020', '\001', '\022', '\026', '\n', '\022', 
    'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 'T', 'o', 'V', 'i', 'e', 'w', '\020', '\002', '\022', '\024', '\n', '\020', 'A', 
    'T', '_', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', '\003', '\022', '\032', '\n', '\026', 'A', 'T', '_', 'C', 
    'o', 'o', 'k', 'e', 'd', 'C', 'o', 'l', 'u', 'm', 'n', 'D', 'e', 'f', 'a', 'u', 'l', 't', '\020', '\004', '\022', '\022', '\n', '\016', 'A', 
    'T', '_', 'D', 'r', 'o', 'p', 'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\005', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'S', 'e', 't', 
    'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\006', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'E', 'x', 'p', 'r', 'e', 's', 
    's', 'i', 'o', 'n', '\020', '\007', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'E', 'x', 'p', 'r', 'e', 's', 's', 'i', 
    'o', 'n', '\020', '\010', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'C', 'h', 'e', 'c', 'k', 'N', 'o', 't', 'N', 'u', 'l', 'l', '\020', '\t', 
    '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'S', 't', 'a', 't', 'i', 's', 't', 'i', 'c', 's', '\020', '\n', '\022', '\021', '\n', 
    '\r', 'A', 'T', '_', 'S', 'e', 't', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\013', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'R', 'e', 
    's', 'e', 't', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\014', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'S', 'e', 't', 'S', 't', 'o', 
    'r', 'a', 'g', 'e', '\020', '\r', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'S', 'e', 't', 'C', 'o', 'm', 'p', 'r', 'e', 's', 's', 'i', 
    'o', 'n', '\020', '\016', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'o', 'l', 'u', 'm', 'n', '\020', '\017', '\022', '\017', 
    '\n', '\013', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 'x', '\020', '\020', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'R', 'e', 'A', 
    'd', 'd', 'I', 'n', 'd', 'e', 'x', '\020', '\021', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 
    'a', 'i', 'n', 't', '\020', '\022', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'C', 'o', 'n', 's', 't', 'r', 'a', 
    'i', 'n', 't', '\020', '\023', '\022', '\034', '\n', '\030', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'D', 'o', 'm', 'a', 'i', 'n', 'C', 'o', 
    'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\024', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'n', 
    's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\025', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'V', 'a', 'l', 'i', 'd', 'a', 't', 'e', 'C', 
    'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\026', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'A', 'd', 'd', 'I', 'n', 'd', 'e', 
    'x', 'C', 'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\027', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 
    'o', 'n', 's', 't', 'r', 'a', 'i', 'n', 't', '\020', '\030', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'C', 'o', 
    'm', 'm', 'e', 'n', 't', '\020', '\031', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'u', 'm', 'n', 
    'T', 'y', 'p', 'e', '\020', '\032', '\022', ' ', '\n', '\034', 'A', 'T', '_', 'A', 'l', 't', 'e', 'r', 'C', 'o', 'l', 'u', 'm', 'n', 'G', 
    'e', 'n', 'e', 'r', 'i', 'c', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '\033', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'C', 'h', 'a', 
    'n', 'g', 'e', 'O', 'w', 'n', 'e', 'r', '\020', '\034', '\022', '\020', '\n', '\014', 'A', 'T', '_', 'C', 'l', 'u', 's', 't', 'e', 'r', 'O', 
    'n', '\020', '\035', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'C', 'l', 'u', 's', 't', 'e', 'r', '\020', '\036', '\022', '\020', 
    '\n', '\014', 'A', 'T', '_', 'S', 'e', 't', 'L', 'o', 'g', 'g', 'e', 'd', '\020', '\037', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'S', 'e', 
    't', 'U', 'n', 'L', 'o', 'g', 'g', 'e', 'd', '\020', ' ', '\022', '\017', '\n', '\013', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'O', 'i', 'd', 
    's', '\020', '!', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'S', 'e', 't', 'A', 'c', 'c', 'e', 's', 's', 'M', 'e', 't', 'h', 'o', 'd', 
    '\020', '\"', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'T', 'a', 'b', 'l', 'e', 'S', 'p', 'a', 'c', 'e', '\020', '#', '\022', 
    '\024', '\n', '\020', 'A', 'T', '_', 'S', 'e', 't', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '$', '\022', '\026', '\n', '\022', 
    'A', 'T', '_', 'R', 'e', 's', 'e', 't', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '%', '\022', '\030', '\n', '\024', 'A', 
    'T', '_', 'R', 'e', 'p', 'l', 'a', 'c', 'e', 'R', 'e', 'l', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '&', '\022', '\021', '\n', '\r', 
    'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', '\020', '\'', '\022', '\027', '\n', '\023', 'A', 'T', '_', 'E', 'n', 'a', 
    'b', 'l', 'e', 'A', 'l', 'w', 'a', 'y', 's', 'T', 'r', 'i', 'g', '\020', '(', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'E', 'n', 'a', 
    'b', 'l', 'e', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'T', 'r', 'i', 'g', '\020', ')', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'i', 
    's', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', '\020', '*', '\022', '\024', '\n', '\020', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'T', 
    'r', 'i', 'g', 'A', 'l', 'l', '\020', '+', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 
    'g', 'A', 'l', 'l', '\020', ',', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', 'U', 's', 
    'e', 'r', '\020', '-', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'T', 'r', 'i', 'g', 'U', 's', 'e', 
    'r', '\020', '.', '\022', '\021', '\n', '\r', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 'e', '\020', '/', '\022', '\027', '\n', 
    '\023', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'A', 'l', 'w', 'a', 'y', 's', 'R', 'u', 'l', 'e', '\020', '0', '\022', '\030', '\n', 
    '\024', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 'R', 'u', 'l', 'e', '\020', '1', '\022', '\022', 
    '\n', '\016', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 'R', 'u', 'l', 'e', '\020', '2', '\022', '\021', '\n', '\r', 'A', 'T', '_', 
    'A', 'd', 'd', 'I', 'n', 'h', 'e', 'r', 'i', 't', '\020', '3', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'I', 'n', 
    'h', 'e', 'r', 'i', 't', '\020', '4', '\022', '\014', '\n', '\010', 'A', 'T', '_', 'A', 'd', 'd', 'O', 'f', '\020', '5', '\022', '\r', '\n', '\t', 
    'A', 'T', '_', 'D', 'r', 'o', 'p', 'O', 'f', '\020', '6', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 'p', 'l', 'i', 'c', 'a', 
    'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', '7', '\022', '\030', '\n', '\024', 'A', 'T', '_', 'E', 'n', 'a', 'b', 'l', 'e', 'R', 'o', 
    'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', '8', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'D', 'i', 's', 'a', 'b', 'l', 'e', 
    'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', '9', '\022', '\027', '\n', '\023', 'A', 'T', '_', 'F', 'o', 'r', 'c', 'e', 
    'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', ':', '\022', '\031', '\n', '\025', 'A', 'T', '_', 'N', 'o', 'F', 'o', 'r', 
    'c', 'e', 'R', 'o', 'w', 'S', 'e', 'c', 'u', 'r', 'i', 't', 'y', '\020', ';', '\022', '\025', '\n', '\021', 'A', 'T', '_', 'G', 'e', 'n', 
    'e', 'r', 'i', 'c', 'O', 'p', 't', 'i', 'o', 'n', 's', '\020', '<', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'A', 't', 't', 'a', 'c', 
    'h', 'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '\020', '=', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'D', 'e', 't', 'a', 'c', 'h', 
    'P', 'a', 'r', 't', 'i', 't', 'i', 'o', 'n', '\020', '>', '\022', '\036', '\n', '\032', 'A', 'T', '_', 'D', 'e', 't', 'a', 'c', 'h', 'P', 
    'a', 'r', 't', 'i', 't', 'i', 'o', 'n', 'F', 'i', 'n', 'a', 'l', 'i', 'z', 'e', '\020', '?', '\022', '\022', '\n', '\016', 'A', 'T', '_', 
    'A', 'd', 'd', 'I', 'd', 'e', 'n', 't', 'i', 't', 'y', '\020', '@', '\022', '\022', '\n', '\016', 'A', 'T', '_', 'S', 'e', 't', 'I', 'd', 
    'e', 'n', 't', 'i', 't', 'y', '\020', 'A', '\022', '\023', '\n', '\017', 'A', 'T', '_', 'D', 'r', 'o', 'p', 'I', 'd', 'e', 'n', 't', 'i', 
    't', 'y', '\020', 'B', '\022', '\026', '\n', '\022', 'A', 'T', '_', 'R', 'e', 'A', 'd', 'd', 'S', 't', 'a', 't', 'i', 's', 't', 'i', 'c', 
    's', '\020', 'C', '*', '\200', '\001', '\n', '\017', 'G', 'r', 'a', 'n', 't', 'T', 'a', 'r', 'g', 'e', 't', 'T', 'y', 'p', 'e', '\022', '\037', 
    '\n', '\033', 'G', 'R', 'A', 'N', 'T', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 
    'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'O', 'B', 'J', 'E', 
    'C', 'T', '\020', '\001', '\022', '\034', '\n', '\030', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'A', 'L', 'L', '_', 'I', 'N', 
    '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\002', '\022', '\027', '\n', '\023', 'A', 'C', 'L', '_', 'T', 'A', 'R', 'G', 'E', 'T', '_', 'D', 
    'E', 'F', 'A', 'U', 'L', 'T', 'S', '\020', '\003', '*', '\244', '\001', '\n', '\017', 'V', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 'S', 'e', 't', 
    'K', 'i', 'n', 'd', '\022', '\037', '\n', '\033', 'V', 'A', 'R', 'I', 'A', 'B', 'L', 'E', '_', 'S', 'E', 'T', '_', 'K', 'I', 'N', 'D', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'V', 
    'A', 'L', 'U', 'E', '\020', '\001', '\022', '\023', '\n', '\017', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 
    '\020', '\002', '\022', '\023', '\n', '\017', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '\020', '\003', '\022', '\021', 
    '\n', '\r', 'V', 'A', 'R', '_', 'S', 'E', 'T', '_', 'M', 'U', 'L', 'T', 'I', '\020', '\004', '\022', '\r', '\n', '\t', 'V', 'A', 'R', '_', 
    'R', 'E', 'S', 'E', 'T', '\020', '\005', '\022', '\021', '\n', '\r', 'V', 'A', 'R', '_', 'R', 'E', 'S', 'E', 'T', '_', 'A', 'L', 'L', '\020', 
    '\006', '*', '\337', '\002', '\n', '\n', 'C', 'o', 'n', 's', 't', 'r', 'T', 'y', 'p', 'e', '\022', '\031', '\n', '\025', 'C', 'O', 'N', 'S', 'T', 
    'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'C', 'O', 'N', 
    'S', 'T', 'R', '_', 'N', 'U', 'L', 'L', '\020', '\001', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'N', 'O', 'T', 'N', 
    'U', 'L', 'L', '\020', '\002', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\003', 
    '\022', '\023', '\n', '\017', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '\020', '\004', '\022', '\024', '\n', '\020', 
    'C', 'O', 'N', 'S', 'T', 'R', '_', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\005', '\022', '\020', '\n', '\014', 'C', 'O', 'N', 
    'S', 'T', 'R', '_', 'C', 'H', 'E', 'C', 'K', '\020', '\006', '\022', '\022', '\n', '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'P', 'R', 'I', 
    'M', 'A', 'R', 'Y', '\020', '\007', '\022', '\021', '\n', '\r', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'U', 'N', 'I', 'Q', 'U', 'E', '\020', '\010', 
    '\022', '\024', '\n', '\020', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'E', 'X', 'C', 'L', 'U', 'S', 'I', 'O', 'N', '\020', '\t', '\022', '\022', '\n', 
    '\016', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'F', 'O', 'R', 'E', 'I', 'G', 'N', '\020', '\n', '\022', '\032', '\n', '\026', 'C', 'O', 'N', 'S', 
    'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', '\020', '\013', '\022', '\036', '\n', '\032', 'C', 
    'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'N', 'O', 'T', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', 
    '\020', '\014', '\022', '\030', '\n', '\024', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'D', 'E', 'F', 'E', 'R', 'R', 'E', 
    'D', '\020', '\r', '\022', '\031', '\n', '\025', 'C', 'O', 'N', 'S', 'T', 'R', '_', 'A', 'T', 'T', 'R', '_', 'I', 'M', 'M', 'E', 'D', 'I', 
    'A', 'T', 'E', '\020', '\016', '*', '\234', '\001', '\n', '\027', 'I', 'm', 'p', 'o', 'r', 't', 'F', 'o', 'r', 'e', 'i', 'g', 'n', 'S', 'c', 
    'h', 'e', 'm', 'a', 'T', 'y', 'p', 'e', '\022', '(', '\n', '$', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'F', 'O', 'R', 'E', 'I', 'G', 
    'N', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', 
    '\022', '\031', '\n', '\025', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'A', 'L', 'L', 
    '\020', '\001', '\022', '\036', '\n', '\032', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '_', 'L', 
    'I', 'M', 'I', 'T', '_', 'T', 'O', '\020', '\002', '\022', '\034', '\n', '\030', 'F', 'D', 'W', '_', 'I', 'M', 'P', 'O', 'R', 'T', '_', 'S', 
    'C', 'H', 'E', 'M', 'A', '_', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\003', '*', 'f', '\n', '\014', 'R', 'o', 'l', 'e', 'S', 't', 'm', 
    't', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 'R', 'O', 'L', 'E', '_', 'S', 'T', 'M', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 
    'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'R', 'O', 
    'L', 'E', '\020', '\001', '\022', '\021', '\n', '\r', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\002', '\022', '\022', 
    '\n', '\016', 'R', 'O', 'L', 'E', 'S', 'T', 'M', 'T', '_', 'G', 'R', 'O', 'U', 'P', '\020', '\003', '*', '~', '\n', '\016', 'F', 'e', 't', 
    'c', 'h', 'D', 'i', 'r', 'e', 'c', 't', 'i', 'o', 'n', '\022', '\035', '\n', '\031', 'F', 'E', 'T', 'C', 'H', '_', 'D', 'I', 'R', 'E', 
    'C', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'F', 'E', 'T', 'C', 
    'H', '_', 'F', 'O', 'R', 'W', 'A', 'R', 'D', '\020', '\001', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'B', 'A', 'C', 'K', 
    'W', 'A', 'R', 'D', '\020', '\002', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'A', 'B', 'S', 'O', 'L', 'U', 'T', 'E', '\020', 
    '\003', '\022', '\022', '\n', '\016', 'F', 'E', 'T', 'C', 'H', '_', 'R', 'E', 'L', 'A', 'T', 'I', 'V', 'E', '\020', '\004', '*', '\302', '\001', '\n', 
    '\025', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'P', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', 'M', 'o', 'd', 'e', '\022', '%', '\n', 
    '!', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '_', 'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R', '_', 'M', 'O', 'D', 'E', '_', 
    'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', 
    '_', 'I', 'N', '\020', '\001', '\022', '\022', '\n', '\016', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'O', 'U', 'T', '\020', '\002', 
    '\022', '\024', '\n', '\020', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'I', 'N', 'O', 'U', 'T', '\020', '\003', '\022', '\027', '\n', 
    '\023', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'V', 'A', 'R', 'I', 'A', 'D', 'I', 'C', '\020', '\004', '\022', '\024', '\n', 
    '\020', 'F', 'U', 'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\005', '\022', '\026', '\n', '\022', 'F', 'U', 
    'N', 'C', '_', 'P', 'A', 'R', 'A', 'M', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\006', '*', '\276', '\002', '\n', '\023', 'T', 'r', 
    'a', 'n', 's', 'a', 'c', 't', 'i', 'o', 'n', 'S', 't', 'm', 't', 'K', 'i', 'n', 'd', '\022', '#', '\n', '\037', 'T', 'R', 'A', 'N', 
    'S', 'A', 'C', 'T', 'I', 'O', 'N', '_', 'S', 'T', 'M', 'T', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
    'E', 'D', '\020', '\000', '\022', '\024', '\n', '\020', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'B', 'E', 'G', 'I', 'N', '\020', 
    '\001', '\022', '\024', '\n', '\020', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'S', 'T', 'A', 'R', 'T', '\020', '\002', '\022', '\025', 
    '\n', '\021', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'C', 'O', 'M', 'M', 'I', 'T', '\020', '\003', '\022', '\027', '\n', '\023', 
    'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '\020', '\004', '\022', '\030', '\n', '\024', 
    'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'S', 'A', 'V', 'E', 'P', 'O', 'I', 'N', 'T', '\020', '\005', '\022', '\026', '\n', 
    '\022', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '\020', '\006', '\022', '\032', '\n', '\026', 
    'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '_', 'T', 'O', '\020', '\007', '\022', 
    '\026', '\n', '\022', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'P', 'R', 'E', 'P', 'A', 'R', 'E', '\020', '\010', '\022', '\036', 
    '\n', '\032', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'P', 'R', 'E', 'P', 'A', 
    'R', 'E', 'D', '\020', '\t', '\022', ' ', '\n', '\034', 'T', 'R', 'A', 'N', 'S', '_', 'S', 'T', 'M', 'T', '_', 'R', 'O', 'L', 'L', 'B', 
    'A', 'C', 'K', '_', 'P', 'R', 'E', 'P', 'A', 'R', 'E', 'D', '\020', '\n', '*', 'z', '\n', '\017', 'V', 'i', 'e', 'w', 'C', 'h', 'e', 
    'c', 'k', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\037', '\n', '\033', 'V', 'I', 'E', 'W', '_', 'C', 'H', 'E', 'C', 'K', '_', 'O', 'P', 
    'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'N', 'O', '_', 'C', 'H', 
    'E', 'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\001', '\022', '\026', '\n', '\022', 'L', 'O', 'C', 'A', 'L', '_', 'C', 'H', 'E', 
    'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\002', '\022', '\031', '\n', '\025', 'C', 'A', 'S', 'C', 'A', 'D', 'E', 'D', '_', 'C', 
    'H', 'E', 'C', 'K', '_', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\003', '*', 'v', '\n', '\013', 'D', 'i', 's', 'c', 'a', 'r', 'd', 'M', 
    'o', 'd', 'e', '\022', '\032', '\n', '\026', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'M', 'O', 'D', 'E', '_', 'U', 'N', 'D', 'E', 'F', 
    'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'A', 'L', 'L', '\020', '\001', '\022', '\021', 
    '\n', '\r', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '_', 'P', 'L', 'A', 'N', 'S', '\020', '\002', '\022', '\025', '\n', '\021', 'D', 'I', 'S', 'C', 
    'A', 'R', 'D', '_', 'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', 'S', '\020', '\003', '\022', '\020', '\n', '\014', 'D', 'I', 'S', 'C', 'A', 'R', 
    'D', '_', 'T', 'E', 'M', 'P', '\020', '\004', '*', '\275', '\001', '\n', '\021', 'R', 'e', 'i', 'n', 'd', 'e', 'x', 'O', 'b', 'j', 'e', 'c', 
    't', 'T', 'y', 'p', 'e', '\022', '!', '\n', '\035', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 
    'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'R', 'E', 'I', 'N', 'D', 'E', 
    'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'I', 'N', 'D', 'E', 'X', '\020', '\001', '\022', '\030', '\n', '\024', 'R', 'E', 'I', 'N', 'D', 
    'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\002', '\022', '\031', '\n', '\025', 'R', 'E', 'I', 'N', 
    'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\003', '\022', '\031', '\n', '\025', 'R', 'E', 
    'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'S', 'Y', 'S', 'T', 'E', 'M', '\020', '\004', '\022', '\033', '\n', '\027', 
    'R', 'E', 'I', 'N', 'D', 'E', 'X', '_', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'D', 'A', 'T', 'A', 'B', 'A', 'S', 'E', '\020', '\005', 
    '*', '\357', '\001', '\n', '\021', 'A', 'l', 't', 'e', 'r', 'T', 'S', 'C', 'o', 'n', 'f', 'i', 'g', 'T', 'y', 'p', 'e', '\022', '!', '\n', 
    '\035', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 
    'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', 
    '_', 'A', 'D', 'D', '_', 'M', 'A', 'P', 'P', 'I', 'N', 'G', '\020', '\001', '\022', '*', '\n', '&', 'A', 'L', 'T', 'E', 'R', '_', 'T', 
    'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'A', 'L', 'T', 'E', 'R', '_', 'M', 'A', 'P', 'P', 'I', 'N', 'G', '_', 'F', 'O', 'R', 
    '_', 'T', 'O', 'K', 'E', 'N', '\020', '\002', '\022', '\037', '\n', '\033', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 
    'G', '_', 'R', 'E', 'P', 'L', 'A', 'C', 'E', '_', 'D', 'I', 'C', 'T', '\020', '\003', '\022', ')', '\n', '%', 'A', 'L', 'T', 'E', 'R', 
    '_', 'T', 'S', 'C', 'O', 'N', 'F', 'I', 'G', '_', 'R', 'E', 'P', 'L', 'A', 'C', 'E', '_', 'D', 'I', 'C', 'T', '_', 'F', 'O', 
    'R', '_', 'T', 'O', 'K', 'E', 'N', '\020', '\004', '\022', '\037', '\n', '\033', 'A', 'L', 'T', 'E', 'R', '_', 'T', 'S', 'C', 'O', 'N', 'F', 
    'I', 'G', '_', 'D', 'R', 'O', 'P', '_', 'M', 'A', 'P', 'P', 'I', 'N', 'G', '\020', '\005', '*', '\312', '\001', '\n', '\026', 'P', 'u', 'b', 
    'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'O', 'b', 'j', 'S', 'p', 'e', 'c', 'T', 'y', 'p', 'e', '\022', '\'', '\n', '#', 'P', 'U', 
    'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'O', 'B', 'J', '_', 'S', 'P', 'E', 'C', '_', 'T', 'Y', 'P', 'E', '_', 'U', 
    'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', 
    'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\001', '\022', '#', '\n', '\037', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 
    'N', 'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', 'S', '_', 'I', 'N', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\002', '\022', '\'', 
    '\n', '#', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', 'O', 'B', 'J', '_', 'T', 'A', 'B', 'L', 'E', 'S', '_', 'I', 
    'N', '_', 'C', 'U', 'R', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\003', '\022', '\037', '\n', '\033', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 
    'T', 'I', 'O', 'N', 'O', 'B', 'J', '_', 'C', 'O', 'N', 'T', 'I', 'N', 'U', 'A', 'T', 'I', 'O', 'N', '\020', '\004', '*', 'z', '\n', 
    '\026', 'A', 'l', 't', 'e', 'r', 'P', 'u', 'b', 'l', 'i', 'c', 'a', 't', 'i', 'o', 'n', 'A', 'c', 't', 'i', 'o', 'n', '\022', '&', 
    '\n', '\"', 'A', 'L', 'T', 'E', 'R', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '_', 'A', 'C', 'T', 'I', 'O', 
    'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'A', 'P', '_', 'A', 'd', 'd', 'O', 'b', 
    'j', 'e', 'c', 't', 's', '\020', '\001', '\022', '\022', '\n', '\016', 'A', 'P', '_', 'D', 'r', 'o', 'p', 'O', 'b', 'j', 'e', 'c', 't', 's', 
    '\020', '\002', '\022', '\021', '\n', '\r', 'A', 'P', '_', 'S', 'e', 't', 'O', 'b', 'j', 'e', 'c', 't', 's', '\020', '\003', '*', '\327', '\002', '\n', 
    '\025', 'A', 'l', 't', 'e', 'r', 'S', 'u', 'b', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n', 'T', 'y', 'p', 'e', '\022', '%', '\n', 
    '!', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', '_', 
    'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 
    'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'O', 'P', 'T', 'I', 'O', 'N', 'S', '\020', '\001', '\022', '!', '\n', '\035', 'A', 'L', 'T', 
    'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'C', 'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 
    'N', '\020', '\002', '\022', '&', '\n', '\"', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', 
    '_', 'S', 'E', 'T', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\003', '\022', '&', '\n', '\"', 'A', 'L', 'T', 
    'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'A', 'D', 'D', '_', 'P', 'U', 'B', 'L', 'I', 
    'C', 'A', 'T', 'I', 'O', 'N', '\020', '\004', '\022', '\'', '\n', '#', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 
    'P', 'T', 'I', 'O', 'N', '_', 'D', 'R', 'O', 'P', '_', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\005', '\022', 
    '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'R', 'E', 'F', 
    'R', 'E', 'S', 'H', '\020', '\006', '\022', '\036', '\n', '\032', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 
    'I', 'O', 'N', '_', 'E', 'N', 'A', 'B', 'L', 'E', 'D', '\020', '\007', '\022', '\033', '\n', '\027', 'A', 'L', 'T', 'E', 'R', '_', 'S', 'U', 
    'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '_', 'S', 'K', 'I', 'P', '\020', '\010', '*', '\177', '\n', '\016', 'O', 'v', 'e', 'r', 
    'r', 'i', 'd', 'i', 'n', 'g', 'K', 'i', 'n', 'd', '\022', '\035', '\n', '\031', 'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '_', 
    'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'O', 'V', 'E', 'R', 'R', 
    'I', 'D', 'I', 'N', 'G', '_', 'N', 'O', 'T', '_', 'S', 'E', 'T', '\020', '\001', '\022', '\031', '\n', '\025', 'O', 'V', 'E', 'R', 'R', 'I', 
    'D', 'I', 'N', 'G', '_', 'U', 'S', 'E', 'R', '_', 'V', 'A', 'L', 'U', 'E', '\020', '\002', '\022', '\033', '\n', '\027', 'O', 'V', 'E', 'R', 
    'R', 'I', 'D', 'I', 'N', 'G', '_', 'S', 'Y', 'S', 'T', 'E', 'M', '_', 'V', 'A', 'L', 'U', 'E', '\020', '\003', '*', '\214', '\001', '\n', 
    '\016', 'O', 'n', 'C', 'o', 'm', 'm', 'i', 't', 'A', 'c', 't', 'i', 'o', 'n', '\022', '\036', '\n', '\032', 'O', 'N', '_', 'C', 'O', 'M', 
    'M', 'I', 'T', '_', 'A', 'C', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', 
    '\r', 'O', 'N', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'N', 'O', 'O', 'P', '\020', '\001', '\022', '\032', '\n', '\026', 'O', 'N', 'C', 'O', 'M', 
    'M', 'I', 'T', '_', 'P', 'R', 'E', 'S', 'E', 'R', 'V', 'E', '_', 'R', 'O', 'W', 'S', '\020', '\002', '\022', '\030', '\n', '\024', 'O', 'N', 
    'C', 'O', 'M', 'M', 'I', 'T', '_', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'R', 'O', 'W', 'S', '\020', '\003', '\022', '\021', '\n', '\r', 'O', 
    'N', 'C', 'O', 'M', 'M', 'I', 'T', '_', 'D', 'R', 'O', 'P', '\020', '\004', '*', 'T', '\n', '\r', 'T', 'a', 'b', 'l', 'e', 'F', 'u', 
    'n', 'c', 'T', 'y', 'p', 'e', '\022', '\035', '\n', '\031', 'T', 'A', 'B', 'L', 'E', '_', 'F', 'U', 'N', 'C', '_', 'T', 'Y', 'P', 'E', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'T', 'F', 'T', '_', 'X', 'M', 'L', 'T', 'A', 
    'B', 'L', 'E', '\020', '\001', '\022', '\022', '\n', '\016', 'T', 'F', 'T', '_', 'J', 'S', 'O', 'N', '_', 'T', 'A', 'B', 'L', 'E', '\020', '\002', 
    '*', 'o', '\n', '\t', 'P', 'a', 'r', 'a', 'm', 'K', 'i', 'n', 'd', '\022', '\030', '\n', '\024', 'P', 'A', 'R', 'A', 'M', '_', 'K', 'I', 
    'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', '\014', 'P', 'A', 'R', 'A', 'M', '_', 'E', 
    'X', 'T', 'E', 'R', 'N', '\020', '\001', '\022', '\016', '\n', '\n', 'P', 'A', 'R', 'A', 'M', '_', 'E', 'X', 'E', 'C', '\020', '\002', '\022', '\021', 
    '\n', '\r', 'P', 'A', 'R', 'A', 'M', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\003', '\022', '\023', '\n', '\017', 'P', 'A', 'R', 'A', 
    'M', '_', 'M', 'U', 'L', 'T', 'I', 'E', 'X', 'P', 'R', '\020', '\004', '*', '\216', '\001', '\n', '\017', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 
    'n', 'C', 'o', 'n', 't', 'e', 'x', 't', '\022', '\036', '\n', '\032', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'C', 'O', 'N', 'T', 
    'E', 'X', 'T', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'C', 'O', 'E', 'R', 'C', 'I', 
    'O', 'N', '_', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', '\020', '\001', '\022', '\027', '\n', '\023', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', 
    '_', 'A', 'S', 'S', 'I', 'G', 'N', 'M', 'E', 'N', 'T', '\020', '\002', '\022', '\024', '\n', '\020', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', 
    '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '\020', '\003', '\022', '\025', '\n', '\021', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'E', 'X', 
    'P', 'L', 'I', 'C', 'I', 'T', '\020', '\004', '*', '\220', '\001', '\n', '\014', 'C', 'o', 'e', 'r', 'c', 'i', 'o', 'n', 'F', 'o', 'r', 'm', 
    '\022', '\033', '\n', '\027', 'C', 'O', 'E', 'R', 'C', 'I', 'O', 'N', '_', 'F', 'O', 'R', 'M', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
    'E', 'D', '\020', '\000', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'E', 'X', 'P', 'L', 'I', 'C', 'I', 'T', '_', 'C', 
    'A', 'L', 'L', '\020', '\001', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'E', 'X', 'P', 'L', 'I', 'C', 'I', 'T', '_', 
    'C', 'A', 'S', 'T', '\020', '\002', '\022', '\030', '\n', '\024', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', 
    '_', 'C', 'A', 'S', 'T', '\020', '\003', '\022', '\025', '\n', '\021', 'C', 'O', 'E', 'R', 'C', 'E', '_', 'S', 'Q', 'L', '_', 'S', 'Y', 'N', 
    'T', 'A', 'X', '\020', '\004', '*', 'U', '\n', '\014', 'B', 'o', 'o', 'l', 'E', 'x', 'p', 'r', 'T', 'y', 'p', 'e', '\022', '\034', '\n', '\030', 
    'B', 'O', 'O', 'L', '_', 'E', 'X', 'P', 'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', 
    '\000', '\022', '\014', '\n', '\010', 'A', 'N', 'D', '_', 'E', 'X', 'P', 'R', '\020', '\001', '\022', '\013', '\n', '\007', 'O', 'R', '_', 'E', 'X', 'P', 
    'R', '\020', '\002', '\022', '\014', '\n', '\010', 'N', 'O', 'T', '_', 'E', 'X', 'P', 'R', '\020', '\003', '*', '\305', '\001', '\n', '\013', 'S', 'u', 'b', 
    'L', 'i', 'n', 'k', 'T', 'y', 'p', 'e', '\022', '\033', '\n', '\027', 'S', 'U', 'B', '_', 'L', 'I', 'N', 'K', '_', 'T', 'Y', 'P', 'E', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'E', 'X', 'I', 'S', 'T', 'S', '_', 'S', 'U', 
    'B', 'L', 'I', 'N', 'K', '\020', '\001', '\022', '\017', '\n', '\013', 'A', 'L', 'L', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\002', '\022', 
    '\017', '\n', '\013', 'A', 'N', 'Y', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\003', '\022', '\026', '\n', '\022', 'R', 'O', 'W', 'C', 'O', 
    'M', 'P', 'A', 'R', 'E', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\004', '\022', '\020', '\n', '\014', 'E', 'X', 'P', 'R', '_', 'S', 
    'U', 'B', 'L', 'I', 'N', 'K', '\020', '\005', '\022', '\025', '\n', '\021', 'M', 'U', 'L', 'T', 'I', 'E', 'X', 'P', 'R', '_', 'S', 'U', 'B', 
    'L', 'I', 'N', 'K', '\020', '\006', '\022', '\021', '\n', '\r', 'A', 'R', 'R', 'A', 'Y', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\007', 
    '\022', '\017', '\n', '\013', 'C', 'T', 'E', '_', 'S', 'U', 'B', 'L', 'I', 'N', 'K', '\020', '\010', '*', '\242', '\001', '\n', '\016', 'R', 'o', 'w', 
    'C', 'o', 'm', 'p', 'a', 'r', 'e', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\032', 'R', 'O', 'W', '_', 'C', 'O', 'M', 'P', 'A', 'R', 
    'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 
    'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'L', 'T', '\020', '\001', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 
    'E', '_', 'L', 'E', '\020', '\002', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'E', 'Q', '\020', '\003', 
    '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'G', 'E', '\020', '\004', '\022', '\021', '\n', '\r', 'R', 'O', 
    'W', 'C', 'O', 'M', 'P', 'A', 'R', 'E', '_', 'G', 'T', '\020', '\005', '\022', '\021', '\n', '\r', 'R', 'O', 'W', 'C', 'O', 'M', 'P', 'A', 
    'R', 'E', '_', 'N', 'E', '\020', '\006', '*', 'C', '\n', '\010', 'M', 'i', 'n', 'M', 'a', 'x', 'O', 'p', '\022', '\030', '\n', '\024', 'M', 'I', 
    'N', '_', 'M', 'A', 'X', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'I', 
    'S', '_', 'G', 'R', 'E', 'A', 'T', 'E', 'S', 'T', '\020', '\001', '\022', '\014', '\n', '\010', 'I', 'S', '_', 'L', 'E', 'A', 'S', 'T', '\020', 
    '\002', '*', '\255', '\003', '\n', '\022', 'S', 'Q', 'L', 'V', 'a', 'l', 'u', 'e', 'F', 'u', 'n', 'c', 't', 'i', 'o', 'n', 'O', 'p', '\022', 
    '\"', '\n', '\036', 'S', 'Q', 'L', 'V', 'A', 'L', 'U', 'E', '_', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', '_', 'O', 'P', '_', 'U', 
    'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 
    'N', 'T', '_', 'D', 'A', 'T', 'E', '\020', '\001', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 
    'T', '_', 'T', 'I', 'M', 'E', '\020', '\002', '\022', '\030', '\n', '\024', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', 
    '_', 'T', 'I', 'M', 'E', '_', 'N', '\020', '\003', '\022', '\033', '\n', '\027', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 
    'T', '_', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\004', '\022', '\035', '\n', '\031', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 
    'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '_', 'N', '\020', '\005', '\022', '\023', '\n', '\017', 'S', 'V', 
    'F', 'O', 'P', '_', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '\020', '\006', '\022', '\025', '\n', '\021', 'S', 'V', 'F', 'O', 'P', '_', 
    'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '_', 'N', '\020', '\007', '\022', '\030', '\n', '\024', 'S', 'V', 'F', 'O', 'P', '_', 'L', 'O', 
    'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\010', '\022', '\032', '\n', '\026', 'S', 'V', 'F', 'O', 'P', '_', 'L', 
    'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '_', 'N', '\020', '\t', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 
    'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\n', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', 
    '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', '\020', '\013', '\022', '\016', '\n', '\n', 'S', 'V', 'F', 'O', 'P', '_', 
    'U', 'S', 'E', 'R', '\020', '\014', '\022', '\026', '\n', '\022', 'S', 'V', 'F', 'O', 'P', '_', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 
    'S', 'E', 'R', '\020', '\r', '\022', '\031', '\n', '\025', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'C', 'A', 
    'T', 'A', 'L', 'O', 'G', '\020', '\016', '\022', '\030', '\n', '\024', 'S', 'V', 'F', 'O', 'P', '_', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 
    'S', 'C', 'H', 'E', 'M', 'A', '\020', '\017', '*', '\262', '\001', '\n', '\t', 'X', 'm', 'l', 'E', 'x', 'p', 'r', 'O', 'p', '\022', '\031', '\n', 
    '\025', 'X', 'M', 'L', '_', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', 
    '\020', '\n', '\014', 'I', 'S', '_', 'X', 'M', 'L', 'C', 'O', 'N', 'C', 'A', 'T', '\020', '\001', '\022', '\021', '\n', '\r', 'I', 'S', '_', 'X', 
    'M', 'L', 'E', 'L', 'E', 'M', 'E', 'N', 'T', '\020', '\002', '\022', '\020', '\n', '\014', 'I', 'S', '_', 'X', 'M', 'L', 'F', 'O', 'R', 'E', 
    'S', 'T', '\020', '\003', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'X', 'M', 'L', 'P', 'A', 'R', 'S', 'E', '\020', '\004', '\022', '\014', '\n', '\010', 
    'I', 'S', '_', 'X', 'M', 'L', 'P', 'I', '\020', '\005', '\022', '\016', '\n', '\n', 'I', 'S', '_', 'X', 'M', 'L', 'R', 'O', 'O', 'T', '\020', 
    '\006', '\022', '\023', '\n', '\017', 'I', 'S', '_', 'X', 'M', 'L', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', '\020', '\007', '\022', '\017', '\n', 
    '\013', 'I', 'S', '_', 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', '\020', '\010', '*', ']', '\n', '\r', 'X', 'm', 'l', 'O', 'p', 't', 'i', 
    'o', 'n', 'T', 'y', 'p', 'e', '\022', '\035', '\n', '\031', 'X', 'M', 'L', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'T', 'Y', 'P', 'E', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'X', 'M', 'L', 'O', 'P', 'T', 'I', 'O', 'N', 
    '_', 'D', 'O', 'C', 'U', 'M', 'E', 'N', 'T', '\020', '\001', '\022', '\025', '\n', '\021', 'X', 'M', 'L', 'O', 'P', 'T', 'I', 'O', 'N', '_', 
    'C', 'O', 'N', 'T', 'E', 'N', 'T', '\020', '\002', '*', 't', '\n', '\014', 'J', 's', 'o', 'n', 'E', 'n', 'c', 'o', 'd', 'i', 'n', 'g', 
    '\022', '\033', '\n', '\027', 'J', 'S', 'O', 'N', '_', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
    'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'J', 'S', '_', 'E', 'N', 'C', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', 
    '\017', '\n', '\013', 'J', 'S', '_', 'E', 'N', 'C', '_', 'U', 'T', 'F', '8', '\020', '\002', '\022', '\020', '\n', '\014', 'J', 'S', '_', 'E', 'N', 
    'C', '_', 'U', 'T', 'F', '1', '6', '\020', '\003', '\022', '\020', '\n', '\014', 'J', 'S', '_', 'E', 'N', 'C', '_', 'U', 'T', 'F', '3', '2', 
    '\020', '\004', '*', 'p', '\n', '\016', 'J', 's', 'o', 'n', 'F', 'o', 'r', 'm', 'a', 't', 'T', 'y', 'p', 'e', '\022', '\036', '\n', '\032', 'J', 
    'S', 'O', 'N', '_', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
    '\020', '\000', '\022', '\025', '\n', '\021', 'J', 'S', '_', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', 
    '\022', '\022', '\n', '\016', 'J', 'S', '_', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'J', 'S', 'O', 'N', '\020', '\002', '\022', '\023', '\n', '\017', 'J', 
    'S', '_', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'J', 'S', 'O', 'N', 'B', '\020', '\003', '*', '\350', '\001', '\n', '\023', 'J', 's', 'o', 'n', 
    'C', 'o', 'n', 's', 't', 'r', 'u', 'c', 't', 'o', 'r', 'T', 'y', 'p', 'e', '\022', '#', '\n', '\037', 'J', 'S', 'O', 'N', '_', 'C', 
    'O', 'N', 'S', 'T', 'R', 'U', 'C', 'T', 'O', 'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
    '\020', '\000', '\022', '\026', '\n', '\022', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'O', 'B', 'J', 'E', 'C', 'T', '\020', 
    '\001', '\022', '\025', '\n', '\021', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'A', 'R', 'R', 'A', 'Y', '\020', '\002', '\022', 
    '\031', '\n', '\025', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'O', 'B', 'J', 'E', 'C', 'T', 'A', 'G', 'G', '\020', 
    '\003', '\022', '\030', '\n', '\024', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'A', 'R', 'R', 'A', 'Y', 'A', 'G', 'G', 
    '\020', '\004', '\022', '\025', '\n', '\021', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'P', 'A', 'R', 'S', 'E', '\020', '\005', 
    '\022', '\026', '\n', '\022', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'S', 'C', 'A', 'L', 'A', 'R', '\020', '\006', '\022', 
    '\031', '\n', '\025', 'J', 'S', 'C', 'T', 'O', 'R', '_', 'J', 'S', 'O', 'N', '_', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', '\020', 
    '\007', '*', 'z', '\n', '\r', 'J', 's', 'o', 'n', 'V', 'a', 'l', 'u', 'e', 'T', 'y', 'p', 'e', '\022', '\035', '\n', '\031', 'J', 'S', 'O', 
    'N', '_', 'V', 'A', 'L', 'U', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', 
    '\017', '\n', '\013', 'J', 'S', '_', 'T', 'Y', 'P', 'E', '_', 'A', 'N', 'Y', '\020', '\001', '\022', '\022', '\n', '\016', 'J', 'S', '_', 'T', 'Y', 
    'P', 'E', '_', 'O', 'B', 'J', 'E', 'C', 'T', '\020', '\002', '\022', '\021', '\n', '\r', 'J', 'S', '_', 'T', 'Y', 'P', 'E', '_', 'A', 'R', 
    'R', 'A', 'Y', '\020', '\003', '\022', '\022', '\n', '\016', 'J', 'S', '_', 'T', 'Y', 'P', 'E', '_', 'S', 'C', 'A', 'L', 'A', 'R', '\020', '\004', 
    '*', 's', '\n', '\013', 'J', 's', 'o', 'n', 'W', 'r', 'a', 'p', 'p', 'e', 'r', '\022', '\032', '\n', '\026', 'J', 'S', 'O', 'N', '_', 'W', 
    'R', 'A', 'P', 'P', 'E', 'R', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\016', '\n', '\n', 'J', 'S', 'W', 
    '_', 'U', 'N', 'S', 'P', 'E', 'C', '\020', '\001', '\022', '\014', '\n', '\010', 'J', 'S', 'W', '_', 'N', 'O', 'N', 'E', '\020', '\002', '\022', '\023', 
    '\n', '\017', 'J', 'S', 'W', '_', 'C', 'O', 'N', 'D', 'I', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\003', '\022', '\025', '\n', '\021', 'J', 'S', 
    'W', '_', 'U', 'N', 'C', 'O', 'N', 'D', 'I', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\004', '*', '\244', '\002', '\n', '\020', 'J', 's', 'o', 
    'n', 'B', 'e', 'h', 'a', 'v', 'i', 'o', 'r', 'T', 'y', 'p', 'e', '\022', ' ', '\n', '\034', 'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 
    'A', 'V', 'I', 'O', 'R', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\026', '\n', 
    '\022', 'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'N', 'U', 'L', 'L', '\020', '\001', '\022', '\027', '\n', '\023', 
    'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'E', 'R', 'R', 'O', 'R', '\020', '\002', '\022', '\027', '\n', '\023', 
    'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'E', 'M', 'P', 'T', 'Y', '\020', '\003', '\022', '\026', '\n', '\022', 
    'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'T', 'R', 'U', 'E', '\020', '\004', '\022', '\027', '\n', '\023', 'J', 
    'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'F', 'A', 'L', 'S', 'E', '\020', '\005', '\022', '\031', '\n', '\025', 'J', 
    'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\006', '\022', '\035', '\n', 
    '\031', 'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'E', 'M', 'P', 'T', 'Y', '_', 'A', 'R', 'R', 'A', 
    'Y', '\020', '\007', '\022', '\036', '\n', '\032', 'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 'O', 'R', '_', 'E', 'M', 'P', 'T', 
    'Y', '_', 'O', 'B', 'J', 'E', 'C', 'T', '\020', '\010', '\022', '\031', '\n', '\025', 'J', 'S', 'O', 'N', '_', 'B', 'E', 'H', 'A', 'V', 'I', 
    'O', 'R', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\t', '*', 'u', '\n', '\n', 'J', 's', 'o', 'n', 'E', 'x', 'p', 'r', 'O', 
    'p', '\022', '\032', '\n', '\026', 'J', 'S', 'O', 'N', '_', 'E', 'X', 'P', 'R', '_', 'O', 'P', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
    'E', 'D', '\020', '\000', '\022', '\022', '\n', '\016', 'J', 'S', 'O', 'N', '_', 'E', 'X', 'I', 'S', 'T', 'S', '_', 'O', 'P', '\020', '\001', '\022', 
    '\021', '\n', '\r', 'J', 'S', 'O', 'N', '_', 'Q', 'U', 'E', 'R', 'Y', '_', 'O', 'P', '\020', '\002', '\022', '\021', '\n', '\r', 'J', 'S', 'O', 
    'N', '_', 'V', 'A', 'L', 'U', 'E', '_', 'O', 'P', '\020', '\003', '\022', '\021', '\n', '\r', 'J', 'S', 'O', 'N', '_', 'T', 'A', 'B', 'L', 
    'E', '_', 'O', 'P', '\020', '\004', '*', 'J', '\n', '\014', 'N', 'u', 'l', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', '\022', '\034', '\n', 
    '\030', 'N', 'U', 'L', 'L', '_', 'T', 'E', 'S', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', 
    '\020', '\000', '\022', '\013', '\n', '\007', 'I', 'S', '_', 'N', 'U', 'L', 'L', '\020', '\001', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'N', 'O', 'T', 
    '_', 'N', 'U', 'L', 'L', '\020', '\002', '*', '\216', '\001', '\n', '\014', 'B', 'o', 'o', 'l', 'T', 'e', 's', 't', 'T', 'y', 'p', 'e', '\022', 
    '\034', '\n', '\030', 'B', 'O', 'O', 'L', '_', 'T', 'E', 'S', 'T', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 
    'E', 'D', '\020', '\000', '\022', '\013', '\n', '\007', 'I', 'S', '_', 'T', 'R', 'U', 'E', '\020', '\001', '\022', '\017', '\n', '\013', 'I', 'S', '_', 'N', 
    'O', 'T', '_', 'T', 'R', 'U', 'E', '\020', '\002', '\022', '\014', '\n', '\010', 'I', 'S', '_', 'F', 'A', 'L', 'S', 'E', '\020', '\003', '\022', '\020', 
    '\n', '\014', 'I', 'S', '_', 'N', 'O', 'T', '_', 'F', 'A', 'L', 'S', 'E', '\020', '\004', '\022', '\016', '\n', '\n', 'I', 'S', '_', 'U', 'N', 
    'K', 'N', 'O', 'W', 'N', '\020', '\005', '\022', '\022', '\n', '\016', 'I', 'S', '_', 'N', 'O', 'T', '_', 'U', 'N', 'K', 'N', 'O', 'W', 'N', 
    '\020', '\006', '*', '\224', '\001', '\n', '\016', 'M', 'e', 'r', 'g', 'e', 'M', 'a', 't', 'c', 'h', 'K', 'i', 'n', 'd', '\022', '\036', '\n', '\032', 
    'M', 'E', 'R', 'G', 'E', '_', 'M', 'A', 'T', 'C', 'H', '_', 'K', 'I', 'N', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 
    'D', '\020', '\000', '\022', '\026', '\n', '\022', 'M', 'E', 'R', 'G', 'E', '_', 'W', 'H', 'E', 'N', '_', 'M', 'A', 'T', 'C', 'H', 'E', 'D', 
    '\020', '\001', '\022', '$', '\n', ' ', 'M', 'E', 'R', 'G', 'E', '_', 'W', 'H', 'E', 'N', '_', 'N', 'O', 'T', '_', 'M', 'A', 'T', 'C', 
    'H', 'E', 'D', '_', 'B', 'Y', '_', 'S', 'O', 'U', 'R', 'C', 'E', '\020', '\002', '\022', '$', '\n', ' ', 'M', 'E', 'R', 'G', 'E', '_', 
    'W', 'H', 'E', 'N', '_', 'N', 'O', 'T', '_', 'M', 'A', 'T', 'C', 'H', 'E', 'D', '_', 'B', 'Y', '_', 'T', 'A', 'R', 'G', 'E', 
    'T', '\020', '\003', '*', '\243', '\001', '\n', '\007', 'C', 'm', 'd', 'T', 'y', 'p', 'e', '\022', '\026', '\n', '\022', 'C', 'M', 'D', '_', 'T', 'Y', 
    'P', 'E', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 'U', 'N', 'K', 
    'N', 'O', 'W', 'N', '\020', '\001', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'S', 'E', 'L', 'E', 'C', 'T', '\020', '\002', '\022', '\016', '\n', 
    '\n', 'C', 'M', 'D', '_', 'U', 'P', 'D', 'A', 'T', 'E', '\020', '\003', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'I', 'N', 'S', 'E', 
    'R', 'T', '\020', '\004', '\022', '\016', '\n', '\n', 'C', 'M', 'D', '_', 'D', 'E', 'L', 'E', 'T', 'E', '\020', '\005', '\022', '\r', '\n', '\t', 'C', 
    'M', 'D', '_', 'M', 'E', 'R', 'G', 'E', '\020', '\006', '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 'U', 'T', 'I', 'L', 'I', 'T', 'Y', 
    '\020', '\007', '\022', '\017', '\n', '\013', 'C', 'M', 'D', '_', 'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\010', '*', '\302', '\001', '\n', '\010', 'J', 
    'o', 'i', 'n', 'T', 'y', 'p', 'e', '\022', '\027', '\n', '\023', 'J', 'O', 'I', 'N', '_', 'T', 'Y', 'P', 'E', '_', 'U', 'N', 'D', 'E', 
    'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\016', '\n', '\n', 'J', 'O', 'I', 'N', '_', 'I', 'N', 'N', 'E', 'R', '\020', '\001', '\022', '\r', 
    '\n', '\t', 'J', 'O', 'I', 'N', '_', 'L', 'E', 'F', 'T', '\020', '\002', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 'N', '_', 'F', 'U', 'L', 
    'L', '\020', '\003', '\022', '\016', '\n', '\n', 'J', 'O', 'I', 'N', '_', 'R', 'I', 'G', 'H', 'T', '\020', '\004', '\022', '\r', '\n', '\t', 'J', 'O', 
    'I', 'N', '_', 'S', 'E', 'M', 'I', '\020', '\005', '\022', '\r', '\n', '\t', 'J', 'O', 'I', 'N', '_', 'A', 'N', 'T', 'I', '\020', '\006', '\022', 
    '\023', '\n', '\017', 'J', 'O', 'I', 'N', '_', 'R', 'I', 'G', 'H', 'T', '_', 'A', 'N', 'T', 'I', '\020', '\007', '\022', '\025', '\n', '\021', 'J', 
    'O', 'I', 'N', '_', 'U', 'N', 'I', 'Q', 'U', 'E', '_', 'O', 'U', 'T', 'E', 'R', '\020', '\010', '\022', '\025', '\n', '\021', 'J', 'O', 'I', 
    'N', '_', 'U', 'N', 'I', 'Q', 'U', 'E', '_', 'I', 'N', 'N', 'E', 'R', '\020', '\t', '*', 'g', '\n', '\013', 'A', 'g', 'g', 'S', 't', 
    'r', 'a', 't', 'e', 'g', 'y', '\022', '\032', '\n', '\026', 'A', 'G', 'G', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'U', 'N', 
    'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\r', '\n', '\t', 'A', 'G', 'G', '_', 'P', 'L', 'A', 'I', 'N', '\020', '\001', '\022', 
    '\016', '\n', '\n', 'A', 'G', 'G', '_', 'S', 'O', 'R', 'T', 'E', 'D', '\020', '\002', '\022', '\016', '\n', '\n', 'A', 'G', 'G', '_', 'H', 'A', 
    'S', 'H', 'E', 'D', '\020', '\003', '\022', '\r', '\n', '\t', 'A', 'G', 'G', '_', 'M', 'I', 'X', 'E', 'D', '\020', '\004', '*', 'r', '\n', '\010', 
    'A', 'g', 'g', 'S', 'p', 'l', 'i', 't', '\022', '\027', '\n', '\023', 'A', 'G', 'G', '_', 'S', 'P', 'L', 'I', 'T', '_', 'U', 'N', 'D', 
    'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'S', 'I', 'M', 'P', 
    'L', 'E', '\020', '\001', '\022', '\033', '\n', '\027', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'I', 'N', 'I', 'T', 'I', 'A', 'L', '_', 
    'S', 'E', 'R', 'I', 'A', 'L', '\020', '\002', '\022', '\033', '\n', '\027', 'A', 'G', 'G', 'S', 'P', 'L', 'I', 'T', '_', 'F', 'I', 'N', 'A', 
    'L', '_', 'D', 'E', 'S', 'E', 'R', 'I', 'A', 'L', '\020', '\003', '*', '\206', '\001', '\n', '\010', 'S', 'e', 't', 'O', 'p', 'C', 'm', 'd', 
    '\022', '\030', '\n', '\024', 'S', 'E', 'T', '_', 'O', 'P', '_', 'C', 'M', 'D', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', 
    '\000', '\022', '\026', '\n', '\022', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\001', 
    '\022', '\032', '\n', '\026', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '_', 'A', 'L', 
    'L', '\020', '\002', '\022', '\023', '\n', '\017', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\003', '\022', 
    '\027', '\n', '\023', 'S', 'E', 'T', 'O', 'P', 'C', 'M', 'D', '_', 'E', 'X', 'C', 'E', 'P', 'T', '_', 'A', 'L', 'L', '\020', '\004', '*', 
    'R', '\n', '\r', 'S', 'e', 't', 'O', 'p', 'S', 't', 'r', 'a', 't', 'e', 'g', 'y', '\022', '\035', '\n', '\031', 'S', 'E', 'T', '_', 'O', 
    'P', '_', 'S', 'T', 'R', 'A', 'T', 'E', 'G', 'Y', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\020', '\n', 
    '\014', 'S', 'E', 'T', 'O', 'P', '_', 'S', 'O', 'R', 'T', 'E', 'D', '\020', '\001', '\022', '\020', '\n', '\014', 'S', 'E', 'T', 'O', 'P', '_', 
    'H', 'A', 'S', 'H', 'E', 'D', '\020', '\002', '*', 'x', '\n', '\020', 'O', 'n', 'C', 'o', 'n', 'f', 'l', 'i', 'c', 't', 'A', 'c', 't', 
    'i', 'o', 'n', '\022', ' ', '\n', '\034', 'O', 'N', '_', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'A', 'C', 'T', 'I', 'O', 'N', 
    '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\023', '\n', '\017', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 
    'T', '_', 'N', 'O', 'N', 'E', '\020', '\001', '\022', '\026', '\n', '\022', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'N', 'O', 
    'T', 'H', 'I', 'N', 'G', '\020', '\002', '\022', '\025', '\n', '\021', 'O', 'N', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '_', 'U', 'P', 'D', 
    'A', 'T', 'E', '\020', '\003', '*', 'w', '\n', '\013', 'L', 'i', 'm', 'i', 't', 'O', 'p', 't', 'i', 'o', 'n', '\022', '\032', '\n', '\026', 'L', 
    'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\030', 
    '\n', '\024', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\001', '\022', 
    '\026', '\n', '\022', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'C', 'O', 'U', 'N', 'T', '\020', '\002', '\022', '\032', 
    '\n', '\026', 'L', 'I', 'M', 'I', 'T', '_', 'O', 'P', 'T', 'I', 'O', 'N', '_', 'W', 'I', 'T', 'H', '_', 'T', 'I', 'E', 'S', '\020', 
    '\003', '*', '\230', '\001', '\n', '\022', 'L', 'o', 'c', 'k', 'C', 'l', 'a', 'u', 's', 'e', 'S', 't', 'r', 'e', 'n', 'g', 't', 'h', '\022', 
    '\"', '\n', '\036', 'L', 'O', 'C', 'K', '_', 'C', 'L', 'A', 'U', 'S', 'E', '_', 'S', 'T', 'R', 'E', 'N', 'G', 'T', 'H', '_', 'U', 
    'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\014', '\n', '\010', 'L', 'C', 'S', '_', 'N', 'O', 'N', 'E', '\020', '\001', '\022', 
    '\023', '\n', '\017', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'K', 'E', 'Y', 'S', 'H', 'A', 'R', 'E', '\020', '\002', '\022', '\020', '\n', '\014', 'L', 
    'C', 'S', '_', 'F', 'O', 'R', 'S', 'H', 'A', 'R', 'E', '\020', '\003', '\022', '\026', '\n', '\022', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'N', 
    'O', 'K', 'E', 'Y', 'U', 'P', 'D', 'A', 'T', 'E', '\020', '\004', '\022', '\021', '\n', '\r', 'L', 'C', 'S', '_', 'F', 'O', 'R', 'U', 'P', 
    'D', 'A', 'T', 'E', '\020', '\005', '*', 'h', '\n', '\016', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'P', 'o', 'l', 'i', 'c', 'y', '\022', 
    '\036', '\n', '\032', 'L', 'O', 'C', 'K', '_', 'W', 'A', 'I', 'T', '_', 'P', 'O', 'L', 'I', 'C', 'Y', '_', 'U', 'N', 'D', 'E', 'F', 
    'I', 'N', 'E', 'D', '\020', '\000', '\022', '\021', '\n', '\r', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'B', 'l', 'o', 'c', 'k', '\020', '\001', 
    '\022', '\020', '\n', '\014', 'L', 'o', 'c', 'k', 'W', 'a', 'i', 't', 'S', 'k', 'i', 'p', '\020', '\002', '\022', '\021', '\n', '\r', 'L', 'o', 'c', 
    'k', 'W', 'a', 'i', 't', 'E', 'r', 'r', 'o', 'r', '\020', '\003', '*', '\216', '\001', '\n', '\r', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 
    'e', 'M', 'o', 'd', 'e', '\022', '\035', '\n', '\031', 'L', 'O', 'C', 'K', '_', 'T', 'U', 'P', 'L', 'E', '_', 'M', 'O', 'D', 'E', '_', 
    'U', 'N', 'D', 'E', 'F', 'I', 'N', 'E', 'D', '\020', '\000', '\022', '\025', '\n', '\021', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'K', 
    'e', 'y', 'S', 'h', 'a', 'r', 'e', '\020', '\001', '\022', '\022', '\n', '\016', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'S', 'h', 'a', 
    'r', 'e', '\020', '\002', '\022', '\033', '\n', '\027', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'N', 'o', 'K', 'e', 'y', 'E', 'x', 'c', 
    'l', 'u', 's', 'i', 'v', 'e', '\020', '\003', '\022', '\026', '\n', '\022', 'L', 'o', 'c', 'k', 'T', 'u', 'p', 'l', 'e', 'E', 'x', 'c', 'l', 
    'u', 's', 'i', 'v', 'e', '\020', '\004', '*', '}', '\n', '\013', 'K', 'e', 'y', 'w', 'o', 'r', 'd', 'K', 'i', 'n', 'd', '\022', '\016', '\n', 
    '\n', 'N', 'O', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\000', '\022', '\026', '\n', '\022', 'U', 'N', 'R', 'E', 'S', 'E', 'R', 'V', 
    'E', 'D', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\001', '\022', '\024', '\n', '\020', 'C', 'O', 'L', '_', 'N', 'A', 'M', 'E', '_', 
    'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\002', '\022', '\032', '\n', '\026', 'T', 'Y', 'P', 'E', '_', 'F', 'U', 'N', 'C', '_', 'N', 'A', 
    'M', 'E', '_', 'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\003', '\022', '\024', '\n', '\020', 'R', 'E', 'S', 'E', 'R', 'V', 'E', 'D', '_', 
    'K', 'E', 'Y', 'W', 'O', 'R', 'D', '\020', '\004', '*', '\350', ';', '\n', '\005', 'T', 'o', 'k', 'e', 'n', '\022', '\007', '\n', '\003', 'N', 'U', 
    'L', '\020', '\000', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '3', '6', '\020', '$', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 
    'I', '_', '3', '7', '\020', '%', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '0', '\020', '(', '\022', '\014', '\n', '\010', 'A', 
    'S', 'C', 'I', 'I', '_', '4', '1', '\020', ')', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '2', '\020', '*', '\022', '\014', 
    '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '3', '\020', '+', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '4', '\020', 
    ',', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '5', '\020', '-', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', 
    '4', '6', '\020', '.', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '4', '7', '\020', '/', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 
    'I', 'I', '_', '5', '8', '\020', ':', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '5', '9', '\020', ';', '\022', '\014', '\n', '\010', 
    'A', 'S', 'C', 'I', 'I', '_', '6', '0', '\020', '<', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '1', '\020', '=', '\022', 
    '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '2', '\020', '>', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '6', '3', 
    '\020', '?', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '9', '1', '\020', '[', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', 
    '_', '9', '2', '\020', '\\', '\022', '\014', '\n', '\010', 'A', 'S', 'C', 'I', 'I', '_', '9', '3', '\020', ']', '\022', '\014', '\n', '\010', 'A', 'S', 
    'C', 'I', 'I', '_', '9', '4', '\020', '^', '\022', '\n', '\n', '\005', 'I', 'D', 'E', 'N', 'T', '\020', '\202', '\002', '\022', '\013', '\n', '\006', 'U', 
    'I', 'D', 'E', 'N', 'T', '\020', '\203', '\002', '\022', '\013', '\n', '\006', 'F', 'C', 'O', 'N', 'S', 'T', '\020', '\204', '\002', '\022', '\013', '\n', '\006', 
    'S', 'C', 'O', 'N', 'S', 'T', '\020', '\205', '\002', '\022', '\014', '\n', '\007', 'U', 'S', 'C', 'O', 'N', 'S', 'T', '\020', '\206', '\002', '\022', '\013', 
    '\n', '\006', 'B', 'C', 'O', 'N', 'S', 'T', '\020', '\207', '\002', '\022', '\013', '\n', '\006', 'X', 'C', 'O', 'N', 'S', 'T', '\020', '\210', '\002', '\022', 
    '\007', '\n', '\002', 'O', 'p', '\020', '\211', '\002', '\022', '\013', '\n', '\006', 'I', 'C', 'O', 'N', 'S', 'T', '\020', '\212', '\002', '\022', '\n', '\n', '\005', 
    'P', 'A', 'R', 'A', 'M', '\020', '\213', '\002', '\022', '\r', '\n', '\010', 'T', 'Y', 'P', 'E', 'C', 'A', 'S', 'T', '\020', '\214', '\002', '\022', '\014', 
    '\n', '\007', 'D', 'O', 'T', '_', 'D', 'O', 'T', '\020', '\215', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'L', 'O', 'N', '_', 'E', 'Q', 'U', 
    'A', 'L', 'S', '\020', '\216', '\002', '\022', '\023', '\n', '\016', 'E', 'Q', 'U', 'A', 'L', 'S', '_', 'G', 'R', 'E', 'A', 'T', 'E', 'R', '\020', 
    '\217', '\002', '\022', '\020', '\n', '\013', 'L', 'E', 'S', 'S', '_', 'E', 'Q', 'U', 'A', 'L', 'S', '\020', '\220', '\002', '\022', '\023', '\n', '\016', 'G', 
    'R', 'E', 'A', 'T', 'E', 'R', '_', 'E', 'Q', 'U', 'A', 'L', 'S', '\020', '\221', '\002', '\022', '\017', '\n', '\n', 'N', 'O', 'T', '_', 'E', 
    'Q', 'U', 'A', 'L', 'S', '\020', '\222', '\002', '\022', '\020', '\n', '\013', 'S', 'Q', 'L', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', '\223', 
    '\002', '\022', '\016', '\n', '\t', 'C', '_', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', '\224', '\002', '\022', '\014', '\n', '\007', 'A', 'B', 'O', 'R', 
    'T', '_', 'P', '\020', '\225', '\002', '\022', '\013', '\n', '\006', 'A', 'B', 'S', 'E', 'N', 'T', '\020', '\226', '\002', '\022', '\017', '\n', '\n', 'A', 'B', 
    'S', 'O', 'L', 'U', 'T', 'E', '_', 'P', '\020', '\227', '\002', '\022', '\013', '\n', '\006', 'A', 'C', 'C', 'E', 'S', 'S', '\020', '\230', '\002', '\022', 
    '\013', '\n', '\006', 'A', 'C', 'T', 'I', 'O', 'N', '\020', '\231', '\002', '\022', '\n', '\n', '\005', 'A', 'D', 'D', '_', 'P', '\020', '\232', '\002', '\022', 
    '\n', '\n', '\005', 'A', 'D', 'M', 'I', 'N', '\020', '\233', '\002', '\022', '\n', '\n', '\005', 'A', 'F', 'T', 'E', 'R', '\020', '\234', '\002', '\022', '\016', 
    '\n', '\t', 'A', 'G', 'G', 'R', 'E', 'G', 'A', 'T', 'E', '\020', '\235', '\002', '\022', '\010', '\n', '\003', 'A', 'L', 'L', '\020', '\236', '\002', '\022', 
    '\t', '\n', '\004', 'A', 'L', 'S', 'O', '\020', '\237', '\002', '\022', '\n', '\n', '\005', 'A', 'L', 'T', 'E', 'R', '\020', '\240', '\002', '\022', '\013', '\n', 
    '\006', 'A', 'L', 'W', 'A', 'Y', 'S', '\020', '\241', '\002', '\022', '\014', '\n', '\007', 'A', 'N', 'A', 'L', 'Y', 'S', 'E', '\020', '\242', '\002', '\022', 
    '\014', '\n', '\007', 'A', 'N', 'A', 'L', 'Y', 'Z', 'E', '\020', '\243', '\002', '\022', '\010', '\n', '\003', 'A', 'N', 'D', '\020', '\244', '\002', '\022', '\010', 
    '\n', '\003', 'A', 'N', 'Y', '\020', '\245', '\002', '\022', '\n', '\n', '\005', 'A', 'R', 'R', 'A', 'Y', '\020', '\246', '\002', '\022', '\007', '\n', '\002', 'A', 
    'S', '\020', '\247', '\002', '\022', '\010', '\n', '\003', 'A', 'S', 'C', '\020', '\250', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'E', 'N', 'S', 'I', 'T', 
    'I', 'V', 'E', '\020', '\251', '\002', '\022', '\016', '\n', '\t', 'A', 'S', 'S', 'E', 'R', 'T', 'I', 'O', 'N', '\020', '\252', '\002', '\022', '\017', '\n', 
    '\n', 'A', 'S', 'S', 'I', 'G', 'N', 'M', 'E', 'N', 'T', '\020', '\253', '\002', '\022', '\017', '\n', '\n', 'A', 'S', 'Y', 'M', 'M', 'E', 'T', 
    'R', 'I', 'C', '\020', '\254', '\002', '\022', '\013', '\n', '\006', 'A', 'T', 'O', 'M', 'I', 'C', '\020', '\255', '\002', '\022', '\007', '\n', '\002', 'A', 'T', 
    '\020', '\256', '\002', '\022', '\013', '\n', '\006', 'A', 'T', 'T', 'A', 'C', 'H', '\020', '\257', '\002', '\022', '\016', '\n', '\t', 'A', 'T', 'T', 'R', 'I', 
    'B', 'U', 'T', 'E', '\020', '\260', '\002', '\022', '\022', '\n', '\r', 'A', 'U', 'T', 'H', 'O', 'R', 'I', 'Z', 'A', 'T', 'I', 'O', 'N', '\020', 
    '\261', '\002', '\022', '\r', '\n', '\010', 'B', 'A', 'C', 'K', 'W', 'A', 'R', 'D', '\020', '\262', '\002', '\022', '\013', '\n', '\006', 'B', 'E', 'F', 'O', 
    'R', 'E', '\020', '\263', '\002', '\022', '\014', '\n', '\007', 'B', 'E', 'G', 'I', 'N', '_', 'P', '\020', '\264', '\002', '\022', '\014', '\n', '\007', 'B', 'E', 
    'T', 'W', 'E', 'E', 'N', '\020', '\265', '\002', '\022', '\013', '\n', '\006', 'B', 'I', 'G', 'I', 'N', 'T', '\020', '\266', '\002', '\022', '\013', '\n', '\006', 
    'B', 'I', 'N', 'A', 'R', 'Y', '\020', '\267', '\002', '\022', '\010', '\n', '\003', 'B', 'I', 'T', '\020', '\270', '\002', '\022', '\016', '\n', '\t', 'B', 'O', 
    'O', 'L', 'E', 'A', 'N', '_', 'P', '\020', '\271', '\002', '\022', '\t', '\n', '\004', 'B', 'O', 'T', 'H', '\020', '\272', '\002', '\022', '\014', '\n', '\007', 
    'B', 'R', 'E', 'A', 'D', 'T', 'H', '\020', '\273', '\002', '\022', '\007', '\n', '\002', 'B', 'Y', '\020', '\274', '\002', '\022', '\n', '\n', '\005', 'C', 'A', 
    'C', 'H', 'E', '\020', '\275', '\002', '\022', '\t', '\n', '\004', 'C', 'A', 'L', 'L', '\020', '\276', '\002', '\022', '\013', '\n', '\006', 'C', 'A', 'L', 'L', 
    'E', 'D', '\020', '\277', '\002', '\022', '\014', '\n', '\007', 'C', 'A', 'S', 'C', 'A', 'D', 'E', '\020', '\300', '\002', '\022', '\r', '\n', '\010', 'C', 'A', 
    'S', 'C', 'A', 'D', 'E', 'D', '\020', '\301', '\002', '\022', '\t', '\n', '\004', 'C', 'A', 'S', 'E', '\020', '\302', '\002', '\022', '\t', '\n', '\004', 'C', 
    'A', 'S', 'T', '\020', '\303', '\002', '\022', '\016', '\n', '\t', 'C', 'A', 'T', 'A', 'L', 'O', 'G', '_', 'P', '\020', '\304', '\002', '\022', '\n', '\n', 
    '\005', 'C', 'H', 'A', 'I', 'N', '\020', '\305', '\002', '\022', '\013', '\n', '\006', 'C', 'H', 'A', 'R', '_', 'P', '\020', '\306', '\002', '\022', '\016', '\n', 
    '\t', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 'R', '\020', '\307', '\002', '\022', '\024', '\n', '\017', 'C', 'H', 'A', 'R', 'A', 'C', 'T', 'E', 
    'R', 'I', 'S', 'T', 'I', 'C', 'S', '\020', '\310', '\002', '\022', '\n', '\n', '\005', 'C', 'H', 'E', 'C', 'K', '\020', '\311', '\002', '\022', '\017', '\n', 
    '\n', 'C', 'H', 'E', 'C', 'K', 'P', 'O', 'I', 'N', 'T', '\020', '\312', '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'A', 'S', 'S', '\020', '\313', 
    '\002', '\022', '\n', '\n', '\005', 'C', 'L', 'O', 'S', 'E', '\020', '\314', '\002', '\022', '\014', '\n', '\007', 'C', 'L', 'U', 'S', 'T', 'E', 'R', '\020', 
    '\315', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'A', 'L', 'E', 'S', 'C', 'E', '\020', '\316', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'L', 'L', 
    'A', 'T', 'E', '\020', '\317', '\002', '\022', '\016', '\n', '\t', 'C', 'O', 'L', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\320', '\002', '\022', '\013', '\n', 
    '\006', 'C', 'O', 'L', 'U', 'M', 'N', '\020', '\321', '\002', '\022', '\014', '\n', '\007', 'C', 'O', 'L', 'U', 'M', 'N', 'S', '\020', '\322', '\002', '\022', 
    '\014', '\n', '\007', 'C', 'O', 'M', 'M', 'E', 'N', 'T', '\020', '\323', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'M', 'M', 'E', 'N', 'T', 'S', 
    '\020', '\324', '\002', '\022', '\013', '\n', '\006', 'C', 'O', 'M', 'M', 'I', 'T', '\020', '\325', '\002', '\022', '\016', '\n', '\t', 'C', 'O', 'M', 'M', 'I', 
    'T', 'T', 'E', 'D', '\020', '\326', '\002', '\022', '\020', '\n', '\013', 'C', 'O', 'M', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\327', '\002', 
    '\022', '\021', '\n', '\014', 'C', 'O', 'N', 'C', 'U', 'R', 'R', 'E', 'N', 'T', 'L', 'Y', '\020', '\330', '\002', '\022', '\020', '\n', '\013', 'C', 'O', 
    'N', 'D', 'I', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\331', '\002', '\022', '\022', '\n', '\r', 'C', 'O', 'N', 'F', 'I', 'G', 'U', 'R', 'A', 
    'T', 'I', 'O', 'N', '\020', '\332', '\002', '\022', '\r', '\n', '\010', 'C', 'O', 'N', 'F', 'L', 'I', 'C', 'T', '\020', '\333', '\002', '\022', '\017', '\n', 
    '\n', 'C', 'O', 'N', 'N', 'E', 'C', 'T', 'I', 'O', 'N', '\020', '\334', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 
    'I', 'N', 'T', '\020', '\335', '\002', '\022', '\020', '\n', '\013', 'C', 'O', 'N', 'S', 'T', 'R', 'A', 'I', 'N', 'T', 'S', '\020', '\336', '\002', '\022', 
    '\016', '\n', '\t', 'C', 'O', 'N', 'T', 'E', 'N', 'T', '_', 'P', '\020', '\337', '\002', '\022', '\017', '\n', '\n', 'C', 'O', 'N', 'T', 'I', 'N', 
    'U', 'E', '_', 'P', '\020', '\340', '\002', '\022', '\021', '\n', '\014', 'C', 'O', 'N', 'V', 'E', 'R', 'S', 'I', 'O', 'N', '_', 'P', '\020', '\341', 
    '\002', '\022', '\t', '\n', '\004', 'C', 'O', 'P', 'Y', '\020', '\342', '\002', '\022', '\t', '\n', '\004', 'C', 'O', 'S', 'T', '\020', '\343', '\002', '\022', '\013', 
    '\n', '\006', 'C', 'R', 'E', 'A', 'T', 'E', '\020', '\344', '\002', '\022', '\n', '\n', '\005', 'C', 'R', 'O', 'S', 'S', '\020', '\345', '\002', '\022', '\010', 
    '\n', '\003', 'C', 'S', 'V', '\020', '\346', '\002', '\022', '\t', '\n', '\004', 'C', 'U', 'B', 'E', '\020', '\347', '\002', '\022', '\016', '\n', '\t', 'C', 'U', 
    'R', 'R', 'E', 'N', 'T', '_', 'P', '\020', '\350', '\002', '\022', '\024', '\n', '\017', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'C', 'A', 'T', 
    'A', 'L', 'O', 'G', '\020', '\351', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'D', 'A', 'T', 'E', '\020', '\352', 
    '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'R', 'O', 'L', 'E', '\020', '\353', '\002', '\022', '\023', '\n', '\016', 'C', 
    'U', 'R', 'R', 'E', 'N', 'T', '_', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\354', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 
    'N', 'T', '_', 'T', 'I', 'M', 'E', '\020', '\355', '\002', '\022', '\026', '\n', '\021', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'T', 'I', 'M', 
    'E', 'S', 'T', 'A', 'M', 'P', '\020', '\356', '\002', '\022', '\021', '\n', '\014', 'C', 'U', 'R', 'R', 'E', 'N', 'T', '_', 'U', 'S', 'E', 'R', 
    '\020', '\357', '\002', '\022', '\013', '\n', '\006', 'C', 'U', 'R', 'S', 'O', 'R', '\020', '\360', '\002', '\022', '\n', '\n', '\005', 'C', 'Y', 'C', 'L', 'E', 
    '\020', '\361', '\002', '\022', '\013', '\n', '\006', 'D', 'A', 'T', 'A', '_', 'P', '\020', '\362', '\002', '\022', '\r', '\n', '\010', 'D', 'A', 'T', 'A', 'B', 
    'A', 'S', 'E', '\020', '\363', '\002', '\022', '\n', '\n', '\005', 'D', 'A', 'Y', '_', 'P', '\020', '\364', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'A', 
    'L', 'L', 'O', 'C', 'A', 'T', 'E', '\020', '\365', '\002', '\022', '\010', '\n', '\003', 'D', 'E', 'C', '\020', '\366', '\002', '\022', '\016', '\n', '\t', 'D', 
    'E', 'C', 'I', 'M', 'A', 'L', '_', 'P', '\020', '\367', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'C', 'L', 'A', 'R', 'E', '\020', '\370', '\002', 
    '\022', '\014', '\n', '\007', 'D', 'E', 'F', 'A', 'U', 'L', 'T', '\020', '\371', '\002', '\022', '\r', '\n', '\010', 'D', 'E', 'F', 'A', 'U', 'L', 'T', 
    'S', '\020', '\372', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'F', 'E', 'R', 'R', 'A', 'B', 'L', 'E', '\020', '\373', '\002', '\022', '\r', '\n', '\010', 
    'D', 'E', 'F', 'E', 'R', 'R', 'E', 'D', '\020', '\374', '\002', '\022', '\014', '\n', '\007', 'D', 'E', 'F', 'I', 'N', 'E', 'R', '\020', '\375', '\002', 
    '\022', '\r', '\n', '\010', 'D', 'E', 'L', 'E', 'T', 'E', '_', 'P', '\020', '\376', '\002', '\022', '\016', '\n', '\t', 'D', 'E', 'L', 'I', 'M', 'I', 
    'T', 'E', 'R', '\020', '\377', '\002', '\022', '\017', '\n', '\n', 'D', 'E', 'L', 'I', 'M', 'I', 'T', 'E', 'R', 'S', '\020', '\200', '\003', '\022', '\014', 
    '\n', '\007', 'D', 'E', 'P', 'E', 'N', 'D', 'S', '\020', '\201', '\003', '\022', '\n', '\n', '\005', 'D', 'E', 'P', 'T', 'H', '\020', '\202', '\003', '\022', 
    '\t', '\n', '\004', 'D', 'E', 'S', 'C', '\020', '\203', '\003', '\022', '\013', '\n', '\006', 'D', 'E', 'T', 'A', 'C', 'H', '\020', '\204', '\003', '\022', '\017', 
    '\n', '\n', 'D', 'I', 'C', 'T', 'I', 'O', 'N', 'A', 'R', 'Y', '\020', '\205', '\003', '\022', '\016', '\n', '\t', 'D', 'I', 'S', 'A', 'B', 'L', 
    'E', '_', 'P', '\020', '\206', '\003', '\022', '\014', '\n', '\007', 'D', 'I', 'S', 'C', 'A', 'R', 'D', '\020', '\207', '\003', '\022', '\r', '\n', '\010', 'D', 
    'I', 'S', 'T', 'I', 'N', 'C', 'T', '\020', '\210', '\003', '\022', '\007', '\n', '\002', 'D', 'O', '\020', '\211', '\003', '\022', '\017', '\n', '\n', 'D', 'O', 
    'C', 'U', 'M', 'E', 'N', 'T', '_', 'P', '\020', '\212', '\003', '\022', '\r', '\n', '\010', 'D', 'O', 'M', 'A', 'I', 'N', '_', 'P', '\020', '\213', 
    '\003', '\022', '\r', '\n', '\010', 'D', 'O', 'U', 'B', 'L', 'E', '_', 'P', '\020', '\214', '\003', '\022', '\t', '\n', '\004', 'D', 'R', 'O', 'P', '\020', 
    '\215', '\003', '\022', '\t', '\n', '\004', 'E', 'A', 'C', 'H', '\020', '\216', '\003', '\022', '\t', '\n', '\004', 'E', 'L', 'S', 'E', '\020', '\217', '\003', '\022', 
    '\014', '\n', '\007', 'E', 'M', 'P', 'T', 'Y', '_', 'P', '\020', '\220', '\003', '\022', '\r', '\n', '\010', 'E', 'N', 'A', 'B', 'L', 'E', '_', 'P', 
    '\020', '\221', '\003', '\022', '\r', '\n', '\010', 'E', 'N', 'C', 'O', 'D', 'I', 'N', 'G', '\020', '\222', '\003', '\022', '\016', '\n', '\t', 'E', 'N', 'C', 
    'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\223', '\003', '\022', '\n', '\n', '\005', 'E', 'N', 'D', '_', 'P', '\020', '\224', '\003', '\022', '\013', '\n', '\006', 
    'E', 'N', 'U', 'M', '_', 'P', '\020', '\225', '\003', '\022', '\014', '\n', '\007', 'E', 'R', 'R', 'O', 'R', '_', 'P', '\020', '\226', '\003', '\022', '\013', 
    '\n', '\006', 'E', 'S', 'C', 'A', 'P', 'E', '\020', '\227', '\003', '\022', '\n', '\n', '\005', 'E', 'V', 'E', 'N', 'T', '\020', '\230', '\003', '\022', '\013', 
    '\n', '\006', 'E', 'X', 'C', 'E', 'P', 'T', '\020', '\231', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'C', 'L', 'U', 'D', 'E', '\020', '\232', '\003', 
    '\022', '\016', '\n', '\t', 'E', 'X', 'C', 'L', 'U', 'D', 'I', 'N', 'G', '\020', '\233', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'C', 'L', 'U', 
    'S', 'I', 'V', 'E', '\020', '\234', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'E', 'C', 'U', 'T', 'E', '\020', '\235', '\003', '\022', '\013', '\n', '\006', 
    'E', 'X', 'I', 'S', 'T', 'S', '\020', '\236', '\003', '\022', '\014', '\n', '\007', 'E', 'X', 'P', 'L', 'A', 'I', 'N', '\020', '\237', '\003', '\022', '\017', 
    '\n', '\n', 'E', 'X', 'P', 'R', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\240', '\003', '\022', '\016', '\n', '\t', 'E', 'X', 'T', 'E', 'N', 'S', 
    'I', 'O', 'N', '\020', '\241', '\003', '\022', '\r', '\n', '\010', 'E', 'X', 'T', 'E', 'R', 'N', 'A', 'L', '\020', '\242', '\003', '\022', '\014', '\n', '\007', 
    'E', 'X', 'T', 'R', 'A', 'C', 'T', '\020', '\243', '\003', '\022', '\014', '\n', '\007', 'F', 'A', 'L', 'S', 'E', '_', 'P', '\020', '\244', '\003', '\022', 
    '\013', '\n', '\006', 'F', 'A', 'M', 'I', 'L', 'Y', '\020', '\245', '\003', '\022', '\n', '\n', '\005', 'F', 'E', 'T', 'C', 'H', '\020', '\246', '\003', '\022', 
    '\013', '\n', '\006', 'F', 'I', 'L', 'T', 'E', 'R', '\020', '\247', '\003', '\022', '\r', '\n', '\010', 'F', 'I', 'N', 'A', 'L', 'I', 'Z', 'E', '\020', 
    '\250', '\003', '\022', '\014', '\n', '\007', 'F', 'I', 'R', 'S', 'T', '_', 'P', '\020', '\251', '\003', '\022', '\014', '\n', '\007', 'F', 'L', 'O', 'A', 'T', 
    '_', 'P', '\020', '\252', '\003', '\022', '\016', '\n', '\t', 'F', 'O', 'L', 'L', 'O', 'W', 'I', 'N', 'G', '\020', '\253', '\003', '\022', '\010', '\n', '\003', 
    'F', 'O', 'R', '\020', '\254', '\003', '\022', '\n', '\n', '\005', 'F', 'O', 'R', 'C', 'E', '\020', '\255', '\003', '\022', '\014', '\n', '\007', 'F', 'O', 'R', 
    'E', 'I', 'G', 'N', '\020', '\256', '\003', '\022', '\013', '\n', '\006', 'F', 'O', 'R', 'M', 'A', 'T', '\020', '\257', '\003', '\022', '\014', '\n', '\007', 'F', 
    'O', 'R', 'W', 'A', 'R', 'D', '\020', '\260', '\003', '\022', '\013', '\n', '\006', 'F', 'R', 'E', 'E', 'Z', 'E', '\020', '\261', '\003', '\022', '\t', '\n', 
    '\004', 'F', 'R', 'O', 'M', '\020', '\262', '\003', '\022', '\t', '\n', '\004', 'F', 'U', 'L', 'L', '\020', '\263', '\003', '\022', '\r', '\n', '\010', 'F', 'U', 
    'N', 'C', 'T', 'I', 'O', 'N', '\020', '\264', '\003', '\022', '\016', '\n', '\t', 'F', 'U', 'N', 'C', 'T', 'I', 'O', 'N', 'S', '\020', '\265', '\003', 
    '\022', '\016', '\n', '\t', 'G', 'E', 'N', 'E', 'R', 'A', 'T', 'E', 'D', '\020', '\266', '\003', '\022', '\013', '\n', '\006', 'G', 'L', 'O', 'B', 'A', 
    'L', '\020', '\267', '\003', '\022', '\n', '\n', '\005', 'G', 'R', 'A', 'N', 'T', '\020', '\270', '\003', '\022', '\014', '\n', '\007', 'G', 'R', 'A', 'N', 'T', 
    'E', 'D', '\020', '\271', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 'E', 'A', 'T', 'E', 'S', 'T', '\020', '\272', '\003', '\022', '\014', '\n', '\007', 'G', 
    'R', 'O', 'U', 'P', '_', 'P', '\020', '\273', '\003', '\022', '\r', '\n', '\010', 'G', 'R', 'O', 'U', 'P', 'I', 'N', 'G', '\020', '\274', '\003', '\022', 
    '\013', '\n', '\006', 'G', 'R', 'O', 'U', 'P', 'S', '\020', '\275', '\003', '\022', '\014', '\n', '\007', 'H', 'A', 'N', 'D', 'L', 'E', 'R', '\020', '\276', 
    '\003', '\022', '\013', '\n', '\006', 'H', 'A', 'V', 'I', 'N', 'G', '\020', '\277', '\003', '\022', '\r', '\n', '\010', 'H', 'E', 'A', 'D', 'E', 'R', '_', 
    'P', '\020', '\300', '\003', '\022', '\t', '\n', '\004', 'H', 'O', 'L', 'D', '\020', '\301', '\003', '\022', '\013', '\n', '\006', 'H', 'O', 'U', 'R', '_', 'P', 
    '\020', '\302', '\003', '\022', '\017', '\n', '\n', 'I', 'D', 'E', 'N', 'T', 'I', 'T', 'Y', '_', 'P', '\020', '\303', '\003', '\022', '\t', '\n', '\004', 'I', 
    'F', '_', 'P', '\020', '\304', '\003', '\022', '\n', '\n', '\005', 'I', 'L', 'I', 'K', 'E', '\020', '\305', '\003', '\022', '\016', '\n', '\t', 'I', 'M', 'M', 
    'E', 'D', 'I', 'A', 'T', 'E', '\020', '\306', '\003', '\022', '\016', '\n', '\t', 'I', 'M', 'M', 'U', 'T', 'A', 'B', 'L', 'E', '\020', '\307', '\003', 
    '\022', '\017', '\n', '\n', 'I', 'M', 'P', 'L', 'I', 'C', 'I', 'T', '_', 'P', '\020', '\310', '\003', '\022', '\r', '\n', '\010', 'I', 'M', 'P', 'O', 
    'R', 'T', '_', 'P', '\020', '\311', '\003', '\022', '\t', '\n', '\004', 'I', 'N', '_', 'P', '\020', '\312', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'C', 
    'L', 'U', 'D', 'E', '\020', '\313', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'C', 'L', 'U', 'D', 'I', 'N', 'G', '\020', '\314', '\003', '\022', '\016', 
    '\n', '\t', 'I', 'N', 'C', 'R', 'E', 'M', 'E', 'N', 'T', '\020', '\315', '\003', '\022', '\013', '\n', '\006', 'I', 'N', 'D', 'E', 'N', 'T', '\020', 
    '\316', '\003', '\022', '\n', '\n', '\005', 'I', 'N', 'D', 'E', 'X', '\020', '\317', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'D', 'E', 'X', 'E', 'S', 
    '\020', '\320', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'H', 'E', 'R', 'I', 'T', '\020', '\321', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'H', 'E', 
    'R', 'I', 'T', 'S', '\020', '\322', '\003', '\022', '\016', '\n', '\t', 'I', 'N', 'I', 'T', 'I', 'A', 'L', 'L', 'Y', '\020', '\323', '\003', '\022', '\r', 
    '\n', '\010', 'I', 'N', 'L', 'I', 'N', 'E', '_', 'P', '\020', '\324', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'N', 'E', 'R', '_', 'P', '\020', 
    '\325', '\003', '\022', '\n', '\n', '\005', 'I', 'N', 'O', 'U', 'T', '\020', '\326', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'P', 'U', 'T', '_', 'P', 
    '\020', '\327', '\003', '\022', '\020', '\n', '\013', 'I', 'N', 'S', 'E', 'N', 'S', 'I', 'T', 'I', 'V', 'E', '\020', '\330', '\003', '\022', '\013', '\n', '\006', 
    'I', 'N', 'S', 'E', 'R', 'T', '\020', '\331', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'S', 'T', 'E', 'A', 'D', '\020', '\332', '\003', '\022', '\n', 
    '\n', '\005', 'I', 'N', 'T', '_', 'P', '\020', '\333', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'T', 'E', 'G', 'E', 'R', '\020', '\334', '\003', '\022', 
    '\016', '\n', '\t', 'I', 'N', 'T', 'E', 'R', 'S', 'E', 'C', 'T', '\020', '\335', '\003', '\022', '\r', '\n', '\010', 'I', 'N', 'T', 'E', 'R', 'V', 
    'A', 'L', '\020', '\336', '\003', '\022', '\t', '\n', '\004', 'I', 'N', 'T', 'O', '\020', '\337', '\003', '\022', '\014', '\n', '\007', 'I', 'N', 'V', 'O', 'K', 
    'E', 'R', '\020', '\340', '\003', '\022', '\007', '\n', '\002', 'I', 'S', '\020', '\341', '\003', '\022', '\013', '\n', '\006', 'I', 'S', 'N', 'U', 'L', 'L', '\020', 
    '\342', '\003', '\022', '\016', '\n', '\t', 'I', 'S', 'O', 'L', 'A', 'T', 'I', 'O', 'N', '\020', '\343', '\003', '\022', '\t', '\n', '\004', 'J', 'O', 'I', 
    'N', '\020', '\344', '\003', '\022', '\t', '\n', '\004', 'J', 'S', 'O', 'N', '\020', '\345', '\003', '\022', '\017', '\n', '\n', 'J', 'S', 'O', 'N', '_', 'A', 
    'R', 'R', 'A', 'Y', '\020', '\346', '\003', '\022', '\022', '\n', '\r', 'J', 'S', 'O', 'N', '_', 'A', 'R', 'R', 'A', 'Y', 'A', 'G', 'G', '\020', 
    '\347', '\003', '\022', '\020', '\n', '\013', 'J', 'S', 'O', 'N', '_', 'E', 'X', 'I', 'S', 'T', 'S', '\020', '\350', '\003', '\022', '\020', '\n', '\013', 'J', 
    'S', 'O', 'N', '_', 'O', 'B', 'J', 'E', 'C', 'T', '\020', '\351', '\003', '\022', '\023', '\n', '\016', 'J', 'S', 'O', 'N', '_', 'O', 'B', 'J', 
    'E', 'C', 'T', 'A', 'G', 'G', '\020', '\352', '\003', '\022', '\017', '\n', '\n', 'J', 'S', 'O', 'N', '_', 'Q', 'U', 'E', 'R', 'Y', '\020', '\353', 
    '\003', '\022', '\020', '\n', '\013', 'J', 'S', 'O', 'N', '_', 'S', 'C', 'A', 'L', 'A', 'R', '\020', '\354', '\003', '\022', '\023', '\n', '\016', 'J', 'S', 
    'O', 'N', '_', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', '\020', '\355', '\003', '\022', '\017', '\n', '\n', 'J', 'S', 'O', 'N', '_', 'T', 
    'A', 'B', 'L', 'E', '\020', '\356', '\003', '\022', '\017', '\n', '\n', 'J', 'S', 'O', 'N', '_', 'V', 'A', 'L', 'U', 'E', '\020', '\357', '\003', '\022', 
    '\t', '\n', '\004', 'K', 'E', 'E', 'P', '\020', '\360', '\003', '\022', '\010', '\n', '\003', 'K', 'E', 'Y', '\020', '\361', '\003', '\022', '\t', '\n', '\004', 'K', 
    'E', 'Y', 'S', '\020', '\362', '\003', '\022', '\n', '\n', '\005', 'L', 'A', 'B', 'E', 'L', '\020', '\363', '\003', '\022', '\r', '\n', '\010', 'L', 'A', 'N', 
    'G', 'U', 'A', 'G', 'E', '\020', '\364', '\003', '\022', '\014', '\n', '\007', 'L', 'A', 'R', 'G', 'E', '_', 'P', '\020', '\365', '\003', '\022', '\013', '\n', 
    '\006', 'L', 'A', 'S', 'T', '_', 'P', '\020', '\366', '\003', '\022', '\016', '\n', '\t', 'L', 'A', 'T', 'E', 'R', 'A', 'L', '_', 'P', '\020', '\367', 
    '\003', '\022', '\014', '\n', '\007', 'L', 'E', 'A', 'D', 'I', 'N', 'G', '\020', '\370', '\003', '\022', '\016', '\n', '\t', 'L', 'E', 'A', 'K', 'P', 'R', 
    'O', 'O', 'F', '\020', '\371', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'A', 'S', 'T', '\020', '\372', '\003', '\022', '\t', '\n', '\004', 'L', 'E', 'F', 
    'T', '\020', '\373', '\003', '\022', '\n', '\n', '\005', 'L', 'E', 'V', 'E', 'L', '\020', '\374', '\003', '\022', '\t', '\n', '\004', 'L', 'I', 'K', 'E', '\020', 
    '\375', '\003', '\022', '\n', '\n', '\005', 'L', 'I', 'M', 'I', 'T', '\020', '\376', '\003', '\022', '\013', '\n', '\006', 'L', 'I', 'S', 'T', 'E', 'N', '\020', 
    '\377', '\003', '\022', '\t', '\n', '\004', 'L', 'O', 'A', 'D', '\020', '\200', '\004', '\022', '\n', '\n', '\005', 'L', 'O', 'C', 'A', 'L', '\020', '\201', '\004', 
    '\022', '\016', '\n', '\t', 'L', 'O', 'C', 'A', 'L', 'T', 'I', 'M', 'E', '\020', '\202', '\004', '\022', '\023', '\n', '\016', 'L', 'O', 'C', 'A', 'L', 
    'T', 'I', 'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\203', '\004', '\022', '\r', '\n', '\010', 'L', 'O', 'C', 'A', 'T', 'I', 'O', 'N', '\020', 
    '\204', '\004', '\022', '\013', '\n', '\006', 'L', 'O', 'C', 'K', '_', 'P', '\020', '\205', '\004', '\022', '\013', '\n', '\006', 'L', 'O', 'C', 'K', 'E', 'D', 
    '\020', '\206', '\004', '\022', '\013', '\n', '\006', 'L', 'O', 'G', 'G', 'E', 'D', '\020', '\207', '\004', '\022', '\014', '\n', '\007', 'M', 'A', 'P', 'P', 'I', 
    'N', 'G', '\020', '\210', '\004', '\022', '\n', '\n', '\005', 'M', 'A', 'T', 'C', 'H', '\020', '\211', '\004', '\022', '\014', '\n', '\007', 'M', 'A', 'T', 'C', 
    'H', 'E', 'D', '\020', '\212', '\004', '\022', '\021', '\n', '\014', 'M', 'A', 'T', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', 'D', '\020', '\213', '\004', 
    '\022', '\r', '\n', '\010', 'M', 'A', 'X', 'V', 'A', 'L', 'U', 'E', '\020', '\214', '\004', '\022', '\n', '\n', '\005', 'M', 'E', 'R', 'G', 'E', '\020', 
    '\215', '\004', '\022', '\021', '\n', '\014', 'M', 'E', 'R', 'G', 'E', '_', 'A', 'C', 'T', 'I', 'O', 'N', '\020', '\216', '\004', '\022', '\013', '\n', '\006', 
    'M', 'E', 'T', 'H', 'O', 'D', '\020', '\217', '\004', '\022', '\r', '\n', '\010', 'M', 'I', 'N', 'U', 'T', 'E', '_', 'P', '\020', '\220', '\004', '\022', 
    '\r', '\n', '\010', 'M', 'I', 'N', 'V', 'A', 'L', 'U', 'E', '\020', '\221', '\004', '\022', '\t', '\n', '\004', 'M', 'O', 'D', 'E', '\020', '\222', '\004', 
    '\022', '\014', '\n', '\007', 'M', 'O', 'N', 'T', 'H', '_', 'P', '\020', '\223', '\004', '\022', '\t', '\n', '\004', 'M', 'O', 'V', 'E', '\020', '\224', '\004', 
    '\022', '\013', '\n', '\006', 'N', 'A', 'M', 'E', '_', 'P', '\020', '\225', '\004', '\022', '\n', '\n', '\005', 'N', 'A', 'M', 'E', 'S', '\020', '\226', '\004', 
    '\022', '\r', '\n', '\010', 'N', 'A', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\227', '\004', '\022', '\014', '\n', '\007', 'N', 'A', 'T', 'U', 'R', 'A', 
    'L', '\020', '\230', '\004', '\022', '\n', '\n', '\005', 'N', 'C', 'H', 'A', 'R', '\020', '\231', '\004', '\022', '\013', '\n', '\006', 'N', 'E', 'S', 'T', 'E', 
    'D', '\020', '\232', '\004', '\022', '\010', '\n', '\003', 'N', 'E', 'W', '\020', '\233', '\004', '\022', '\t', '\n', '\004', 'N', 'E', 'X', 'T', '\020', '\234', '\004', 
    '\022', '\010', '\n', '\003', 'N', 'F', 'C', '\020', '\235', '\004', '\022', '\010', '\n', '\003', 'N', 'F', 'D', '\020', '\236', '\004', '\022', '\t', '\n', '\004', 'N', 
    'F', 'K', 'C', '\020', '\237', '\004', '\022', '\t', '\n', '\004', 'N', 'F', 'K', 'D', '\020', '\240', '\004', '\022', '\007', '\n', '\002', 'N', 'O', '\020', '\241', 
    '\004', '\022', '\t', '\n', '\004', 'N', 'O', 'N', 'E', '\020', '\242', '\004', '\022', '\016', '\n', '\t', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', 
    '\020', '\243', '\004', '\022', '\017', '\n', '\n', 'N', 'O', 'R', 'M', 'A', 'L', 'I', 'Z', 'E', 'D', '\020', '\244', '\004', '\022', '\010', '\n', '\003', 'N', 
    'O', 'T', '\020', '\245', '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'H', 'I', 'N', 'G', '\020', '\246', '\004', '\022', '\013', '\n', '\006', 'N', 'O', 
    'T', 'I', 'F', 'Y', '\020', '\247', '\004', '\022', '\014', '\n', '\007', 'N', 'O', 'T', 'N', 'U', 'L', 'L', '\020', '\250', '\004', '\022', '\013', '\n', '\006', 
    'N', 'O', 'W', 'A', 'I', 'T', '\020', '\251', '\004', '\022', '\013', '\n', '\006', 'N', 'U', 'L', 'L', '_', 'P', '\020', '\252', '\004', '\022', '\013', '\n', 
    '\006', 'N', 'U', 'L', 'L', 'I', 'F', '\020', '\253', '\004', '\022', '\014', '\n', '\007', 'N', 'U', 'L', 'L', 'S', '_', 'P', '\020', '\254', '\004', '\022', 
    '\014', '\n', '\007', 'N', 'U', 'M', 'E', 'R', 'I', 'C', '\020', '\255', '\004', '\022', '\r', '\n', '\010', 'O', 'B', 'J', 'E', 'C', 'T', '_', 'P', 
    '\020', '\256', '\004', '\022', '\007', '\n', '\002', 'O', 'F', '\020', '\257', '\004', '\022', '\010', '\n', '\003', 'O', 'F', 'F', '\020', '\260', '\004', '\022', '\013', '\n', 
    '\006', 'O', 'F', 'F', 'S', 'E', 'T', '\020', '\261', '\004', '\022', '\t', '\n', '\004', 'O', 'I', 'D', 'S', '\020', '\262', '\004', '\022', '\010', '\n', '\003', 
    'O', 'L', 'D', '\020', '\263', '\004', '\022', '\t', '\n', '\004', 'O', 'M', 'I', 'T', '\020', '\264', '\004', '\022', '\007', '\n', '\002', 'O', 'N', '\020', '\265', 
    '\004', '\022', '\t', '\n', '\004', 'O', 'N', 'L', 'Y', '\020', '\266', '\004', '\022', '\r', '\n', '\010', 'O', 'P', 'E', 'R', 'A', 'T', 'O', 'R', '\020', 
    '\267', '\004', '\022', '\013', '\n', '\006', 'O', 'P', 'T', 'I', 'O', 'N', '\020', '\270', '\004', '\022', '\014', '\n', '\007', 'O', 'P', 'T', 'I', 'O', 'N', 
    'S', '\020', '\271', '\004', '\022', '\007', '\n', '\002', 'O', 'R', '\020', '\272', '\004', '\022', '\n', '\n', '\005', 'O', 'R', 'D', 'E', 'R', '\020', '\273', '\004', 
    '\022', '\017', '\n', '\n', 'O', 'R', 'D', 'I', 'N', 'A', 'L', 'I', 'T', 'Y', '\020', '\274', '\004', '\022', '\013', '\n', '\006', 'O', 'T', 'H', 'E', 
    'R', 'S', '\020', '\275', '\004', '\022', '\n', '\n', '\005', 'O', 'U', 'T', '_', 'P', '\020', '\276', '\004', '\022', '\014', '\n', '\007', 'O', 'U', 'T', 'E', 
    'R', '_', 'P', '\020', '\277', '\004', '\022', '\t', '\n', '\004', 'O', 'V', 'E', 'R', '\020', '\300', '\004', '\022', '\r', '\n', '\010', 'O', 'V', 'E', 'R', 
    'L', 'A', 'P', 'S', '\020', '\301', '\004', '\022', '\014', '\n', '\007', 'O', 'V', 'E', 'R', 'L', 'A', 'Y', '\020', '\302', '\004', '\022', '\017', '\n', '\n', 
    'O', 'V', 'E', 'R', 'R', 'I', 'D', 'I', 'N', 'G', '\020', '\303', '\004', '\022', '\n', '\n', '\005', 'O', 'W', 'N', 'E', 'D', '\020', '\304', '\004', 
    '\022', '\n', '\n', '\005', 'O', 'W', 'N', 'E', 'R', '\020', '\305', '\004', '\022', '\r', '\n', '\010', 'P', 'A', 'R', 'A', 'L', 'L', 'E', 'L', '\020', 
    '\306', '\004', '\022', '\016', '\n', '\t', 'P', 'A', 'R', 'A', 'M', 'E', 'T', 'E', 'R', '\020', '\307', '\004', '\022', '\013', '\n', '\006', 'P', 'A', 'R', 
    'S', 'E', 'R', '\020', '\310', '\004', '\022', '\014', '\n', '\007', 'P', 'A', 'R', 'T', 'I', 'A', 'L', '\020', '\311', '\004', '\022', '\016', '\n', '\t', 'P', 
    'A', 'R', 'T', 'I', 'T', 'I', 'O', 'N', '\020', '\312', '\004', '\022', '\014', '\n', '\007', 'P', 'A', 'S', 'S', 'I', 'N', 'G', '\020', '\313', '\004', 
    '\022', '\r', '\n', '\010', 'P', 'A', 'S', 'S', 'W', 'O', 'R', 'D', '\020', '\314', '\004', '\022', '\t', '\n', '\004', 'P', 'A', 'T', 'H', '\020', '\315', 
    '\004', '\022', '\014', '\n', '\007', 'P', 'L', 'A', 'C', 'I', 'N', 'G', '\020', '\316', '\004', '\022', '\t', '\n', '\004', 'P', 'L', 'A', 'N', '\020', '\317', 
    '\004', '\022', '\n', '\n', '\005', 'P', 'L', 'A', 'N', 'S', '\020', '\320', '\004', '\022', '\013', '\n', '\006', 'P', 'O', 'L', 'I', 'C', 'Y', '\020', '\321', 
    '\004', '\022', '\r', '\n', '\010', 'P', 'O', 'S', 'I', 'T', 'I', 'O', 'N', '\020', '\322', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'E', 'C', 'E', 
    'D', 'I', 'N', 'G', '\020', '\323', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'E', 'C', 'I', 'S', 'I', 'O', 'N', '\020', '\324', '\004', '\022', '\r', 
    '\n', '\010', 'P', 'R', 'E', 'S', 'E', 'R', 'V', 'E', '\020', '\325', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'E', 'P', 'A', 'R', 'E', '\020', 
    '\326', '\004', '\022', '\r', '\n', '\010', 'P', 'R', 'E', 'P', 'A', 'R', 'E', 'D', '\020', '\327', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'I', 'M', 
    'A', 'R', 'Y', '\020', '\330', '\004', '\022', '\n', '\n', '\005', 'P', 'R', 'I', 'O', 'R', '\020', '\331', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'I', 
    'V', 'I', 'L', 'E', 'G', 'E', 'S', '\020', '\332', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'A', 'L', '\020', 
    '\333', '\004', '\022', '\016', '\n', '\t', 'P', 'R', 'O', 'C', 'E', 'D', 'U', 'R', 'E', '\020', '\334', '\004', '\022', '\017', '\n', '\n', 'P', 'R', 'O', 
    'C', 'E', 'D', 'U', 'R', 'E', 'S', '\020', '\335', '\004', '\022', '\014', '\n', '\007', 'P', 'R', 'O', 'G', 'R', 'A', 'M', '\020', '\336', '\004', '\022', 
    '\020', '\n', '\013', 'P', 'U', 'B', 'L', 'I', 'C', 'A', 'T', 'I', 'O', 'N', '\020', '\337', '\004', '\022', '\n', '\n', '\005', 'Q', 'U', 'O', 'T', 
    'E', '\020', '\340', '\004', '\022', '\013', '\n', '\006', 'Q', 'U', 'O', 'T', 'E', 'S', '\020', '\341', '\004', '\022', '\n', '\n', '\005', 'R', 'A', 'N', 'G', 
    'E', '\020', '\342', '\004', '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'D', '\020', '\343', '\004', '\022', '\t', '\n', '\004', 'R', 'E', 'A', 'L', '\020', '\344', 
    '\004', '\022', '\r', '\n', '\010', 'R', 'E', 'A', 'S', 'S', 'I', 'G', 'N', '\020', '\345', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'C', 'H', 'E', 
    'C', 'K', '\020', '\346', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'C', 'U', 'R', 'S', 'I', 'V', 'E', '\020', '\347', '\004', '\022', '\n', '\n', '\005', 
    'R', 'E', 'F', '_', 'P', '\020', '\350', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'E', 'S', '\020', '\351', '\004', 
    '\022', '\020', '\n', '\013', 'R', 'E', 'F', 'E', 'R', 'E', 'N', 'C', 'I', 'N', 'G', '\020', '\352', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'F', 
    'R', 'E', 'S', 'H', '\020', '\353', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'I', 'N', 'D', 'E', 'X', '\020', '\354', '\004', '\022', '\017', '\n', '\n', 
    'R', 'E', 'L', 'A', 'T', 'I', 'V', 'E', '_', 'P', '\020', '\355', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '\020', 
    '\356', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'N', 'A', 'M', 'E', '\020', '\357', '\004', '\022', '\017', '\n', '\n', 'R', 'E', 'P', 'E', 'A', 'T', 
    'A', 'B', 'L', 'E', '\020', '\360', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'P', 'L', 'A', 'C', 'E', '\020', '\361', '\004', '\022', '\014', '\n', '\007', 
    'R', 'E', 'P', 'L', 'I', 'C', 'A', '\020', '\362', '\004', '\022', '\n', '\n', '\005', 'R', 'E', 'S', 'E', 'T', '\020', '\363', '\004', '\022', '\014', '\n', 
    '\007', 'R', 'E', 'S', 'T', 'A', 'R', 'T', '\020', '\364', '\004', '\022', '\r', '\n', '\010', 'R', 'E', 'S', 'T', 'R', 'I', 'C', 'T', '\020', '\365', 
    '\004', '\022', '\013', '\n', '\006', 'R', 'E', 'T', 'U', 'R', 'N', '\020', '\366', '\004', '\022', '\016', '\n', '\t', 'R', 'E', 'T', 'U', 'R', 'N', 'I', 
    'N', 'G', '\020', '\367', '\004', '\022', '\014', '\n', '\007', 'R', 'E', 'T', 'U', 'R', 'N', 'S', '\020', '\370', '\004', '\022', '\013', '\n', '\006', 'R', 'E', 
    'V', 'O', 'K', 'E', '\020', '\371', '\004', '\022', '\n', '\n', '\005', 'R', 'I', 'G', 'H', 'T', '\020', '\372', '\004', '\022', '\t', '\n', '\004', 'R', 'O', 
    'L', 'E', '\020', '\373', '\004', '\022', '\r', '\n', '\010', 'R', 'O', 'L', 'L', 'B', 'A', 'C', 'K', '\020', '\374', '\004', '\022', '\013', '\n', '\006', 'R', 
    'O', 'L', 'L', 'U', 'P', '\020', '\375', '\004', '\022', '\014', '\n', '\007', 'R', 'O', 'U', 'T', 'I', 'N', 'E', '\020', '\376', '\004', '\022', '\r', '\n', 
    '\010', 'R', 'O', 'U', 'T', 'I', 'N', 'E', 'S', '\020', '\377', '\004', '\022', '\010', '\n', '\003', 'R', 'O', 'W', '\020', '\200', '\005', '\022', '\t', '\n', 
    '\004', 'R', 'O', 'W', 'S', '\020', '\201', '\005', '\022', '\t', '\n', '\004', 'R', 'U', 'L', 'E', '\020', '\202', '\005', '\022', '\016', '\n', '\t', 'S', 'A', 
    'V', 'E', 'P', 'O', 'I', 'N', 'T', '\020', '\203', '\005', '\022', '\013', '\n', '\006', 'S', 'C', 'A', 'L', 'A', 'R', '\020', '\204', '\005', '\022', '\013', 
    '\n', '\006', 'S', 'C', 'H', 'E', 'M', 'A', '\020', '\205', '\005', '\022', '\014', '\n', '\007', 'S', 'C', 'H', 'E', 'M', 'A', 'S', '\020', '\206', '\005', 
    '\022', '\013', '\n', '\006', 'S', 'C', 'R', 'O', 'L', 'L', '\020', '\207', '\005', '\022', '\013', '\n', '\006', 'S', 'E', 'A', 'R', 'C', 'H', '\020', '\210', 
    '\005', '\022', '\r', '\n', '\010', 'S', 'E', 'C', 'O', 'N', 'D', '_', 'P', '\020', '\211', '\005', '\022', '\r', '\n', '\010', 'S', 'E', 'C', 'U', 'R', 
    'I', 'T', 'Y', '\020', '\212', '\005', '\022', '\013', '\n', '\006', 'S', 'E', 'L', 'E', 'C', 'T', '\020', '\213', '\005', '\022', '\r', '\n', '\010', 'S', 'E', 
    'Q', 'U', 'E', 'N', 'C', 'E', '\020', '\214', '\005', '\022', '\016', '\n', '\t', 'S', 'E', 'Q', 'U', 'E', 'N', 'C', 'E', 'S', '\020', '\215', '\005', 
    '\022', '\021', '\n', '\014', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'A', 'B', 'L', 'E', '\020', '\216', '\005', '\022', '\013', '\n', '\006', 'S', 'E', 
    'R', 'V', 'E', 'R', '\020', '\217', '\005', '\022', '\014', '\n', '\007', 'S', 'E', 'S', 'S', 'I', 'O', 'N', '\020', '\220', '\005', '\022', '\021', '\n', '\014', 
    'S', 'E', 'S', 'S', 'I', 'O', 'N', '_', 'U', 'S', 'E', 'R', '\020', '\221', '\005', '\022', '\010', '\n', '\003', 'S', 'E', 'T', '\020', '\222', '\005', 
    '\022', '\t', '\n', '\004', 'S', 'E', 'T', 'S', '\020', '\223', '\005', '\022', '\n', '\n', '\005', 'S', 'E', 'T', 'O', 'F', '\020', '\224', '\005', '\022', '\n', 
    '\n', '\005', 'S', 'H', 'A', 'R', 'E', '\020', '\225', '\005', '\022', '\t', '\n', '\004', 'S', 'H', 'O', 'W', '\020', '\226', '\005', '\022', '\014', '\n', '\007', 
    'S', 'I', 'M', 'I', 'L', 'A', 'R', '\020', '\227', '\005', '\022', '\013', '\n', '\006', 'S', 'I', 'M', 'P', 'L', 'E', '\020', '\230', '\005', '\022', '\t', 
    '\n', '\004', 'S', 'K', 'I', 'P', '\020', '\231', '\005', '\022', '\r', '\n', '\010', 'S', 'M', 'A', 'L', 'L', 'I', 'N', 'T', '\020', '\232', '\005', '\022', 
    '\r', '\n', '\010', 'S', 'N', 'A', 'P', 'S', 'H', 'O', 'T', '\020', '\233', '\005', '\022', '\t', '\n', '\004', 'S', 'O', 'M', 'E', '\020', '\234', '\005', 
    '\022', '\013', '\n', '\006', 'S', 'O', 'U', 'R', 'C', 'E', '\020', '\235', '\005', '\022', '\n', '\n', '\005', 'S', 'Q', 'L', '_', 'P', '\020', '\236', '\005', 
    '\022', '\013', '\n', '\006', 'S', 'T', 'A', 'B', 'L', 'E', '\020', '\237', '\005', '\022', '\021', '\n', '\014', 'S', 'T', 'A', 'N', 'D', 'A', 'L', 'O', 
    'N', 'E', '_', 'P', '\020', '\240', '\005', '\022', '\n', '\n', '\005', 'S', 'T', 'A', 'R', 'T', '\020', '\241', '\005', '\022', '\016', '\n', '\t', 'S', 'T', 
    'A', 'T', 'E', 'M', 'E', 'N', 'T', '\020', '\242', '\005', '\022', '\017', '\n', '\n', 'S', 'T', 'A', 'T', 'I', 'S', 'T', 'I', 'C', 'S', '\020', 
    '\243', '\005', '\022', '\n', '\n', '\005', 'S', 'T', 'D', 'I', 'N', '\020', '\244', '\005', '\022', '\013', '\n', '\006', 'S', 'T', 'D', 'O', 'U', 'T', '\020', 
    '\245', '\005', '\022', '\014', '\n', '\007', 'S', 'T', 'O', 'R', 'A', 'G', 'E', '\020', '\246', '\005', '\022', '\013', '\n', '\006', 'S', 'T', 'O', 'R', 'E', 
    'D', '\020', '\247', '\005', '\022', '\r', '\n', '\010', 'S', 'T', 'R', 'I', 'C', 'T', '_', 'P', '\020', '\250', '\005', '\022', '\r', '\n', '\010', 'S', 'T', 
    'R', 'I', 'N', 'G', '_', 'P', '\020', '\251', '\005', '\022', '\014', '\n', '\007', 'S', 'T', 'R', 'I', 'P', '_', 'P', '\020', '\252', '\005', '\022', '\021', 
    '\n', '\014', 'S', 'U', 'B', 'S', 'C', 'R', 'I', 'P', 'T', 'I', 'O', 'N', '\020', '\253', '\005', '\022', '\016', '\n', '\t', 'S', 'U', 'B', 'S', 
    'T', 'R', 'I', 'N', 'G', '\020', '\254', '\005', '\022', '\014', '\n', '\007', 'S', 'U', 'P', 'P', 'O', 'R', 'T', '\020', '\255', '\005', '\022', '\016', '\n', 
    '\t', 'S', 'Y', 'M', 'M', 'E', 'T', 'R', 'I', 'C', '\020', '\256', '\005', '\022', '\n', '\n', '\005', 'S', 'Y', 'S', 'I', 'D', '\020', '\257', '\005', 
    '\022', '\r', '\n', '\010', 'S', 'Y', 'S', 'T', 'E', 'M', '_', 'P', '\020', '\260', '\005', '\022', '\020', '\n', '\013', 'S', 'Y', 'S', 'T', 'E', 'M', 
    '_', 'U', 'S', 'E', 'R', '\020', '\261', '\005', '\022', '\n', '\n', '\005', 'T', 'A', 'B', 'L', 'E', '\020', '\262', '\005', '\022', '\013', '\n', '\006', 'T', 
    'A', 'B', 'L', 'E', 'S', '\020', '\263', '\005', '\022', '\020', '\n', '\013', 'T', 'A', 'B', 'L', 'E', 'S', 'A', 'M', 'P', 'L', 'E', '\020', '\264', 
    '\005', '\022', '\017', '\n', '\n', 'T', 'A', 'B', 'L', 'E', 'S', 'P', 'A', 'C', 'E', '\020', '\265', '\005', '\022', '\013', '\n', '\006', 'T', 'A', 'R', 
    'G', 'E', 'T', '\020', '\266', '\005', '\022', '\t', '\n', '\004', 'T', 'E', 'M', 'P', '\020', '\267', '\005', '\022', '\r', '\n', '\010', 'T', 'E', 'M', 'P', 
    'L', 'A', 'T', 'E', '\020', '\270', '\005', '\022', '\016', '\n', '\t', 'T', 'E', 'M', 'P', 'O', 'R', 'A', 'R', 'Y', '\020', '\271', '\005', '\022', '\013', 
    '\n', '\006', 'T', 'E', 'X', 'T', '_', 'P', '\020', '\272', '\005', '\022', '\t', '\n', '\004', 'T', 'H', 'E', 'N', '\020', '\273', '\005', '\022', '\t', '\n', 
    '\004', 'T', 'I', 'E', 'S', '\020', '\274', '\005', '\022', '\t', '\n', '\004', 'T', 'I', 'M', 'E', '\020', '\275', '\005', '\022', '\016', '\n', '\t', 'T', 'I', 
    'M', 'E', 'S', 'T', 'A', 'M', 'P', '\020', '\276', '\005', '\022', '\007', '\n', '\002', 'T', 'O', '\020', '\277', '\005', '\022', '\r', '\n', '\010', 'T', 'R', 
    'A', 'I', 'L', 'I', 'N', 'G', '\020', '\300', '\005', '\022', '\020', '\n', '\013', 'T', 'R', 'A', 'N', 'S', 'A', 'C', 'T', 'I', 'O', 'N', '\020', 
    '\301', '\005', '\022', '\016', '\n', '\t', 'T', 'R', 'A', 'N', 'S', 'F', 'O', 'R', 'M', '\020', '\302', '\005', '\022', '\n', '\n', '\005', 'T', 'R', 'E', 
    'A', 'T', '\020', '\303', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'I', 'G', 'G', 'E', 'R', '\020', '\304', '\005', '\022', '\t', '\n', '\004', 'T', 'R', 
    'I', 'M', '\020', '\305', '\005', '\022', '\013', '\n', '\006', 'T', 'R', 'U', 'E', '_', 'P', '\020', '\306', '\005', '\022', '\r', '\n', '\010', 'T', 'R', 'U', 
    'N', 'C', 'A', 'T', 'E', '\020', '\307', '\005', '\022', '\014', '\n', '\007', 'T', 'R', 'U', 'S', 'T', 'E', 'D', '\020', '\310', '\005', '\022', '\013', '\n', 
    '\006', 'T', 'Y', 'P', 'E', '_', 'P', '\020', '\311', '\005', '\022', '\014', '\n', '\007', 'T', 'Y', 'P', 'E', 'S', '_', 'P', '\020', '\312', '\005', '\022', 
    '\014', '\n', '\007', 'U', 'E', 'S', 'C', 'A', 'P', 'E', '\020', '\313', '\005', '\022', '\016', '\n', '\t', 'U', 'N', 'B', 'O', 'U', 'N', 'D', 'E', 
    'D', '\020', '\314', '\005', '\022', '\022', '\n', '\r', 'U', 'N', 'C', 'O', 'N', 'D', 'I', 'T', 'I', 'O', 'N', 'A', 'L', '\020', '\315', '\005', '\022', 
    '\020', '\n', '\013', 'U', 'N', 'C', 'O', 'M', 'M', 'I', 'T', 'T', 'E', 'D', '\020', '\316', '\005', '\022', '\020', '\n', '\013', 'U', 'N', 'E', 'N', 
    'C', 'R', 'Y', 'P', 'T', 'E', 'D', '\020', '\317', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'I', 'O', 'N', '\020', '\320', '\005', '\022', '\013', '\n', 
    '\006', 'U', 'N', 'I', 'Q', 'U', 'E', '\020', '\321', '\005', '\022', '\014', '\n', '\007', 'U', 'N', 'K', 'N', 'O', 'W', 'N', '\020', '\322', '\005', '\022', 
    '\r', '\n', '\010', 'U', 'N', 'L', 'I', 'S', 'T', 'E', 'N', '\020', '\323', '\005', '\022', '\r', '\n', '\010', 'U', 'N', 'L', 'O', 'G', 'G', 'E', 
    'D', '\020', '\324', '\005', '\022', '\n', '\n', '\005', 'U', 'N', 'T', 'I', 'L', '\020', '\325', '\005', '\022', '\013', '\n', '\006', 'U', 'P', 'D', 'A', 'T', 
    'E', '\020', '\326', '\005', '\022', '\t', '\n', '\004', 'U', 'S', 'E', 'R', '\020', '\327', '\005', '\022', '\n', '\n', '\005', 'U', 'S', 'I', 'N', 'G', '\020', 
    '\330', '\005', '\022', '\013', '\n', '\006', 'V', 'A', 'C', 'U', 'U', 'M', '\020', '\331', '\005', '\022', '\n', '\n', '\005', 'V', 'A', 'L', 'I', 'D', '\020', 
    '\332', '\005', '\022', '\r', '\n', '\010', 'V', 'A', 'L', 'I', 'D', 'A', 'T', 'E', '\020', '\333', '\005', '\022', '\016', '\n', '\t', 'V', 'A', 'L', 'I', 
    'D', 'A', 'T', 'O', 'R', '\020', '\334', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'L', 'U', 'E', '_', 'P', '\020', '\335', '\005', '\022', '\013', '\n', 
    '\006', 'V', 'A', 'L', 'U', 'E', 'S', '\020', '\336', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'R', 'C', 'H', 'A', 'R', '\020', '\337', '\005', '\022', 
    '\r', '\n', '\010', 'V', 'A', 'R', 'I', 'A', 'D', 'I', 'C', '\020', '\340', '\005', '\022', '\014', '\n', '\007', 'V', 'A', 'R', 'Y', 'I', 'N', 'G', 
    '\020', '\341', '\005', '\022', '\014', '\n', '\007', 'V', 'E', 'R', 'B', 'O', 'S', 'E', '\020', '\342', '\005', '\022', '\016', '\n', '\t', 'V', 'E', 'R', 'S', 
    'I', 'O', 'N', '_', 'P', '\020', '\343', '\005', '\022', '\t', '\n', '\004', 'V', 'I', 'E', 'W', '\020', '\344', '\005', '\022', '\n', '\n', '\005', 'V', 'I', 
    'E', 'W', 'S', '\020', '\345', '\005', '\022', '\r', '\n', '\010', 'V', 'O', 'L', 'A', 'T', 'I', 'L', 'E', '\020', '\346', '\005', '\022', '\t', '\n', '\004', 
    'W', 'H', 'E', 'N', '\020', '\347', '\005', '\022', '\n', '\n', '\005', 'W', 'H', 'E', 'R', 'E', '\020', '\350', '\005', '\022', '\021', '\n', '\014', 'W', 'H', 
    'I', 'T', 'E', 'S', 'P', 'A', 'C', 'E', '_', 'P', '\020', '\351', '\005', '\022', '\013', '\n', '\006', 'W', 'I', 'N', 'D', 'O', 'W', '\020', '\352', 
    '\005', '\022', '\t', '\n', '\004', 'W', 'I', 'T', 'H', '\020', '\353', '\005', '\022', '\013', '\n', '\006', 'W', 'I', 'T', 'H', 'I', 'N', '\020', '\354', '\005', 
    '\022', '\014', '\n', '\007', 'W', 'I', 'T', 'H', 'O', 'U', 'T', '\020', '\355', '\005', '\022', '\t', '\n', '\004', 'W', 'O', 'R', 'K', '\020', '\356', '\005', 
    '\022', '\014', '\n', '\007', 'W', 'R', 'A', 'P', 'P', 'E', 'R', '\020', '\357', '\005', '\022', '\n', '\n', '\005', 'W', 'R', 'I', 'T', 'E', '\020', '\360', 
    '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', '_', 'P', '\020', '\361', '\005', '\022', '\022', '\n', '\r', 'X', 'M', 'L', 'A', 'T', 'T', 'R', 'I', 
    'B', 'U', 'T', 'E', 'S', '\020', '\362', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'C', 'O', 'N', 'C', 'A', 'T', '\020', '\363', '\005', '\022', 
    '\017', '\n', '\n', 'X', 'M', 'L', 'E', 'L', 'E', 'M', 'E', 'N', 'T', '\020', '\364', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'E', 'X', 
    'I', 'S', 'T', 'S', '\020', '\365', '\005', '\022', '\016', '\n', '\t', 'X', 'M', 'L', 'F', 'O', 'R', 'E', 'S', 'T', '\020', '\366', '\005', '\022', '\022', 
    '\n', '\r', 'X', 'M', 'L', 'N', 'A', 'M', 'E', 'S', 'P', 'A', 'C', 'E', 'S', '\020', '\367', '\005', '\022', '\r', '\n', '\010', 'X', 'M', 'L', 
    'P', 'A', 'R', 'S', 'E', '\020', '\370', '\005', '\022', '\n', '\n', '\005', 'X', 'M', 'L', 'P', 'I', '\020', '\371', '\005', '\022', '\014', '\n', '\007', 'X', 
    'M', 'L', 'R', 'O', 'O', 'T', '\020', '\372', '\005', '\022', '\021', '\n', '\014', 'X', 'M', 'L', 'S', 'E', 'R', 'I', 'A', 'L', 'I', 'Z', 'E', 
    '\020', '\373', '\005', '\022', '\r', '\n', '\010', 'X', 'M', 'L', 'T', 'A', 'B', 'L', 'E', '\020', '\374', '\005', '\022', '\013', '\n', '\006', 'Y', 'E', 'A', 
    'R', '_', 'P', '\020', '\375', '\005', '\022', '\n', '\n', '\005', 'Y', 'E', 'S', '_', 'P', '\020', '\376', '\005', '\022', '\t', '\n', '\004', 'Z', 'O', 'N', 
    'E', '\020', '\377', '\005', '\022', '\016', '\n', '\t', 'F', 'O', 'R', 'M', 'A', 'T', '_', 'L', 'A', '\020', '\200', '\006', '\022', '\013', '\n', '\006', 'N', 
    'O', 'T', '_', 'L', 'A', '\020', '\201', '\006', '\022', '\r', '\n', '\010', 'N', 'U', 'L', 'L', 'S', '_', 'L', 'A', '\020', '\202', '\006', '\022', '\014', 
    '\n', '\007', 'W', 'I', 'T', 'H', '_', 'L', 'A', '\020', '\203', '\006', '\022', '\017', '\n', '\n', 'W', 'I', 'T', 'H', 'O', 'U', 'T', '_', 'L', 
    'A', '\020', '\204', '\006', '\022', '\023', '\n', '\016', 'M', 'O', 'D', 'E', '_', 'T', 'Y', 'P', 'E', '_', 'N', 'A', 'M', 'E', '\020', '\205', '\006', 
    '\022', '\026', '\n', '\021', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'E', 'X', 'P', 'R', '\020', '\206', '\006', '\022', 
    '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 'N', '1', '\020', '\207', 
    '\006', '\022', '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 'N', '2', 
    '\020', '\210', '\006', '\022', '\031', '\n', '\024', 'M', 'O', 'D', 'E', '_', 'P', 'L', 'P', 'G', 'S', 'Q', 'L', '_', 'A', 'S', 'S', 'I', 'G', 
    'N', '3', '\020', '\211', '\006', '\022', '\013', '\n', '\006', 'U', 'M', 'I', 'N', 'U', 'S', '\020', '\212', '\006', 'b', '\006', 'p', 'r', 'o', 't', 'o', 
    '3', 
};
static ::absl::once_flag descriptor_table_protobuf_2fpg_5fquery_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_protobuf_2fpg_5fquery_2eproto = {
    false,
    false,
    98901,
    descriptor_table_protodef_protobuf_2fpg_5fquery_2eproto,
    "protobuf/pg_query.proto",
    &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
    nullptr,
    0,
    272,
    schemas,
    file_default_instances,
    TableStruct_protobuf_2fpg_5fquery_2eproto::offsets,
    file_level_metadata_protobuf_2fpg_5fquery_2eproto,
    file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto,
    file_level_service_descriptors_protobuf_2fpg_5fquery_2eproto,
};

// This function exists to be marked as weak.
// It can significantly speed up compilation by breaking up LLVM's SCC
// in the .pb.cc translation units. Large translation units see a
// reduction of more than 35% of walltime for optimized builds. Without
// the weak attribute all the messages in the file, including all the
// vtables and everything they use become part of the same SCC through
// a cycle like:
// GetMetadata -> descriptor table -> default instances ->
//   vtables -> GetMetadata
// By adding a weak function here we break the connection from the
// individual vtables back into the descriptor table.
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_protobuf_2fpg_5fquery_2eproto_getter() {
  return &descriptor_table_protobuf_2fpg_5fquery_2eproto;
}
// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2
static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_protobuf_2fpg_5fquery_2eproto(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
namespace pg_query {
const ::google::protobuf::EnumDescriptor* QuerySource_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[0];
}
PROTOBUF_CONSTINIT const uint32_t QuerySource_internal_data_[] = {
    393216u, 0u, };
bool QuerySource_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* SortByDir_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[1];
}
PROTOBUF_CONSTINIT const uint32_t SortByDir_internal_data_[] = {
    327680u, 0u, };
bool SortByDir_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* SortByNulls_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[2];
}
PROTOBUF_CONSTINIT const uint32_t SortByNulls_internal_data_[] = {
    262144u, 0u, };
bool SortByNulls_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* SetQuantifier_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[3];
}
PROTOBUF_CONSTINIT const uint32_t SetQuantifier_internal_data_[] = {
    262144u, 0u, };
bool SetQuantifier_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* A_Expr_Kind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[4];
}
PROTOBUF_CONSTINIT const uint32_t A_Expr_Kind_internal_data_[] = {
    983040u, 0u, };
bool A_Expr_Kind_IsValid(int value) {
  return 0 <= value && value <= 14;
}
const ::google::protobuf::EnumDescriptor* RoleSpecType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[5];
}
PROTOBUF_CONSTINIT const uint32_t RoleSpecType_internal_data_[] = {
    393216u, 0u, };
bool RoleSpecType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* TableLikeOption_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[6];
}
PROTOBUF_CONSTINIT const uint32_t TableLikeOption_internal_data_[] = {
    720896u, 0u, };
bool TableLikeOption_IsValid(int value) {
  return 0 <= value && value <= 10;
}
const ::google::protobuf::EnumDescriptor* DefElemAction_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[7];
}
PROTOBUF_CONSTINIT const uint32_t DefElemAction_internal_data_[] = {
    327680u, 0u, };
bool DefElemAction_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* PartitionStrategy_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[8];
}
PROTOBUF_CONSTINIT const uint32_t PartitionStrategy_internal_data_[] = {
    262144u, 0u, };
bool PartitionStrategy_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* PartitionRangeDatumKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[9];
}
PROTOBUF_CONSTINIT const uint32_t PartitionRangeDatumKind_internal_data_[] = {
    262144u, 0u, };
bool PartitionRangeDatumKind_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* RTEKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[10];
}
PROTOBUF_CONSTINIT const uint32_t RTEKind_internal_data_[] = {
    655360u, 0u, };
bool RTEKind_IsValid(int value) {
  return 0 <= value && value <= 9;
}
const ::google::protobuf::EnumDescriptor* WCOKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[11];
}
PROTOBUF_CONSTINIT const uint32_t WCOKind_internal_data_[] = {
    458752u, 0u, };
bool WCOKind_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* GroupingSetKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[12];
}
PROTOBUF_CONSTINIT const uint32_t GroupingSetKind_internal_data_[] = {
    393216u, 0u, };
bool GroupingSetKind_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* CTEMaterialize_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[13];
}
PROTOBUF_CONSTINIT const uint32_t CTEMaterialize_internal_data_[] = {
    262144u, 0u, };
bool CTEMaterialize_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* JsonQuotes_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[14];
}
PROTOBUF_CONSTINIT const uint32_t JsonQuotes_internal_data_[] = {
    262144u, 0u, };
bool JsonQuotes_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* JsonTableColumnType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[15];
}
PROTOBUF_CONSTINIT const uint32_t JsonTableColumnType_internal_data_[] = {
    393216u, 0u, };
bool JsonTableColumnType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* SetOperation_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[16];
}
PROTOBUF_CONSTINIT const uint32_t SetOperation_internal_data_[] = {
    327680u, 0u, };
bool SetOperation_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* ObjectType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[17];
}
PROTOBUF_CONSTINIT const uint32_t ObjectType_internal_data_[] = {
    3473408u, 0u, };
bool ObjectType_IsValid(int value) {
  return 0 <= value && value <= 52;
}
const ::google::protobuf::EnumDescriptor* DropBehavior_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[18];
}
PROTOBUF_CONSTINIT const uint32_t DropBehavior_internal_data_[] = {
    196608u, 0u, };
bool DropBehavior_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* AlterTableType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[19];
}
PROTOBUF_CONSTINIT const uint32_t AlterTableType_internal_data_[] = {
    4456448u, 0u, };
bool AlterTableType_IsValid(int value) {
  return 0 <= value && value <= 67;
}
const ::google::protobuf::EnumDescriptor* GrantTargetType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[20];
}
PROTOBUF_CONSTINIT const uint32_t GrantTargetType_internal_data_[] = {
    262144u, 0u, };
bool GrantTargetType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* VariableSetKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[21];
}
PROTOBUF_CONSTINIT const uint32_t VariableSetKind_internal_data_[] = {
    458752u, 0u, };
bool VariableSetKind_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* ConstrType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[22];
}
PROTOBUF_CONSTINIT const uint32_t ConstrType_internal_data_[] = {
    983040u, 0u, };
bool ConstrType_IsValid(int value) {
  return 0 <= value && value <= 14;
}
const ::google::protobuf::EnumDescriptor* ImportForeignSchemaType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[23];
}
PROTOBUF_CONSTINIT const uint32_t ImportForeignSchemaType_internal_data_[] = {
    262144u, 0u, };
bool ImportForeignSchemaType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* RoleStmtType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[24];
}
PROTOBUF_CONSTINIT const uint32_t RoleStmtType_internal_data_[] = {
    262144u, 0u, };
bool RoleStmtType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* FetchDirection_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[25];
}
PROTOBUF_CONSTINIT const uint32_t FetchDirection_internal_data_[] = {
    327680u, 0u, };
bool FetchDirection_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* FunctionParameterMode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[26];
}
PROTOBUF_CONSTINIT const uint32_t FunctionParameterMode_internal_data_[] = {
    458752u, 0u, };
bool FunctionParameterMode_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* TransactionStmtKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[27];
}
PROTOBUF_CONSTINIT const uint32_t TransactionStmtKind_internal_data_[] = {
    720896u, 0u, };
bool TransactionStmtKind_IsValid(int value) {
  return 0 <= value && value <= 10;
}
const ::google::protobuf::EnumDescriptor* ViewCheckOption_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[28];
}
PROTOBUF_CONSTINIT const uint32_t ViewCheckOption_internal_data_[] = {
    262144u, 0u, };
bool ViewCheckOption_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* DiscardMode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[29];
}
PROTOBUF_CONSTINIT const uint32_t DiscardMode_internal_data_[] = {
    327680u, 0u, };
bool DiscardMode_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* ReindexObjectType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[30];
}
PROTOBUF_CONSTINIT const uint32_t ReindexObjectType_internal_data_[] = {
    393216u, 0u, };
bool ReindexObjectType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* AlterTSConfigType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[31];
}
PROTOBUF_CONSTINIT const uint32_t AlterTSConfigType_internal_data_[] = {
    393216u, 0u, };
bool AlterTSConfigType_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* PublicationObjSpecType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[32];
}
PROTOBUF_CONSTINIT const uint32_t PublicationObjSpecType_internal_data_[] = {
    327680u, 0u, };
bool PublicationObjSpecType_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* AlterPublicationAction_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[33];
}
PROTOBUF_CONSTINIT const uint32_t AlterPublicationAction_internal_data_[] = {
    262144u, 0u, };
bool AlterPublicationAction_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* AlterSubscriptionType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[34];
}
PROTOBUF_CONSTINIT const uint32_t AlterSubscriptionType_internal_data_[] = {
    589824u, 0u, };
bool AlterSubscriptionType_IsValid(int value) {
  return 0 <= value && value <= 8;
}
const ::google::protobuf::EnumDescriptor* OverridingKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[35];
}
PROTOBUF_CONSTINIT const uint32_t OverridingKind_internal_data_[] = {
    262144u, 0u, };
bool OverridingKind_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* OnCommitAction_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[36];
}
PROTOBUF_CONSTINIT const uint32_t OnCommitAction_internal_data_[] = {
    327680u, 0u, };
bool OnCommitAction_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* TableFuncType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[37];
}
PROTOBUF_CONSTINIT const uint32_t TableFuncType_internal_data_[] = {
    196608u, 0u, };
bool TableFuncType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* ParamKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[38];
}
PROTOBUF_CONSTINIT const uint32_t ParamKind_internal_data_[] = {
    327680u, 0u, };
bool ParamKind_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* CoercionContext_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[39];
}
PROTOBUF_CONSTINIT const uint32_t CoercionContext_internal_data_[] = {
    327680u, 0u, };
bool CoercionContext_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* CoercionForm_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[40];
}
PROTOBUF_CONSTINIT const uint32_t CoercionForm_internal_data_[] = {
    327680u, 0u, };
bool CoercionForm_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* BoolExprType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[41];
}
PROTOBUF_CONSTINIT const uint32_t BoolExprType_internal_data_[] = {
    262144u, 0u, };
bool BoolExprType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* SubLinkType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[42];
}
PROTOBUF_CONSTINIT const uint32_t SubLinkType_internal_data_[] = {
    589824u, 0u, };
bool SubLinkType_IsValid(int value) {
  return 0 <= value && value <= 8;
}
const ::google::protobuf::EnumDescriptor* RowCompareType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[43];
}
PROTOBUF_CONSTINIT const uint32_t RowCompareType_internal_data_[] = {
    458752u, 0u, };
bool RowCompareType_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* MinMaxOp_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[44];
}
PROTOBUF_CONSTINIT const uint32_t MinMaxOp_internal_data_[] = {
    196608u, 0u, };
bool MinMaxOp_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* SQLValueFunctionOp_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[45];
}
PROTOBUF_CONSTINIT const uint32_t SQLValueFunctionOp_internal_data_[] = {
    1048576u, 0u, };
bool SQLValueFunctionOp_IsValid(int value) {
  return 0 <= value && value <= 15;
}
const ::google::protobuf::EnumDescriptor* XmlExprOp_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[46];
}
PROTOBUF_CONSTINIT const uint32_t XmlExprOp_internal_data_[] = {
    589824u, 0u, };
bool XmlExprOp_IsValid(int value) {
  return 0 <= value && value <= 8;
}
const ::google::protobuf::EnumDescriptor* XmlOptionType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[47];
}
PROTOBUF_CONSTINIT const uint32_t XmlOptionType_internal_data_[] = {
    196608u, 0u, };
bool XmlOptionType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* JsonEncoding_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[48];
}
PROTOBUF_CONSTINIT const uint32_t JsonEncoding_internal_data_[] = {
    327680u, 0u, };
bool JsonEncoding_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* JsonFormatType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[49];
}
PROTOBUF_CONSTINIT const uint32_t JsonFormatType_internal_data_[] = {
    262144u, 0u, };
bool JsonFormatType_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* JsonConstructorType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[50];
}
PROTOBUF_CONSTINIT const uint32_t JsonConstructorType_internal_data_[] = {
    524288u, 0u, };
bool JsonConstructorType_IsValid(int value) {
  return 0 <= value && value <= 7;
}
const ::google::protobuf::EnumDescriptor* JsonValueType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[51];
}
PROTOBUF_CONSTINIT const uint32_t JsonValueType_internal_data_[] = {
    327680u, 0u, };
bool JsonValueType_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* JsonWrapper_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[52];
}
PROTOBUF_CONSTINIT const uint32_t JsonWrapper_internal_data_[] = {
    327680u, 0u, };
bool JsonWrapper_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* JsonBehaviorType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[53];
}
PROTOBUF_CONSTINIT const uint32_t JsonBehaviorType_internal_data_[] = {
    655360u, 0u, };
bool JsonBehaviorType_IsValid(int value) {
  return 0 <= value && value <= 9;
}
const ::google::protobuf::EnumDescriptor* JsonExprOp_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[54];
}
PROTOBUF_CONSTINIT const uint32_t JsonExprOp_internal_data_[] = {
    327680u, 0u, };
bool JsonExprOp_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* NullTestType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[55];
}
PROTOBUF_CONSTINIT const uint32_t NullTestType_internal_data_[] = {
    196608u, 0u, };
bool NullTestType_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* BoolTestType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[56];
}
PROTOBUF_CONSTINIT const uint32_t BoolTestType_internal_data_[] = {
    458752u, 0u, };
bool BoolTestType_IsValid(int value) {
  return 0 <= value && value <= 6;
}
const ::google::protobuf::EnumDescriptor* MergeMatchKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[57];
}
PROTOBUF_CONSTINIT const uint32_t MergeMatchKind_internal_data_[] = {
    262144u, 0u, };
bool MergeMatchKind_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* CmdType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[58];
}
PROTOBUF_CONSTINIT const uint32_t CmdType_internal_data_[] = {
    589824u, 0u, };
bool CmdType_IsValid(int value) {
  return 0 <= value && value <= 8;
}
const ::google::protobuf::EnumDescriptor* JoinType_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[59];
}
PROTOBUF_CONSTINIT const uint32_t JoinType_internal_data_[] = {
    655360u, 0u, };
bool JoinType_IsValid(int value) {
  return 0 <= value && value <= 9;
}
const ::google::protobuf::EnumDescriptor* AggStrategy_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[60];
}
PROTOBUF_CONSTINIT const uint32_t AggStrategy_internal_data_[] = {
    327680u, 0u, };
bool AggStrategy_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* AggSplit_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[61];
}
PROTOBUF_CONSTINIT const uint32_t AggSplit_internal_data_[] = {
    262144u, 0u, };
bool AggSplit_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* SetOpCmd_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[62];
}
PROTOBUF_CONSTINIT const uint32_t SetOpCmd_internal_data_[] = {
    327680u, 0u, };
bool SetOpCmd_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* SetOpStrategy_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[63];
}
PROTOBUF_CONSTINIT const uint32_t SetOpStrategy_internal_data_[] = {
    196608u, 0u, };
bool SetOpStrategy_IsValid(int value) {
  return 0 <= value && value <= 2;
}
const ::google::protobuf::EnumDescriptor* OnConflictAction_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[64];
}
PROTOBUF_CONSTINIT const uint32_t OnConflictAction_internal_data_[] = {
    262144u, 0u, };
bool OnConflictAction_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* LimitOption_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[65];
}
PROTOBUF_CONSTINIT const uint32_t LimitOption_internal_data_[] = {
    262144u, 0u, };
bool LimitOption_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* LockClauseStrength_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[66];
}
PROTOBUF_CONSTINIT const uint32_t LockClauseStrength_internal_data_[] = {
    393216u, 0u, };
bool LockClauseStrength_IsValid(int value) {
  return 0 <= value && value <= 5;
}
const ::google::protobuf::EnumDescriptor* LockWaitPolicy_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[67];
}
PROTOBUF_CONSTINIT const uint32_t LockWaitPolicy_internal_data_[] = {
    262144u, 0u, };
bool LockWaitPolicy_IsValid(int value) {
  return 0 <= value && value <= 3;
}
const ::google::protobuf::EnumDescriptor* LockTupleMode_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[68];
}
PROTOBUF_CONSTINIT const uint32_t LockTupleMode_internal_data_[] = {
    327680u, 0u, };
bool LockTupleMode_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* KeywordKind_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[69];
}
PROTOBUF_CONSTINIT const uint32_t KeywordKind_internal_data_[] = {
    327680u, 0u, };
bool KeywordKind_IsValid(int value) {
  return 0 <= value && value <= 4;
}
const ::google::protobuf::EnumDescriptor* Token_descriptor() {
  ::google::protobuf::internal::AssignDescriptors(&descriptor_table_protobuf_2fpg_5fquery_2eproto);
  return file_level_enum_descriptors_protobuf_2fpg_5fquery_2eproto[70];
}
PROTOBUF_CONSTINIT const uint32_t Token_internal_data_[] = {
    65536u, 800u, 0u, 2113961880u, 1006632960u, 0u, 0u, 0u, 0u, 0u, 4294967294u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 4294967295u, 1023u, };
bool Token_IsValid(int value) {
  return ::_pbi::ValidateEnum(value, Token_internal_data_);
}
// ===================================================================

class ParseResult::_Internal {
 public:
};

ParseResult::ParseResult(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParseResult)
}
inline PROTOBUF_NDEBUG_INLINE ParseResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : stmts_{visibility, arena, from.stmts_},
        _cached_size_{0} {}

ParseResult::ParseResult(
    ::google::protobuf::Arena* arena,
    const ParseResult& from)
    : ::google::protobuf::Message(arena) {
  ParseResult* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.version_ = from._impl_.version_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ParseResult)
}
inline PROTOBUF_NDEBUG_INLINE ParseResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : stmts_{visibility, arena},
        _cached_size_{0} {}

inline void ParseResult::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.version_ = {};
}
ParseResult::~ParseResult() {
  // @@protoc_insertion_point(destructor:pg_query.ParseResult)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ParseResult::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ParseResult::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ParseResult)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.stmts_.Clear();
  _impl_.version_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ParseResult::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> ParseResult::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ParseResult_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.RawStmt stmts = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ParseResult, _impl_.stmts_)}},
    // int32 version = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ParseResult, _impl_.version_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ParseResult, _impl_.version_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 version = 1;
    {PROTOBUF_FIELD_OFFSET(ParseResult, _impl_.version_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.RawStmt stmts = 2;
    {PROTOBUF_FIELD_OFFSET(ParseResult, _impl_.stmts_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RawStmt>()},
  }}, {{
  }},
};

::uint8_t* ParseResult::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ParseResult)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 version = 1;
  if (this->_internal_version() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_version(), target);
  }

  // repeated .pg_query.RawStmt stmts = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_stmts_size()); i < n; i++) {
    const auto& repfield = this->_internal_stmts().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ParseResult)
  return target;
}

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

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

  // repeated .pg_query.RawStmt stmts = 2;
  total_size += 1UL * this->_internal_stmts_size();
  for (const auto& msg : this->_internal_stmts()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // int32 version = 1;
  if (this->_internal_version() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_version());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ParseResult::_class_data_ = {
    ParseResult::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ParseResult::GetClassData() const {
  return &_class_data_;
}

void ParseResult::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ParseResult*>(&to_msg);
  auto& from = static_cast<const ParseResult&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ParseResult)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_stmts()->MergeFrom(
      from._internal_stmts());
  if (from._internal_version() != 0) {
    _this->_internal_set_version(from._internal_version());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ParseResult::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ParseResult::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ParseResult::InternalSwap(ParseResult* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.stmts_.InternalSwap(&other->_impl_.stmts_);
        swap(_impl_.version_, other->_impl_.version_);
}

::google::protobuf::Metadata ParseResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[0]);
}
// ===================================================================

class ScanResult::_Internal {
 public:
};

ScanResult::ScanResult(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanResult)
}
inline PROTOBUF_NDEBUG_INLINE ScanResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : tokens_{visibility, arena, from.tokens_},
        _cached_size_{0} {}

ScanResult::ScanResult(
    ::google::protobuf::Arena* arena,
    const ScanResult& from)
    : ::google::protobuf::Message(arena) {
  ScanResult* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.version_ = from._impl_.version_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ScanResult)
}
inline PROTOBUF_NDEBUG_INLINE ScanResult::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : tokens_{visibility, arena},
        _cached_size_{0} {}

inline void ScanResult::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.version_ = {};
}
ScanResult::~ScanResult() {
  // @@protoc_insertion_point(destructor:pg_query.ScanResult)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ScanResult::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ScanResult::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ScanResult)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tokens_.Clear();
  _impl_.version_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ScanResult::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> ScanResult::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ScanResult_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.ScanToken tokens = 2;
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ScanResult, _impl_.tokens_)}},
    // int32 version = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScanResult, _impl_.version_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ScanResult, _impl_.version_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 version = 1;
    {PROTOBUF_FIELD_OFFSET(ScanResult, _impl_.version_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.ScanToken tokens = 2;
    {PROTOBUF_FIELD_OFFSET(ScanResult, _impl_.tokens_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::ScanToken>()},
  }}, {{
  }},
};

::uint8_t* ScanResult::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScanResult)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 version = 1;
  if (this->_internal_version() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_version(), target);
  }

  // repeated .pg_query.ScanToken tokens = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tokens_size()); i < n; i++) {
    const auto& repfield = this->_internal_tokens().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ScanResult)
  return target;
}

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

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

  // repeated .pg_query.ScanToken tokens = 2;
  total_size += 1UL * this->_internal_tokens_size();
  for (const auto& msg : this->_internal_tokens()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // int32 version = 1;
  if (this->_internal_version() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_version());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ScanResult::_class_data_ = {
    ScanResult::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ScanResult::GetClassData() const {
  return &_class_data_;
}

void ScanResult::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ScanResult*>(&to_msg);
  auto& from = static_cast<const ScanResult&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScanResult)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_tokens()->MergeFrom(
      from._internal_tokens());
  if (from._internal_version() != 0) {
    _this->_internal_set_version(from._internal_version());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ScanResult::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ScanResult::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ScanResult::InternalSwap(ScanResult* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.tokens_.InternalSwap(&other->_impl_.tokens_);
        swap(_impl_.version_, other->_impl_.version_);
}

::google::protobuf::Metadata ScanResult::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[1]);
}
// ===================================================================

class Node::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::pg_query::Node, _impl_._oneof_case_);
  static const ::pg_query::Alias& alias(const Node* msg);
  static const ::pg_query::RangeVar& range_var(const Node* msg);
  static const ::pg_query::TableFunc& table_func(const Node* msg);
  static const ::pg_query::IntoClause& into_clause(const Node* msg);
  static const ::pg_query::Var& var(const Node* msg);
  static const ::pg_query::Param& param(const Node* msg);
  static const ::pg_query::Aggref& aggref(const Node* msg);
  static const ::pg_query::GroupingFunc& grouping_func(const Node* msg);
  static const ::pg_query::WindowFunc& window_func(const Node* msg);
  static const ::pg_query::WindowFuncRunCondition& window_func_run_condition(const Node* msg);
  static const ::pg_query::MergeSupportFunc& merge_support_func(const Node* msg);
  static const ::pg_query::SubscriptingRef& subscripting_ref(const Node* msg);
  static const ::pg_query::FuncExpr& func_expr(const Node* msg);
  static const ::pg_query::NamedArgExpr& named_arg_expr(const Node* msg);
  static const ::pg_query::OpExpr& op_expr(const Node* msg);
  static const ::pg_query::DistinctExpr& distinct_expr(const Node* msg);
  static const ::pg_query::NullIfExpr& null_if_expr(const Node* msg);
  static const ::pg_query::ScalarArrayOpExpr& scalar_array_op_expr(const Node* msg);
  static const ::pg_query::BoolExpr& bool_expr(const Node* msg);
  static const ::pg_query::SubLink& sub_link(const Node* msg);
  static const ::pg_query::SubPlan& sub_plan(const Node* msg);
  static const ::pg_query::AlternativeSubPlan& alternative_sub_plan(const Node* msg);
  static const ::pg_query::FieldSelect& field_select(const Node* msg);
  static const ::pg_query::FieldStore& field_store(const Node* msg);
  static const ::pg_query::RelabelType& relabel_type(const Node* msg);
  static const ::pg_query::CoerceViaIO& coerce_via_io(const Node* msg);
  static const ::pg_query::ArrayCoerceExpr& array_coerce_expr(const Node* msg);
  static const ::pg_query::ConvertRowtypeExpr& convert_rowtype_expr(const Node* msg);
  static const ::pg_query::CollateExpr& collate_expr(const Node* msg);
  static const ::pg_query::CaseExpr& case_expr(const Node* msg);
  static const ::pg_query::CaseWhen& case_when(const Node* msg);
  static const ::pg_query::CaseTestExpr& case_test_expr(const Node* msg);
  static const ::pg_query::ArrayExpr& array_expr(const Node* msg);
  static const ::pg_query::RowExpr& row_expr(const Node* msg);
  static const ::pg_query::RowCompareExpr& row_compare_expr(const Node* msg);
  static const ::pg_query::CoalesceExpr& coalesce_expr(const Node* msg);
  static const ::pg_query::MinMaxExpr& min_max_expr(const Node* msg);
  static const ::pg_query::SQLValueFunction& sqlvalue_function(const Node* msg);
  static const ::pg_query::XmlExpr& xml_expr(const Node* msg);
  static const ::pg_query::JsonFormat& json_format(const Node* msg);
  static const ::pg_query::JsonReturning& json_returning(const Node* msg);
  static const ::pg_query::JsonValueExpr& json_value_expr(const Node* msg);
  static const ::pg_query::JsonConstructorExpr& json_constructor_expr(const Node* msg);
  static const ::pg_query::JsonIsPredicate& json_is_predicate(const Node* msg);
  static const ::pg_query::JsonBehavior& json_behavior(const Node* msg);
  static const ::pg_query::JsonExpr& json_expr(const Node* msg);
  static const ::pg_query::JsonTablePath& json_table_path(const Node* msg);
  static const ::pg_query::JsonTablePathScan& json_table_path_scan(const Node* msg);
  static const ::pg_query::JsonTableSiblingJoin& json_table_sibling_join(const Node* msg);
  static const ::pg_query::NullTest& null_test(const Node* msg);
  static const ::pg_query::BooleanTest& boolean_test(const Node* msg);
  static const ::pg_query::MergeAction& merge_action(const Node* msg);
  static const ::pg_query::CoerceToDomain& coerce_to_domain(const Node* msg);
  static const ::pg_query::CoerceToDomainValue& coerce_to_domain_value(const Node* msg);
  static const ::pg_query::SetToDefault& set_to_default(const Node* msg);
  static const ::pg_query::CurrentOfExpr& current_of_expr(const Node* msg);
  static const ::pg_query::NextValueExpr& next_value_expr(const Node* msg);
  static const ::pg_query::InferenceElem& inference_elem(const Node* msg);
  static const ::pg_query::TargetEntry& target_entry(const Node* msg);
  static const ::pg_query::RangeTblRef& range_tbl_ref(const Node* msg);
  static const ::pg_query::JoinExpr& join_expr(const Node* msg);
  static const ::pg_query::FromExpr& from_expr(const Node* msg);
  static const ::pg_query::OnConflictExpr& on_conflict_expr(const Node* msg);
  static const ::pg_query::Query& query(const Node* msg);
  static const ::pg_query::TypeName& type_name(const Node* msg);
  static const ::pg_query::ColumnRef& column_ref(const Node* msg);
  static const ::pg_query::ParamRef& param_ref(const Node* msg);
  static const ::pg_query::A_Expr& a_expr(const Node* msg);
  static const ::pg_query::TypeCast& type_cast(const Node* msg);
  static const ::pg_query::CollateClause& collate_clause(const Node* msg);
  static const ::pg_query::RoleSpec& role_spec(const Node* msg);
  static const ::pg_query::FuncCall& func_call(const Node* msg);
  static const ::pg_query::A_Star& a_star(const Node* msg);
  static const ::pg_query::A_Indices& a_indices(const Node* msg);
  static const ::pg_query::A_Indirection& a_indirection(const Node* msg);
  static const ::pg_query::A_ArrayExpr& a_array_expr(const Node* msg);
  static const ::pg_query::ResTarget& res_target(const Node* msg);
  static const ::pg_query::MultiAssignRef& multi_assign_ref(const Node* msg);
  static const ::pg_query::SortBy& sort_by(const Node* msg);
  static const ::pg_query::WindowDef& window_def(const Node* msg);
  static const ::pg_query::RangeSubselect& range_subselect(const Node* msg);
  static const ::pg_query::RangeFunction& range_function(const Node* msg);
  static const ::pg_query::RangeTableFunc& range_table_func(const Node* msg);
  static const ::pg_query::RangeTableFuncCol& range_table_func_col(const Node* msg);
  static const ::pg_query::RangeTableSample& range_table_sample(const Node* msg);
  static const ::pg_query::ColumnDef& column_def(const Node* msg);
  static const ::pg_query::TableLikeClause& table_like_clause(const Node* msg);
  static const ::pg_query::IndexElem& index_elem(const Node* msg);
  static const ::pg_query::DefElem& def_elem(const Node* msg);
  static const ::pg_query::LockingClause& locking_clause(const Node* msg);
  static const ::pg_query::XmlSerialize& xml_serialize(const Node* msg);
  static const ::pg_query::PartitionElem& partition_elem(const Node* msg);
  static const ::pg_query::PartitionSpec& partition_spec(const Node* msg);
  static const ::pg_query::PartitionBoundSpec& partition_bound_spec(const Node* msg);
  static const ::pg_query::PartitionRangeDatum& partition_range_datum(const Node* msg);
  static const ::pg_query::SinglePartitionSpec& single_partition_spec(const Node* msg);
  static const ::pg_query::PartitionCmd& partition_cmd(const Node* msg);
  static const ::pg_query::RangeTblEntry& range_tbl_entry(const Node* msg);
  static const ::pg_query::RTEPermissionInfo& rtepermission_info(const Node* msg);
  static const ::pg_query::RangeTblFunction& range_tbl_function(const Node* msg);
  static const ::pg_query::TableSampleClause& table_sample_clause(const Node* msg);
  static const ::pg_query::WithCheckOption& with_check_option(const Node* msg);
  static const ::pg_query::SortGroupClause& sort_group_clause(const Node* msg);
  static const ::pg_query::GroupingSet& grouping_set(const Node* msg);
  static const ::pg_query::WindowClause& window_clause(const Node* msg);
  static const ::pg_query::RowMarkClause& row_mark_clause(const Node* msg);
  static const ::pg_query::WithClause& with_clause(const Node* msg);
  static const ::pg_query::InferClause& infer_clause(const Node* msg);
  static const ::pg_query::OnConflictClause& on_conflict_clause(const Node* msg);
  static const ::pg_query::CTESearchClause& ctesearch_clause(const Node* msg);
  static const ::pg_query::CTECycleClause& ctecycle_clause(const Node* msg);
  static const ::pg_query::CommonTableExpr& common_table_expr(const Node* msg);
  static const ::pg_query::MergeWhenClause& merge_when_clause(const Node* msg);
  static const ::pg_query::TriggerTransition& trigger_transition(const Node* msg);
  static const ::pg_query::JsonOutput& json_output(const Node* msg);
  static const ::pg_query::JsonArgument& json_argument(const Node* msg);
  static const ::pg_query::JsonFuncExpr& json_func_expr(const Node* msg);
  static const ::pg_query::JsonTablePathSpec& json_table_path_spec(const Node* msg);
  static const ::pg_query::JsonTable& json_table(const Node* msg);
  static const ::pg_query::JsonTableColumn& json_table_column(const Node* msg);
  static const ::pg_query::JsonKeyValue& json_key_value(const Node* msg);
  static const ::pg_query::JsonParseExpr& json_parse_expr(const Node* msg);
  static const ::pg_query::JsonScalarExpr& json_scalar_expr(const Node* msg);
  static const ::pg_query::JsonSerializeExpr& json_serialize_expr(const Node* msg);
  static const ::pg_query::JsonObjectConstructor& json_object_constructor(const Node* msg);
  static const ::pg_query::JsonArrayConstructor& json_array_constructor(const Node* msg);
  static const ::pg_query::JsonArrayQueryConstructor& json_array_query_constructor(const Node* msg);
  static const ::pg_query::JsonAggConstructor& json_agg_constructor(const Node* msg);
  static const ::pg_query::JsonObjectAgg& json_object_agg(const Node* msg);
  static const ::pg_query::JsonArrayAgg& json_array_agg(const Node* msg);
  static const ::pg_query::RawStmt& raw_stmt(const Node* msg);
  static const ::pg_query::InsertStmt& insert_stmt(const Node* msg);
  static const ::pg_query::DeleteStmt& delete_stmt(const Node* msg);
  static const ::pg_query::UpdateStmt& update_stmt(const Node* msg);
  static const ::pg_query::MergeStmt& merge_stmt(const Node* msg);
  static const ::pg_query::SelectStmt& select_stmt(const Node* msg);
  static const ::pg_query::SetOperationStmt& set_operation_stmt(const Node* msg);
  static const ::pg_query::ReturnStmt& return_stmt(const Node* msg);
  static const ::pg_query::PLAssignStmt& plassign_stmt(const Node* msg);
  static const ::pg_query::CreateSchemaStmt& create_schema_stmt(const Node* msg);
  static const ::pg_query::AlterTableStmt& alter_table_stmt(const Node* msg);
  static const ::pg_query::ReplicaIdentityStmt& replica_identity_stmt(const Node* msg);
  static const ::pg_query::AlterTableCmd& alter_table_cmd(const Node* msg);
  static const ::pg_query::AlterCollationStmt& alter_collation_stmt(const Node* msg);
  static const ::pg_query::AlterDomainStmt& alter_domain_stmt(const Node* msg);
  static const ::pg_query::GrantStmt& grant_stmt(const Node* msg);
  static const ::pg_query::ObjectWithArgs& object_with_args(const Node* msg);
  static const ::pg_query::AccessPriv& access_priv(const Node* msg);
  static const ::pg_query::GrantRoleStmt& grant_role_stmt(const Node* msg);
  static const ::pg_query::AlterDefaultPrivilegesStmt& alter_default_privileges_stmt(const Node* msg);
  static const ::pg_query::CopyStmt& copy_stmt(const Node* msg);
  static const ::pg_query::VariableSetStmt& variable_set_stmt(const Node* msg);
  static const ::pg_query::VariableShowStmt& variable_show_stmt(const Node* msg);
  static const ::pg_query::CreateStmt& create_stmt(const Node* msg);
  static const ::pg_query::Constraint& constraint(const Node* msg);
  static const ::pg_query::CreateTableSpaceStmt& create_table_space_stmt(const Node* msg);
  static const ::pg_query::DropTableSpaceStmt& drop_table_space_stmt(const Node* msg);
  static const ::pg_query::AlterTableSpaceOptionsStmt& alter_table_space_options_stmt(const Node* msg);
  static const ::pg_query::AlterTableMoveAllStmt& alter_table_move_all_stmt(const Node* msg);
  static const ::pg_query::CreateExtensionStmt& create_extension_stmt(const Node* msg);
  static const ::pg_query::AlterExtensionStmt& alter_extension_stmt(const Node* msg);
  static const ::pg_query::AlterExtensionContentsStmt& alter_extension_contents_stmt(const Node* msg);
  static const ::pg_query::CreateFdwStmt& create_fdw_stmt(const Node* msg);
  static const ::pg_query::AlterFdwStmt& alter_fdw_stmt(const Node* msg);
  static const ::pg_query::CreateForeignServerStmt& create_foreign_server_stmt(const Node* msg);
  static const ::pg_query::AlterForeignServerStmt& alter_foreign_server_stmt(const Node* msg);
  static const ::pg_query::CreateForeignTableStmt& create_foreign_table_stmt(const Node* msg);
  static const ::pg_query::CreateUserMappingStmt& create_user_mapping_stmt(const Node* msg);
  static const ::pg_query::AlterUserMappingStmt& alter_user_mapping_stmt(const Node* msg);
  static const ::pg_query::DropUserMappingStmt& drop_user_mapping_stmt(const Node* msg);
  static const ::pg_query::ImportForeignSchemaStmt& import_foreign_schema_stmt(const Node* msg);
  static const ::pg_query::CreatePolicyStmt& create_policy_stmt(const Node* msg);
  static const ::pg_query::AlterPolicyStmt& alter_policy_stmt(const Node* msg);
  static const ::pg_query::CreateAmStmt& create_am_stmt(const Node* msg);
  static const ::pg_query::CreateTrigStmt& create_trig_stmt(const Node* msg);
  static const ::pg_query::CreateEventTrigStmt& create_event_trig_stmt(const Node* msg);
  static const ::pg_query::AlterEventTrigStmt& alter_event_trig_stmt(const Node* msg);
  static const ::pg_query::CreatePLangStmt& create_plang_stmt(const Node* msg);
  static const ::pg_query::CreateRoleStmt& create_role_stmt(const Node* msg);
  static const ::pg_query::AlterRoleStmt& alter_role_stmt(const Node* msg);
  static const ::pg_query::AlterRoleSetStmt& alter_role_set_stmt(const Node* msg);
  static const ::pg_query::DropRoleStmt& drop_role_stmt(const Node* msg);
  static const ::pg_query::CreateSeqStmt& create_seq_stmt(const Node* msg);
  static const ::pg_query::AlterSeqStmt& alter_seq_stmt(const Node* msg);
  static const ::pg_query::DefineStmt& define_stmt(const Node* msg);
  static const ::pg_query::CreateDomainStmt& create_domain_stmt(const Node* msg);
  static const ::pg_query::CreateOpClassStmt& create_op_class_stmt(const Node* msg);
  static const ::pg_query::CreateOpClassItem& create_op_class_item(const Node* msg);
  static const ::pg_query::CreateOpFamilyStmt& create_op_family_stmt(const Node* msg);
  static const ::pg_query::AlterOpFamilyStmt& alter_op_family_stmt(const Node* msg);
  static const ::pg_query::DropStmt& drop_stmt(const Node* msg);
  static const ::pg_query::TruncateStmt& truncate_stmt(const Node* msg);
  static const ::pg_query::CommentStmt& comment_stmt(const Node* msg);
  static const ::pg_query::SecLabelStmt& sec_label_stmt(const Node* msg);
  static const ::pg_query::DeclareCursorStmt& declare_cursor_stmt(const Node* msg);
  static const ::pg_query::ClosePortalStmt& close_portal_stmt(const Node* msg);
  static const ::pg_query::FetchStmt& fetch_stmt(const Node* msg);
  static const ::pg_query::IndexStmt& index_stmt(const Node* msg);
  static const ::pg_query::CreateStatsStmt& create_stats_stmt(const Node* msg);
  static const ::pg_query::StatsElem& stats_elem(const Node* msg);
  static const ::pg_query::AlterStatsStmt& alter_stats_stmt(const Node* msg);
  static const ::pg_query::CreateFunctionStmt& create_function_stmt(const Node* msg);
  static const ::pg_query::FunctionParameter& function_parameter(const Node* msg);
  static const ::pg_query::AlterFunctionStmt& alter_function_stmt(const Node* msg);
  static const ::pg_query::DoStmt& do_stmt(const Node* msg);
  static const ::pg_query::InlineCodeBlock& inline_code_block(const Node* msg);
  static const ::pg_query::CallStmt& call_stmt(const Node* msg);
  static const ::pg_query::CallContext& call_context(const Node* msg);
  static const ::pg_query::RenameStmt& rename_stmt(const Node* msg);
  static const ::pg_query::AlterObjectDependsStmt& alter_object_depends_stmt(const Node* msg);
  static const ::pg_query::AlterObjectSchemaStmt& alter_object_schema_stmt(const Node* msg);
  static const ::pg_query::AlterOwnerStmt& alter_owner_stmt(const Node* msg);
  static const ::pg_query::AlterOperatorStmt& alter_operator_stmt(const Node* msg);
  static const ::pg_query::AlterTypeStmt& alter_type_stmt(const Node* msg);
  static const ::pg_query::RuleStmt& rule_stmt(const Node* msg);
  static const ::pg_query::NotifyStmt& notify_stmt(const Node* msg);
  static const ::pg_query::ListenStmt& listen_stmt(const Node* msg);
  static const ::pg_query::UnlistenStmt& unlisten_stmt(const Node* msg);
  static const ::pg_query::TransactionStmt& transaction_stmt(const Node* msg);
  static const ::pg_query::CompositeTypeStmt& composite_type_stmt(const Node* msg);
  static const ::pg_query::CreateEnumStmt& create_enum_stmt(const Node* msg);
  static const ::pg_query::CreateRangeStmt& create_range_stmt(const Node* msg);
  static const ::pg_query::AlterEnumStmt& alter_enum_stmt(const Node* msg);
  static const ::pg_query::ViewStmt& view_stmt(const Node* msg);
  static const ::pg_query::LoadStmt& load_stmt(const Node* msg);
  static const ::pg_query::CreatedbStmt& createdb_stmt(const Node* msg);
  static const ::pg_query::AlterDatabaseStmt& alter_database_stmt(const Node* msg);
  static const ::pg_query::AlterDatabaseRefreshCollStmt& alter_database_refresh_coll_stmt(const Node* msg);
  static const ::pg_query::AlterDatabaseSetStmt& alter_database_set_stmt(const Node* msg);
  static const ::pg_query::DropdbStmt& dropdb_stmt(const Node* msg);
  static const ::pg_query::AlterSystemStmt& alter_system_stmt(const Node* msg);
  static const ::pg_query::ClusterStmt& cluster_stmt(const Node* msg);
  static const ::pg_query::VacuumStmt& vacuum_stmt(const Node* msg);
  static const ::pg_query::VacuumRelation& vacuum_relation(const Node* msg);
  static const ::pg_query::ExplainStmt& explain_stmt(const Node* msg);
  static const ::pg_query::CreateTableAsStmt& create_table_as_stmt(const Node* msg);
  static const ::pg_query::RefreshMatViewStmt& refresh_mat_view_stmt(const Node* msg);
  static const ::pg_query::CheckPointStmt& check_point_stmt(const Node* msg);
  static const ::pg_query::DiscardStmt& discard_stmt(const Node* msg);
  static const ::pg_query::LockStmt& lock_stmt(const Node* msg);
  static const ::pg_query::ConstraintsSetStmt& constraints_set_stmt(const Node* msg);
  static const ::pg_query::ReindexStmt& reindex_stmt(const Node* msg);
  static const ::pg_query::CreateConversionStmt& create_conversion_stmt(const Node* msg);
  static const ::pg_query::CreateCastStmt& create_cast_stmt(const Node* msg);
  static const ::pg_query::CreateTransformStmt& create_transform_stmt(const Node* msg);
  static const ::pg_query::PrepareStmt& prepare_stmt(const Node* msg);
  static const ::pg_query::ExecuteStmt& execute_stmt(const Node* msg);
  static const ::pg_query::DeallocateStmt& deallocate_stmt(const Node* msg);
  static const ::pg_query::DropOwnedStmt& drop_owned_stmt(const Node* msg);
  static const ::pg_query::ReassignOwnedStmt& reassign_owned_stmt(const Node* msg);
  static const ::pg_query::AlterTSDictionaryStmt& alter_tsdictionary_stmt(const Node* msg);
  static const ::pg_query::AlterTSConfigurationStmt& alter_tsconfiguration_stmt(const Node* msg);
  static const ::pg_query::PublicationTable& publication_table(const Node* msg);
  static const ::pg_query::PublicationObjSpec& publication_obj_spec(const Node* msg);
  static const ::pg_query::CreatePublicationStmt& create_publication_stmt(const Node* msg);
  static const ::pg_query::AlterPublicationStmt& alter_publication_stmt(const Node* msg);
  static const ::pg_query::CreateSubscriptionStmt& create_subscription_stmt(const Node* msg);
  static const ::pg_query::AlterSubscriptionStmt& alter_subscription_stmt(const Node* msg);
  static const ::pg_query::DropSubscriptionStmt& drop_subscription_stmt(const Node* msg);
  static const ::pg_query::Integer& integer(const Node* msg);
  static const ::pg_query::Float& float_(const Node* msg);
  static const ::pg_query::Boolean& boolean(const Node* msg);
  static const ::pg_query::String& string(const Node* msg);
  static const ::pg_query::BitString& bit_string(const Node* msg);
  static const ::pg_query::List& list(const Node* msg);
  static const ::pg_query::IntList& int_list(const Node* msg);
  static const ::pg_query::OidList& oid_list(const Node* msg);
  static const ::pg_query::A_Const& a_const(const Node* msg);
};

const ::pg_query::Alias& Node::_Internal::alias(const Node* msg) {
  return *msg->_impl_.node_.alias_;
}
const ::pg_query::RangeVar& Node::_Internal::range_var(const Node* msg) {
  return *msg->_impl_.node_.range_var_;
}
const ::pg_query::TableFunc& Node::_Internal::table_func(const Node* msg) {
  return *msg->_impl_.node_.table_func_;
}
const ::pg_query::IntoClause& Node::_Internal::into_clause(const Node* msg) {
  return *msg->_impl_.node_.into_clause_;
}
const ::pg_query::Var& Node::_Internal::var(const Node* msg) {
  return *msg->_impl_.node_.var_;
}
const ::pg_query::Param& Node::_Internal::param(const Node* msg) {
  return *msg->_impl_.node_.param_;
}
const ::pg_query::Aggref& Node::_Internal::aggref(const Node* msg) {
  return *msg->_impl_.node_.aggref_;
}
const ::pg_query::GroupingFunc& Node::_Internal::grouping_func(const Node* msg) {
  return *msg->_impl_.node_.grouping_func_;
}
const ::pg_query::WindowFunc& Node::_Internal::window_func(const Node* msg) {
  return *msg->_impl_.node_.window_func_;
}
const ::pg_query::WindowFuncRunCondition& Node::_Internal::window_func_run_condition(const Node* msg) {
  return *msg->_impl_.node_.window_func_run_condition_;
}
const ::pg_query::MergeSupportFunc& Node::_Internal::merge_support_func(const Node* msg) {
  return *msg->_impl_.node_.merge_support_func_;
}
const ::pg_query::SubscriptingRef& Node::_Internal::subscripting_ref(const Node* msg) {
  return *msg->_impl_.node_.subscripting_ref_;
}
const ::pg_query::FuncExpr& Node::_Internal::func_expr(const Node* msg) {
  return *msg->_impl_.node_.func_expr_;
}
const ::pg_query::NamedArgExpr& Node::_Internal::named_arg_expr(const Node* msg) {
  return *msg->_impl_.node_.named_arg_expr_;
}
const ::pg_query::OpExpr& Node::_Internal::op_expr(const Node* msg) {
  return *msg->_impl_.node_.op_expr_;
}
const ::pg_query::DistinctExpr& Node::_Internal::distinct_expr(const Node* msg) {
  return *msg->_impl_.node_.distinct_expr_;
}
const ::pg_query::NullIfExpr& Node::_Internal::null_if_expr(const Node* msg) {
  return *msg->_impl_.node_.null_if_expr_;
}
const ::pg_query::ScalarArrayOpExpr& Node::_Internal::scalar_array_op_expr(const Node* msg) {
  return *msg->_impl_.node_.scalar_array_op_expr_;
}
const ::pg_query::BoolExpr& Node::_Internal::bool_expr(const Node* msg) {
  return *msg->_impl_.node_.bool_expr_;
}
const ::pg_query::SubLink& Node::_Internal::sub_link(const Node* msg) {
  return *msg->_impl_.node_.sub_link_;
}
const ::pg_query::SubPlan& Node::_Internal::sub_plan(const Node* msg) {
  return *msg->_impl_.node_.sub_plan_;
}
const ::pg_query::AlternativeSubPlan& Node::_Internal::alternative_sub_plan(const Node* msg) {
  return *msg->_impl_.node_.alternative_sub_plan_;
}
const ::pg_query::FieldSelect& Node::_Internal::field_select(const Node* msg) {
  return *msg->_impl_.node_.field_select_;
}
const ::pg_query::FieldStore& Node::_Internal::field_store(const Node* msg) {
  return *msg->_impl_.node_.field_store_;
}
const ::pg_query::RelabelType& Node::_Internal::relabel_type(const Node* msg) {
  return *msg->_impl_.node_.relabel_type_;
}
const ::pg_query::CoerceViaIO& Node::_Internal::coerce_via_io(const Node* msg) {
  return *msg->_impl_.node_.coerce_via_io_;
}
const ::pg_query::ArrayCoerceExpr& Node::_Internal::array_coerce_expr(const Node* msg) {
  return *msg->_impl_.node_.array_coerce_expr_;
}
const ::pg_query::ConvertRowtypeExpr& Node::_Internal::convert_rowtype_expr(const Node* msg) {
  return *msg->_impl_.node_.convert_rowtype_expr_;
}
const ::pg_query::CollateExpr& Node::_Internal::collate_expr(const Node* msg) {
  return *msg->_impl_.node_.collate_expr_;
}
const ::pg_query::CaseExpr& Node::_Internal::case_expr(const Node* msg) {
  return *msg->_impl_.node_.case_expr_;
}
const ::pg_query::CaseWhen& Node::_Internal::case_when(const Node* msg) {
  return *msg->_impl_.node_.case_when_;
}
const ::pg_query::CaseTestExpr& Node::_Internal::case_test_expr(const Node* msg) {
  return *msg->_impl_.node_.case_test_expr_;
}
const ::pg_query::ArrayExpr& Node::_Internal::array_expr(const Node* msg) {
  return *msg->_impl_.node_.array_expr_;
}
const ::pg_query::RowExpr& Node::_Internal::row_expr(const Node* msg) {
  return *msg->_impl_.node_.row_expr_;
}
const ::pg_query::RowCompareExpr& Node::_Internal::row_compare_expr(const Node* msg) {
  return *msg->_impl_.node_.row_compare_expr_;
}
const ::pg_query::CoalesceExpr& Node::_Internal::coalesce_expr(const Node* msg) {
  return *msg->_impl_.node_.coalesce_expr_;
}
const ::pg_query::MinMaxExpr& Node::_Internal::min_max_expr(const Node* msg) {
  return *msg->_impl_.node_.min_max_expr_;
}
const ::pg_query::SQLValueFunction& Node::_Internal::sqlvalue_function(const Node* msg) {
  return *msg->_impl_.node_.sqlvalue_function_;
}
const ::pg_query::XmlExpr& Node::_Internal::xml_expr(const Node* msg) {
  return *msg->_impl_.node_.xml_expr_;
}
const ::pg_query::JsonFormat& Node::_Internal::json_format(const Node* msg) {
  return *msg->_impl_.node_.json_format_;
}
const ::pg_query::JsonReturning& Node::_Internal::json_returning(const Node* msg) {
  return *msg->_impl_.node_.json_returning_;
}
const ::pg_query::JsonValueExpr& Node::_Internal::json_value_expr(const Node* msg) {
  return *msg->_impl_.node_.json_value_expr_;
}
const ::pg_query::JsonConstructorExpr& Node::_Internal::json_constructor_expr(const Node* msg) {
  return *msg->_impl_.node_.json_constructor_expr_;
}
const ::pg_query::JsonIsPredicate& Node::_Internal::json_is_predicate(const Node* msg) {
  return *msg->_impl_.node_.json_is_predicate_;
}
const ::pg_query::JsonBehavior& Node::_Internal::json_behavior(const Node* msg) {
  return *msg->_impl_.node_.json_behavior_;
}
const ::pg_query::JsonExpr& Node::_Internal::json_expr(const Node* msg) {
  return *msg->_impl_.node_.json_expr_;
}
const ::pg_query::JsonTablePath& Node::_Internal::json_table_path(const Node* msg) {
  return *msg->_impl_.node_.json_table_path_;
}
const ::pg_query::JsonTablePathScan& Node::_Internal::json_table_path_scan(const Node* msg) {
  return *msg->_impl_.node_.json_table_path_scan_;
}
const ::pg_query::JsonTableSiblingJoin& Node::_Internal::json_table_sibling_join(const Node* msg) {
  return *msg->_impl_.node_.json_table_sibling_join_;
}
const ::pg_query::NullTest& Node::_Internal::null_test(const Node* msg) {
  return *msg->_impl_.node_.null_test_;
}
const ::pg_query::BooleanTest& Node::_Internal::boolean_test(const Node* msg) {
  return *msg->_impl_.node_.boolean_test_;
}
const ::pg_query::MergeAction& Node::_Internal::merge_action(const Node* msg) {
  return *msg->_impl_.node_.merge_action_;
}
const ::pg_query::CoerceToDomain& Node::_Internal::coerce_to_domain(const Node* msg) {
  return *msg->_impl_.node_.coerce_to_domain_;
}
const ::pg_query::CoerceToDomainValue& Node::_Internal::coerce_to_domain_value(const Node* msg) {
  return *msg->_impl_.node_.coerce_to_domain_value_;
}
const ::pg_query::SetToDefault& Node::_Internal::set_to_default(const Node* msg) {
  return *msg->_impl_.node_.set_to_default_;
}
const ::pg_query::CurrentOfExpr& Node::_Internal::current_of_expr(const Node* msg) {
  return *msg->_impl_.node_.current_of_expr_;
}
const ::pg_query::NextValueExpr& Node::_Internal::next_value_expr(const Node* msg) {
  return *msg->_impl_.node_.next_value_expr_;
}
const ::pg_query::InferenceElem& Node::_Internal::inference_elem(const Node* msg) {
  return *msg->_impl_.node_.inference_elem_;
}
const ::pg_query::TargetEntry& Node::_Internal::target_entry(const Node* msg) {
  return *msg->_impl_.node_.target_entry_;
}
const ::pg_query::RangeTblRef& Node::_Internal::range_tbl_ref(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_ref_;
}
const ::pg_query::JoinExpr& Node::_Internal::join_expr(const Node* msg) {
  return *msg->_impl_.node_.join_expr_;
}
const ::pg_query::FromExpr& Node::_Internal::from_expr(const Node* msg) {
  return *msg->_impl_.node_.from_expr_;
}
const ::pg_query::OnConflictExpr& Node::_Internal::on_conflict_expr(const Node* msg) {
  return *msg->_impl_.node_.on_conflict_expr_;
}
const ::pg_query::Query& Node::_Internal::query(const Node* msg) {
  return *msg->_impl_.node_.query_;
}
const ::pg_query::TypeName& Node::_Internal::type_name(const Node* msg) {
  return *msg->_impl_.node_.type_name_;
}
const ::pg_query::ColumnRef& Node::_Internal::column_ref(const Node* msg) {
  return *msg->_impl_.node_.column_ref_;
}
const ::pg_query::ParamRef& Node::_Internal::param_ref(const Node* msg) {
  return *msg->_impl_.node_.param_ref_;
}
const ::pg_query::A_Expr& Node::_Internal::a_expr(const Node* msg) {
  return *msg->_impl_.node_.a_expr_;
}
const ::pg_query::TypeCast& Node::_Internal::type_cast(const Node* msg) {
  return *msg->_impl_.node_.type_cast_;
}
const ::pg_query::CollateClause& Node::_Internal::collate_clause(const Node* msg) {
  return *msg->_impl_.node_.collate_clause_;
}
const ::pg_query::RoleSpec& Node::_Internal::role_spec(const Node* msg) {
  return *msg->_impl_.node_.role_spec_;
}
const ::pg_query::FuncCall& Node::_Internal::func_call(const Node* msg) {
  return *msg->_impl_.node_.func_call_;
}
const ::pg_query::A_Star& Node::_Internal::a_star(const Node* msg) {
  return *msg->_impl_.node_.a_star_;
}
const ::pg_query::A_Indices& Node::_Internal::a_indices(const Node* msg) {
  return *msg->_impl_.node_.a_indices_;
}
const ::pg_query::A_Indirection& Node::_Internal::a_indirection(const Node* msg) {
  return *msg->_impl_.node_.a_indirection_;
}
const ::pg_query::A_ArrayExpr& Node::_Internal::a_array_expr(const Node* msg) {
  return *msg->_impl_.node_.a_array_expr_;
}
const ::pg_query::ResTarget& Node::_Internal::res_target(const Node* msg) {
  return *msg->_impl_.node_.res_target_;
}
const ::pg_query::MultiAssignRef& Node::_Internal::multi_assign_ref(const Node* msg) {
  return *msg->_impl_.node_.multi_assign_ref_;
}
const ::pg_query::SortBy& Node::_Internal::sort_by(const Node* msg) {
  return *msg->_impl_.node_.sort_by_;
}
const ::pg_query::WindowDef& Node::_Internal::window_def(const Node* msg) {
  return *msg->_impl_.node_.window_def_;
}
const ::pg_query::RangeSubselect& Node::_Internal::range_subselect(const Node* msg) {
  return *msg->_impl_.node_.range_subselect_;
}
const ::pg_query::RangeFunction& Node::_Internal::range_function(const Node* msg) {
  return *msg->_impl_.node_.range_function_;
}
const ::pg_query::RangeTableFunc& Node::_Internal::range_table_func(const Node* msg) {
  return *msg->_impl_.node_.range_table_func_;
}
const ::pg_query::RangeTableFuncCol& Node::_Internal::range_table_func_col(const Node* msg) {
  return *msg->_impl_.node_.range_table_func_col_;
}
const ::pg_query::RangeTableSample& Node::_Internal::range_table_sample(const Node* msg) {
  return *msg->_impl_.node_.range_table_sample_;
}
const ::pg_query::ColumnDef& Node::_Internal::column_def(const Node* msg) {
  return *msg->_impl_.node_.column_def_;
}
const ::pg_query::TableLikeClause& Node::_Internal::table_like_clause(const Node* msg) {
  return *msg->_impl_.node_.table_like_clause_;
}
const ::pg_query::IndexElem& Node::_Internal::index_elem(const Node* msg) {
  return *msg->_impl_.node_.index_elem_;
}
const ::pg_query::DefElem& Node::_Internal::def_elem(const Node* msg) {
  return *msg->_impl_.node_.def_elem_;
}
const ::pg_query::LockingClause& Node::_Internal::locking_clause(const Node* msg) {
  return *msg->_impl_.node_.locking_clause_;
}
const ::pg_query::XmlSerialize& Node::_Internal::xml_serialize(const Node* msg) {
  return *msg->_impl_.node_.xml_serialize_;
}
const ::pg_query::PartitionElem& Node::_Internal::partition_elem(const Node* msg) {
  return *msg->_impl_.node_.partition_elem_;
}
const ::pg_query::PartitionSpec& Node::_Internal::partition_spec(const Node* msg) {
  return *msg->_impl_.node_.partition_spec_;
}
const ::pg_query::PartitionBoundSpec& Node::_Internal::partition_bound_spec(const Node* msg) {
  return *msg->_impl_.node_.partition_bound_spec_;
}
const ::pg_query::PartitionRangeDatum& Node::_Internal::partition_range_datum(const Node* msg) {
  return *msg->_impl_.node_.partition_range_datum_;
}
const ::pg_query::SinglePartitionSpec& Node::_Internal::single_partition_spec(const Node* msg) {
  return *msg->_impl_.node_.single_partition_spec_;
}
const ::pg_query::PartitionCmd& Node::_Internal::partition_cmd(const Node* msg) {
  return *msg->_impl_.node_.partition_cmd_;
}
const ::pg_query::RangeTblEntry& Node::_Internal::range_tbl_entry(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_entry_;
}
const ::pg_query::RTEPermissionInfo& Node::_Internal::rtepermission_info(const Node* msg) {
  return *msg->_impl_.node_.rtepermission_info_;
}
const ::pg_query::RangeTblFunction& Node::_Internal::range_tbl_function(const Node* msg) {
  return *msg->_impl_.node_.range_tbl_function_;
}
const ::pg_query::TableSampleClause& Node::_Internal::table_sample_clause(const Node* msg) {
  return *msg->_impl_.node_.table_sample_clause_;
}
const ::pg_query::WithCheckOption& Node::_Internal::with_check_option(const Node* msg) {
  return *msg->_impl_.node_.with_check_option_;
}
const ::pg_query::SortGroupClause& Node::_Internal::sort_group_clause(const Node* msg) {
  return *msg->_impl_.node_.sort_group_clause_;
}
const ::pg_query::GroupingSet& Node::_Internal::grouping_set(const Node* msg) {
  return *msg->_impl_.node_.grouping_set_;
}
const ::pg_query::WindowClause& Node::_Internal::window_clause(const Node* msg) {
  return *msg->_impl_.node_.window_clause_;
}
const ::pg_query::RowMarkClause& Node::_Internal::row_mark_clause(const Node* msg) {
  return *msg->_impl_.node_.row_mark_clause_;
}
const ::pg_query::WithClause& Node::_Internal::with_clause(const Node* msg) {
  return *msg->_impl_.node_.with_clause_;
}
const ::pg_query::InferClause& Node::_Internal::infer_clause(const Node* msg) {
  return *msg->_impl_.node_.infer_clause_;
}
const ::pg_query::OnConflictClause& Node::_Internal::on_conflict_clause(const Node* msg) {
  return *msg->_impl_.node_.on_conflict_clause_;
}
const ::pg_query::CTESearchClause& Node::_Internal::ctesearch_clause(const Node* msg) {
  return *msg->_impl_.node_.ctesearch_clause_;
}
const ::pg_query::CTECycleClause& Node::_Internal::ctecycle_clause(const Node* msg) {
  return *msg->_impl_.node_.ctecycle_clause_;
}
const ::pg_query::CommonTableExpr& Node::_Internal::common_table_expr(const Node* msg) {
  return *msg->_impl_.node_.common_table_expr_;
}
const ::pg_query::MergeWhenClause& Node::_Internal::merge_when_clause(const Node* msg) {
  return *msg->_impl_.node_.merge_when_clause_;
}
const ::pg_query::TriggerTransition& Node::_Internal::trigger_transition(const Node* msg) {
  return *msg->_impl_.node_.trigger_transition_;
}
const ::pg_query::JsonOutput& Node::_Internal::json_output(const Node* msg) {
  return *msg->_impl_.node_.json_output_;
}
const ::pg_query::JsonArgument& Node::_Internal::json_argument(const Node* msg) {
  return *msg->_impl_.node_.json_argument_;
}
const ::pg_query::JsonFuncExpr& Node::_Internal::json_func_expr(const Node* msg) {
  return *msg->_impl_.node_.json_func_expr_;
}
const ::pg_query::JsonTablePathSpec& Node::_Internal::json_table_path_spec(const Node* msg) {
  return *msg->_impl_.node_.json_table_path_spec_;
}
const ::pg_query::JsonTable& Node::_Internal::json_table(const Node* msg) {
  return *msg->_impl_.node_.json_table_;
}
const ::pg_query::JsonTableColumn& Node::_Internal::json_table_column(const Node* msg) {
  return *msg->_impl_.node_.json_table_column_;
}
const ::pg_query::JsonKeyValue& Node::_Internal::json_key_value(const Node* msg) {
  return *msg->_impl_.node_.json_key_value_;
}
const ::pg_query::JsonParseExpr& Node::_Internal::json_parse_expr(const Node* msg) {
  return *msg->_impl_.node_.json_parse_expr_;
}
const ::pg_query::JsonScalarExpr& Node::_Internal::json_scalar_expr(const Node* msg) {
  return *msg->_impl_.node_.json_scalar_expr_;
}
const ::pg_query::JsonSerializeExpr& Node::_Internal::json_serialize_expr(const Node* msg) {
  return *msg->_impl_.node_.json_serialize_expr_;
}
const ::pg_query::JsonObjectConstructor& Node::_Internal::json_object_constructor(const Node* msg) {
  return *msg->_impl_.node_.json_object_constructor_;
}
const ::pg_query::JsonArrayConstructor& Node::_Internal::json_array_constructor(const Node* msg) {
  return *msg->_impl_.node_.json_array_constructor_;
}
const ::pg_query::JsonArrayQueryConstructor& Node::_Internal::json_array_query_constructor(const Node* msg) {
  return *msg->_impl_.node_.json_array_query_constructor_;
}
const ::pg_query::JsonAggConstructor& Node::_Internal::json_agg_constructor(const Node* msg) {
  return *msg->_impl_.node_.json_agg_constructor_;
}
const ::pg_query::JsonObjectAgg& Node::_Internal::json_object_agg(const Node* msg) {
  return *msg->_impl_.node_.json_object_agg_;
}
const ::pg_query::JsonArrayAgg& Node::_Internal::json_array_agg(const Node* msg) {
  return *msg->_impl_.node_.json_array_agg_;
}
const ::pg_query::RawStmt& Node::_Internal::raw_stmt(const Node* msg) {
  return *msg->_impl_.node_.raw_stmt_;
}
const ::pg_query::InsertStmt& Node::_Internal::insert_stmt(const Node* msg) {
  return *msg->_impl_.node_.insert_stmt_;
}
const ::pg_query::DeleteStmt& Node::_Internal::delete_stmt(const Node* msg) {
  return *msg->_impl_.node_.delete_stmt_;
}
const ::pg_query::UpdateStmt& Node::_Internal::update_stmt(const Node* msg) {
  return *msg->_impl_.node_.update_stmt_;
}
const ::pg_query::MergeStmt& Node::_Internal::merge_stmt(const Node* msg) {
  return *msg->_impl_.node_.merge_stmt_;
}
const ::pg_query::SelectStmt& Node::_Internal::select_stmt(const Node* msg) {
  return *msg->_impl_.node_.select_stmt_;
}
const ::pg_query::SetOperationStmt& Node::_Internal::set_operation_stmt(const Node* msg) {
  return *msg->_impl_.node_.set_operation_stmt_;
}
const ::pg_query::ReturnStmt& Node::_Internal::return_stmt(const Node* msg) {
  return *msg->_impl_.node_.return_stmt_;
}
const ::pg_query::PLAssignStmt& Node::_Internal::plassign_stmt(const Node* msg) {
  return *msg->_impl_.node_.plassign_stmt_;
}
const ::pg_query::CreateSchemaStmt& Node::_Internal::create_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_schema_stmt_;
}
const ::pg_query::AlterTableStmt& Node::_Internal::alter_table_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_stmt_;
}
const ::pg_query::ReplicaIdentityStmt& Node::_Internal::replica_identity_stmt(const Node* msg) {
  return *msg->_impl_.node_.replica_identity_stmt_;
}
const ::pg_query::AlterTableCmd& Node::_Internal::alter_table_cmd(const Node* msg) {
  return *msg->_impl_.node_.alter_table_cmd_;
}
const ::pg_query::AlterCollationStmt& Node::_Internal::alter_collation_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_collation_stmt_;
}
const ::pg_query::AlterDomainStmt& Node::_Internal::alter_domain_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_domain_stmt_;
}
const ::pg_query::GrantStmt& Node::_Internal::grant_stmt(const Node* msg) {
  return *msg->_impl_.node_.grant_stmt_;
}
const ::pg_query::ObjectWithArgs& Node::_Internal::object_with_args(const Node* msg) {
  return *msg->_impl_.node_.object_with_args_;
}
const ::pg_query::AccessPriv& Node::_Internal::access_priv(const Node* msg) {
  return *msg->_impl_.node_.access_priv_;
}
const ::pg_query::GrantRoleStmt& Node::_Internal::grant_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.grant_role_stmt_;
}
const ::pg_query::AlterDefaultPrivilegesStmt& Node::_Internal::alter_default_privileges_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_default_privileges_stmt_;
}
const ::pg_query::CopyStmt& Node::_Internal::copy_stmt(const Node* msg) {
  return *msg->_impl_.node_.copy_stmt_;
}
const ::pg_query::VariableSetStmt& Node::_Internal::variable_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.variable_set_stmt_;
}
const ::pg_query::VariableShowStmt& Node::_Internal::variable_show_stmt(const Node* msg) {
  return *msg->_impl_.node_.variable_show_stmt_;
}
const ::pg_query::CreateStmt& Node::_Internal::create_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_stmt_;
}
const ::pg_query::Constraint& Node::_Internal::constraint(const Node* msg) {
  return *msg->_impl_.node_.constraint_;
}
const ::pg_query::CreateTableSpaceStmt& Node::_Internal::create_table_space_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_table_space_stmt_;
}
const ::pg_query::DropTableSpaceStmt& Node::_Internal::drop_table_space_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_table_space_stmt_;
}
const ::pg_query::AlterTableSpaceOptionsStmt& Node::_Internal::alter_table_space_options_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_space_options_stmt_;
}
const ::pg_query::AlterTableMoveAllStmt& Node::_Internal::alter_table_move_all_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_table_move_all_stmt_;
}
const ::pg_query::CreateExtensionStmt& Node::_Internal::create_extension_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_extension_stmt_;
}
const ::pg_query::AlterExtensionStmt& Node::_Internal::alter_extension_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_extension_stmt_;
}
const ::pg_query::AlterExtensionContentsStmt& Node::_Internal::alter_extension_contents_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_extension_contents_stmt_;
}
const ::pg_query::CreateFdwStmt& Node::_Internal::create_fdw_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_fdw_stmt_;
}
const ::pg_query::AlterFdwStmt& Node::_Internal::alter_fdw_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_fdw_stmt_;
}
const ::pg_query::CreateForeignServerStmt& Node::_Internal::create_foreign_server_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_foreign_server_stmt_;
}
const ::pg_query::AlterForeignServerStmt& Node::_Internal::alter_foreign_server_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_foreign_server_stmt_;
}
const ::pg_query::CreateForeignTableStmt& Node::_Internal::create_foreign_table_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_foreign_table_stmt_;
}
const ::pg_query::CreateUserMappingStmt& Node::_Internal::create_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_user_mapping_stmt_;
}
const ::pg_query::AlterUserMappingStmt& Node::_Internal::alter_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_user_mapping_stmt_;
}
const ::pg_query::DropUserMappingStmt& Node::_Internal::drop_user_mapping_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_user_mapping_stmt_;
}
const ::pg_query::ImportForeignSchemaStmt& Node::_Internal::import_foreign_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.import_foreign_schema_stmt_;
}
const ::pg_query::CreatePolicyStmt& Node::_Internal::create_policy_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_policy_stmt_;
}
const ::pg_query::AlterPolicyStmt& Node::_Internal::alter_policy_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_policy_stmt_;
}
const ::pg_query::CreateAmStmt& Node::_Internal::create_am_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_am_stmt_;
}
const ::pg_query::CreateTrigStmt& Node::_Internal::create_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_trig_stmt_;
}
const ::pg_query::CreateEventTrigStmt& Node::_Internal::create_event_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_event_trig_stmt_;
}
const ::pg_query::AlterEventTrigStmt& Node::_Internal::alter_event_trig_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_event_trig_stmt_;
}
const ::pg_query::CreatePLangStmt& Node::_Internal::create_plang_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_plang_stmt_;
}
const ::pg_query::CreateRoleStmt& Node::_Internal::create_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_role_stmt_;
}
const ::pg_query::AlterRoleStmt& Node::_Internal::alter_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_role_stmt_;
}
const ::pg_query::AlterRoleSetStmt& Node::_Internal::alter_role_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_role_set_stmt_;
}
const ::pg_query::DropRoleStmt& Node::_Internal::drop_role_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_role_stmt_;
}
const ::pg_query::CreateSeqStmt& Node::_Internal::create_seq_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_seq_stmt_;
}
const ::pg_query::AlterSeqStmt& Node::_Internal::alter_seq_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_seq_stmt_;
}
const ::pg_query::DefineStmt& Node::_Internal::define_stmt(const Node* msg) {
  return *msg->_impl_.node_.define_stmt_;
}
const ::pg_query::CreateDomainStmt& Node::_Internal::create_domain_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_domain_stmt_;
}
const ::pg_query::CreateOpClassStmt& Node::_Internal::create_op_class_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_op_class_stmt_;
}
const ::pg_query::CreateOpClassItem& Node::_Internal::create_op_class_item(const Node* msg) {
  return *msg->_impl_.node_.create_op_class_item_;
}
const ::pg_query::CreateOpFamilyStmt& Node::_Internal::create_op_family_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_op_family_stmt_;
}
const ::pg_query::AlterOpFamilyStmt& Node::_Internal::alter_op_family_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_op_family_stmt_;
}
const ::pg_query::DropStmt& Node::_Internal::drop_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_stmt_;
}
const ::pg_query::TruncateStmt& Node::_Internal::truncate_stmt(const Node* msg) {
  return *msg->_impl_.node_.truncate_stmt_;
}
const ::pg_query::CommentStmt& Node::_Internal::comment_stmt(const Node* msg) {
  return *msg->_impl_.node_.comment_stmt_;
}
const ::pg_query::SecLabelStmt& Node::_Internal::sec_label_stmt(const Node* msg) {
  return *msg->_impl_.node_.sec_label_stmt_;
}
const ::pg_query::DeclareCursorStmt& Node::_Internal::declare_cursor_stmt(const Node* msg) {
  return *msg->_impl_.node_.declare_cursor_stmt_;
}
const ::pg_query::ClosePortalStmt& Node::_Internal::close_portal_stmt(const Node* msg) {
  return *msg->_impl_.node_.close_portal_stmt_;
}
const ::pg_query::FetchStmt& Node::_Internal::fetch_stmt(const Node* msg) {
  return *msg->_impl_.node_.fetch_stmt_;
}
const ::pg_query::IndexStmt& Node::_Internal::index_stmt(const Node* msg) {
  return *msg->_impl_.node_.index_stmt_;
}
const ::pg_query::CreateStatsStmt& Node::_Internal::create_stats_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_stats_stmt_;
}
const ::pg_query::StatsElem& Node::_Internal::stats_elem(const Node* msg) {
  return *msg->_impl_.node_.stats_elem_;
}
const ::pg_query::AlterStatsStmt& Node::_Internal::alter_stats_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_stats_stmt_;
}
const ::pg_query::CreateFunctionStmt& Node::_Internal::create_function_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_function_stmt_;
}
const ::pg_query::FunctionParameter& Node::_Internal::function_parameter(const Node* msg) {
  return *msg->_impl_.node_.function_parameter_;
}
const ::pg_query::AlterFunctionStmt& Node::_Internal::alter_function_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_function_stmt_;
}
const ::pg_query::DoStmt& Node::_Internal::do_stmt(const Node* msg) {
  return *msg->_impl_.node_.do_stmt_;
}
const ::pg_query::InlineCodeBlock& Node::_Internal::inline_code_block(const Node* msg) {
  return *msg->_impl_.node_.inline_code_block_;
}
const ::pg_query::CallStmt& Node::_Internal::call_stmt(const Node* msg) {
  return *msg->_impl_.node_.call_stmt_;
}
const ::pg_query::CallContext& Node::_Internal::call_context(const Node* msg) {
  return *msg->_impl_.node_.call_context_;
}
const ::pg_query::RenameStmt& Node::_Internal::rename_stmt(const Node* msg) {
  return *msg->_impl_.node_.rename_stmt_;
}
const ::pg_query::AlterObjectDependsStmt& Node::_Internal::alter_object_depends_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_object_depends_stmt_;
}
const ::pg_query::AlterObjectSchemaStmt& Node::_Internal::alter_object_schema_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_object_schema_stmt_;
}
const ::pg_query::AlterOwnerStmt& Node::_Internal::alter_owner_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_owner_stmt_;
}
const ::pg_query::AlterOperatorStmt& Node::_Internal::alter_operator_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_operator_stmt_;
}
const ::pg_query::AlterTypeStmt& Node::_Internal::alter_type_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_type_stmt_;
}
const ::pg_query::RuleStmt& Node::_Internal::rule_stmt(const Node* msg) {
  return *msg->_impl_.node_.rule_stmt_;
}
const ::pg_query::NotifyStmt& Node::_Internal::notify_stmt(const Node* msg) {
  return *msg->_impl_.node_.notify_stmt_;
}
const ::pg_query::ListenStmt& Node::_Internal::listen_stmt(const Node* msg) {
  return *msg->_impl_.node_.listen_stmt_;
}
const ::pg_query::UnlistenStmt& Node::_Internal::unlisten_stmt(const Node* msg) {
  return *msg->_impl_.node_.unlisten_stmt_;
}
const ::pg_query::TransactionStmt& Node::_Internal::transaction_stmt(const Node* msg) {
  return *msg->_impl_.node_.transaction_stmt_;
}
const ::pg_query::CompositeTypeStmt& Node::_Internal::composite_type_stmt(const Node* msg) {
  return *msg->_impl_.node_.composite_type_stmt_;
}
const ::pg_query::CreateEnumStmt& Node::_Internal::create_enum_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_enum_stmt_;
}
const ::pg_query::CreateRangeStmt& Node::_Internal::create_range_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_range_stmt_;
}
const ::pg_query::AlterEnumStmt& Node::_Internal::alter_enum_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_enum_stmt_;
}
const ::pg_query::ViewStmt& Node::_Internal::view_stmt(const Node* msg) {
  return *msg->_impl_.node_.view_stmt_;
}
const ::pg_query::LoadStmt& Node::_Internal::load_stmt(const Node* msg) {
  return *msg->_impl_.node_.load_stmt_;
}
const ::pg_query::CreatedbStmt& Node::_Internal::createdb_stmt(const Node* msg) {
  return *msg->_impl_.node_.createdb_stmt_;
}
const ::pg_query::AlterDatabaseStmt& Node::_Internal::alter_database_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_stmt_;
}
const ::pg_query::AlterDatabaseRefreshCollStmt& Node::_Internal::alter_database_refresh_coll_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_refresh_coll_stmt_;
}
const ::pg_query::AlterDatabaseSetStmt& Node::_Internal::alter_database_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_database_set_stmt_;
}
const ::pg_query::DropdbStmt& Node::_Internal::dropdb_stmt(const Node* msg) {
  return *msg->_impl_.node_.dropdb_stmt_;
}
const ::pg_query::AlterSystemStmt& Node::_Internal::alter_system_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_system_stmt_;
}
const ::pg_query::ClusterStmt& Node::_Internal::cluster_stmt(const Node* msg) {
  return *msg->_impl_.node_.cluster_stmt_;
}
const ::pg_query::VacuumStmt& Node::_Internal::vacuum_stmt(const Node* msg) {
  return *msg->_impl_.node_.vacuum_stmt_;
}
const ::pg_query::VacuumRelation& Node::_Internal::vacuum_relation(const Node* msg) {
  return *msg->_impl_.node_.vacuum_relation_;
}
const ::pg_query::ExplainStmt& Node::_Internal::explain_stmt(const Node* msg) {
  return *msg->_impl_.node_.explain_stmt_;
}
const ::pg_query::CreateTableAsStmt& Node::_Internal::create_table_as_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_table_as_stmt_;
}
const ::pg_query::RefreshMatViewStmt& Node::_Internal::refresh_mat_view_stmt(const Node* msg) {
  return *msg->_impl_.node_.refresh_mat_view_stmt_;
}
const ::pg_query::CheckPointStmt& Node::_Internal::check_point_stmt(const Node* msg) {
  return *msg->_impl_.node_.check_point_stmt_;
}
const ::pg_query::DiscardStmt& Node::_Internal::discard_stmt(const Node* msg) {
  return *msg->_impl_.node_.discard_stmt_;
}
const ::pg_query::LockStmt& Node::_Internal::lock_stmt(const Node* msg) {
  return *msg->_impl_.node_.lock_stmt_;
}
const ::pg_query::ConstraintsSetStmt& Node::_Internal::constraints_set_stmt(const Node* msg) {
  return *msg->_impl_.node_.constraints_set_stmt_;
}
const ::pg_query::ReindexStmt& Node::_Internal::reindex_stmt(const Node* msg) {
  return *msg->_impl_.node_.reindex_stmt_;
}
const ::pg_query::CreateConversionStmt& Node::_Internal::create_conversion_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_conversion_stmt_;
}
const ::pg_query::CreateCastStmt& Node::_Internal::create_cast_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_cast_stmt_;
}
const ::pg_query::CreateTransformStmt& Node::_Internal::create_transform_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_transform_stmt_;
}
const ::pg_query::PrepareStmt& Node::_Internal::prepare_stmt(const Node* msg) {
  return *msg->_impl_.node_.prepare_stmt_;
}
const ::pg_query::ExecuteStmt& Node::_Internal::execute_stmt(const Node* msg) {
  return *msg->_impl_.node_.execute_stmt_;
}
const ::pg_query::DeallocateStmt& Node::_Internal::deallocate_stmt(const Node* msg) {
  return *msg->_impl_.node_.deallocate_stmt_;
}
const ::pg_query::DropOwnedStmt& Node::_Internal::drop_owned_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_owned_stmt_;
}
const ::pg_query::ReassignOwnedStmt& Node::_Internal::reassign_owned_stmt(const Node* msg) {
  return *msg->_impl_.node_.reassign_owned_stmt_;
}
const ::pg_query::AlterTSDictionaryStmt& Node::_Internal::alter_tsdictionary_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_tsdictionary_stmt_;
}
const ::pg_query::AlterTSConfigurationStmt& Node::_Internal::alter_tsconfiguration_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_tsconfiguration_stmt_;
}
const ::pg_query::PublicationTable& Node::_Internal::publication_table(const Node* msg) {
  return *msg->_impl_.node_.publication_table_;
}
const ::pg_query::PublicationObjSpec& Node::_Internal::publication_obj_spec(const Node* msg) {
  return *msg->_impl_.node_.publication_obj_spec_;
}
const ::pg_query::CreatePublicationStmt& Node::_Internal::create_publication_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_publication_stmt_;
}
const ::pg_query::AlterPublicationStmt& Node::_Internal::alter_publication_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_publication_stmt_;
}
const ::pg_query::CreateSubscriptionStmt& Node::_Internal::create_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.create_subscription_stmt_;
}
const ::pg_query::AlterSubscriptionStmt& Node::_Internal::alter_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.alter_subscription_stmt_;
}
const ::pg_query::DropSubscriptionStmt& Node::_Internal::drop_subscription_stmt(const Node* msg) {
  return *msg->_impl_.node_.drop_subscription_stmt_;
}
const ::pg_query::Integer& Node::_Internal::integer(const Node* msg) {
  return *msg->_impl_.node_.integer_;
}
const ::pg_query::Float& Node::_Internal::float_(const Node* msg) {
  return *msg->_impl_.node_.float__;
}
const ::pg_query::Boolean& Node::_Internal::boolean(const Node* msg) {
  return *msg->_impl_.node_.boolean_;
}
const ::pg_query::String& Node::_Internal::string(const Node* msg) {
  return *msg->_impl_.node_.string_;
}
const ::pg_query::BitString& Node::_Internal::bit_string(const Node* msg) {
  return *msg->_impl_.node_.bit_string_;
}
const ::pg_query::List& Node::_Internal::list(const Node* msg) {
  return *msg->_impl_.node_.list_;
}
const ::pg_query::IntList& Node::_Internal::int_list(const Node* msg) {
  return *msg->_impl_.node_.int_list_;
}
const ::pg_query::OidList& Node::_Internal::oid_list(const Node* msg) {
  return *msg->_impl_.node_.oid_list_;
}
const ::pg_query::A_Const& Node::_Internal::a_const(const Node* msg) {
  return *msg->_impl_.node_.a_const_;
}
void Node::set_allocated_alias(::pg_query::Alias* alias) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alias) {
    ::google::protobuf::Arena* submessage_arena = alias->GetArena();
    if (message_arena != submessage_arena) {
      alias = ::google::protobuf::internal::GetOwnedMessage(message_arena, alias, submessage_arena);
    }
    set_has_alias();
    _impl_.node_.alias_ = alias;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alias)
}
void Node::set_allocated_range_var(::pg_query::RangeVar* range_var) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_var) {
    ::google::protobuf::Arena* submessage_arena = range_var->GetArena();
    if (message_arena != submessage_arena) {
      range_var = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_var, submessage_arena);
    }
    set_has_range_var();
    _impl_.node_.range_var_ = range_var;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_var)
}
void Node::set_allocated_table_func(::pg_query::TableFunc* table_func) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (table_func) {
    ::google::protobuf::Arena* submessage_arena = table_func->GetArena();
    if (message_arena != submessage_arena) {
      table_func = ::google::protobuf::internal::GetOwnedMessage(message_arena, table_func, submessage_arena);
    }
    set_has_table_func();
    _impl_.node_.table_func_ = table_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_func)
}
void Node::set_allocated_into_clause(::pg_query::IntoClause* into_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (into_clause) {
    ::google::protobuf::Arena* submessage_arena = into_clause->GetArena();
    if (message_arena != submessage_arena) {
      into_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, into_clause, submessage_arena);
    }
    set_has_into_clause();
    _impl_.node_.into_clause_ = into_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.into_clause)
}
void Node::set_allocated_var(::pg_query::Var* var) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (var) {
    ::google::protobuf::Arena* submessage_arena = var->GetArena();
    if (message_arena != submessage_arena) {
      var = ::google::protobuf::internal::GetOwnedMessage(message_arena, var, submessage_arena);
    }
    set_has_var();
    _impl_.node_.var_ = var;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.var)
}
void Node::set_allocated_param(::pg_query::Param* param) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (param) {
    ::google::protobuf::Arena* submessage_arena = param->GetArena();
    if (message_arena != submessage_arena) {
      param = ::google::protobuf::internal::GetOwnedMessage(message_arena, param, submessage_arena);
    }
    set_has_param();
    _impl_.node_.param_ = param;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.param)
}
void Node::set_allocated_aggref(::pg_query::Aggref* aggref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (aggref) {
    ::google::protobuf::Arena* submessage_arena = aggref->GetArena();
    if (message_arena != submessage_arena) {
      aggref = ::google::protobuf::internal::GetOwnedMessage(message_arena, aggref, submessage_arena);
    }
    set_has_aggref();
    _impl_.node_.aggref_ = aggref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.aggref)
}
void Node::set_allocated_grouping_func(::pg_query::GroupingFunc* grouping_func) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (grouping_func) {
    ::google::protobuf::Arena* submessage_arena = grouping_func->GetArena();
    if (message_arena != submessage_arena) {
      grouping_func = ::google::protobuf::internal::GetOwnedMessage(message_arena, grouping_func, submessage_arena);
    }
    set_has_grouping_func();
    _impl_.node_.grouping_func_ = grouping_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grouping_func)
}
void Node::set_allocated_window_func(::pg_query::WindowFunc* window_func) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (window_func) {
    ::google::protobuf::Arena* submessage_arena = window_func->GetArena();
    if (message_arena != submessage_arena) {
      window_func = ::google::protobuf::internal::GetOwnedMessage(message_arena, window_func, submessage_arena);
    }
    set_has_window_func();
    _impl_.node_.window_func_ = window_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_func)
}
void Node::set_allocated_window_func_run_condition(::pg_query::WindowFuncRunCondition* window_func_run_condition) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (window_func_run_condition) {
    ::google::protobuf::Arena* submessage_arena = window_func_run_condition->GetArena();
    if (message_arena != submessage_arena) {
      window_func_run_condition = ::google::protobuf::internal::GetOwnedMessage(message_arena, window_func_run_condition, submessage_arena);
    }
    set_has_window_func_run_condition();
    _impl_.node_.window_func_run_condition_ = window_func_run_condition;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_func_run_condition)
}
void Node::set_allocated_merge_support_func(::pg_query::MergeSupportFunc* merge_support_func) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (merge_support_func) {
    ::google::protobuf::Arena* submessage_arena = merge_support_func->GetArena();
    if (message_arena != submessage_arena) {
      merge_support_func = ::google::protobuf::internal::GetOwnedMessage(message_arena, merge_support_func, submessage_arena);
    }
    set_has_merge_support_func();
    _impl_.node_.merge_support_func_ = merge_support_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_support_func)
}
void Node::set_allocated_subscripting_ref(::pg_query::SubscriptingRef* subscripting_ref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (subscripting_ref) {
    ::google::protobuf::Arena* submessage_arena = subscripting_ref->GetArena();
    if (message_arena != submessage_arena) {
      subscripting_ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, subscripting_ref, submessage_arena);
    }
    set_has_subscripting_ref();
    _impl_.node_.subscripting_ref_ = subscripting_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.subscripting_ref)
}
void Node::set_allocated_func_expr(::pg_query::FuncExpr* func_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (func_expr) {
    ::google::protobuf::Arena* submessage_arena = func_expr->GetArena();
    if (message_arena != submessage_arena) {
      func_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, func_expr, submessage_arena);
    }
    set_has_func_expr();
    _impl_.node_.func_expr_ = func_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.func_expr)
}
void Node::set_allocated_named_arg_expr(::pg_query::NamedArgExpr* named_arg_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (named_arg_expr) {
    ::google::protobuf::Arena* submessage_arena = named_arg_expr->GetArena();
    if (message_arena != submessage_arena) {
      named_arg_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, named_arg_expr, submessage_arena);
    }
    set_has_named_arg_expr();
    _impl_.node_.named_arg_expr_ = named_arg_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.named_arg_expr)
}
void Node::set_allocated_op_expr(::pg_query::OpExpr* op_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (op_expr) {
    ::google::protobuf::Arena* submessage_arena = op_expr->GetArena();
    if (message_arena != submessage_arena) {
      op_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, op_expr, submessage_arena);
    }
    set_has_op_expr();
    _impl_.node_.op_expr_ = op_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.op_expr)
}
void Node::set_allocated_distinct_expr(::pg_query::DistinctExpr* distinct_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (distinct_expr) {
    ::google::protobuf::Arena* submessage_arena = distinct_expr->GetArena();
    if (message_arena != submessage_arena) {
      distinct_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, distinct_expr, submessage_arena);
    }
    set_has_distinct_expr();
    _impl_.node_.distinct_expr_ = distinct_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.distinct_expr)
}
void Node::set_allocated_null_if_expr(::pg_query::NullIfExpr* null_if_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (null_if_expr) {
    ::google::protobuf::Arena* submessage_arena = null_if_expr->GetArena();
    if (message_arena != submessage_arena) {
      null_if_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, null_if_expr, submessage_arena);
    }
    set_has_null_if_expr();
    _impl_.node_.null_if_expr_ = null_if_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.null_if_expr)
}
void Node::set_allocated_scalar_array_op_expr(::pg_query::ScalarArrayOpExpr* scalar_array_op_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (scalar_array_op_expr) {
    ::google::protobuf::Arena* submessage_arena = scalar_array_op_expr->GetArena();
    if (message_arena != submessage_arena) {
      scalar_array_op_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, scalar_array_op_expr, submessage_arena);
    }
    set_has_scalar_array_op_expr();
    _impl_.node_.scalar_array_op_expr_ = scalar_array_op_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.scalar_array_op_expr)
}
void Node::set_allocated_bool_expr(::pg_query::BoolExpr* bool_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (bool_expr) {
    ::google::protobuf::Arena* submessage_arena = bool_expr->GetArena();
    if (message_arena != submessage_arena) {
      bool_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, bool_expr, submessage_arena);
    }
    set_has_bool_expr();
    _impl_.node_.bool_expr_ = bool_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.bool_expr)
}
void Node::set_allocated_sub_link(::pg_query::SubLink* sub_link) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sub_link) {
    ::google::protobuf::Arena* submessage_arena = sub_link->GetArena();
    if (message_arena != submessage_arena) {
      sub_link = ::google::protobuf::internal::GetOwnedMessage(message_arena, sub_link, submessage_arena);
    }
    set_has_sub_link();
    _impl_.node_.sub_link_ = sub_link;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sub_link)
}
void Node::set_allocated_sub_plan(::pg_query::SubPlan* sub_plan) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sub_plan) {
    ::google::protobuf::Arena* submessage_arena = sub_plan->GetArena();
    if (message_arena != submessage_arena) {
      sub_plan = ::google::protobuf::internal::GetOwnedMessage(message_arena, sub_plan, submessage_arena);
    }
    set_has_sub_plan();
    _impl_.node_.sub_plan_ = sub_plan;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sub_plan)
}
void Node::set_allocated_alternative_sub_plan(::pg_query::AlternativeSubPlan* alternative_sub_plan) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alternative_sub_plan) {
    ::google::protobuf::Arena* submessage_arena = alternative_sub_plan->GetArena();
    if (message_arena != submessage_arena) {
      alternative_sub_plan = ::google::protobuf::internal::GetOwnedMessage(message_arena, alternative_sub_plan, submessage_arena);
    }
    set_has_alternative_sub_plan();
    _impl_.node_.alternative_sub_plan_ = alternative_sub_plan;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alternative_sub_plan)
}
void Node::set_allocated_field_select(::pg_query::FieldSelect* field_select) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (field_select) {
    ::google::protobuf::Arena* submessage_arena = field_select->GetArena();
    if (message_arena != submessage_arena) {
      field_select = ::google::protobuf::internal::GetOwnedMessage(message_arena, field_select, submessage_arena);
    }
    set_has_field_select();
    _impl_.node_.field_select_ = field_select;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.field_select)
}
void Node::set_allocated_field_store(::pg_query::FieldStore* field_store) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (field_store) {
    ::google::protobuf::Arena* submessage_arena = field_store->GetArena();
    if (message_arena != submessage_arena) {
      field_store = ::google::protobuf::internal::GetOwnedMessage(message_arena, field_store, submessage_arena);
    }
    set_has_field_store();
    _impl_.node_.field_store_ = field_store;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.field_store)
}
void Node::set_allocated_relabel_type(::pg_query::RelabelType* relabel_type) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (relabel_type) {
    ::google::protobuf::Arena* submessage_arena = relabel_type->GetArena();
    if (message_arena != submessage_arena) {
      relabel_type = ::google::protobuf::internal::GetOwnedMessage(message_arena, relabel_type, submessage_arena);
    }
    set_has_relabel_type();
    _impl_.node_.relabel_type_ = relabel_type;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.relabel_type)
}
void Node::set_allocated_coerce_via_io(::pg_query::CoerceViaIO* coerce_via_io) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_via_io) {
    ::google::protobuf::Arena* submessage_arena = coerce_via_io->GetArena();
    if (message_arena != submessage_arena) {
      coerce_via_io = ::google::protobuf::internal::GetOwnedMessage(message_arena, coerce_via_io, submessage_arena);
    }
    set_has_coerce_via_io();
    _impl_.node_.coerce_via_io_ = coerce_via_io;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_via_io)
}
void Node::set_allocated_array_coerce_expr(::pg_query::ArrayCoerceExpr* array_coerce_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (array_coerce_expr) {
    ::google::protobuf::Arena* submessage_arena = array_coerce_expr->GetArena();
    if (message_arena != submessage_arena) {
      array_coerce_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, array_coerce_expr, submessage_arena);
    }
    set_has_array_coerce_expr();
    _impl_.node_.array_coerce_expr_ = array_coerce_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.array_coerce_expr)
}
void Node::set_allocated_convert_rowtype_expr(::pg_query::ConvertRowtypeExpr* convert_rowtype_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (convert_rowtype_expr) {
    ::google::protobuf::Arena* submessage_arena = convert_rowtype_expr->GetArena();
    if (message_arena != submessage_arena) {
      convert_rowtype_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, convert_rowtype_expr, submessage_arena);
    }
    set_has_convert_rowtype_expr();
    _impl_.node_.convert_rowtype_expr_ = convert_rowtype_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.convert_rowtype_expr)
}
void Node::set_allocated_collate_expr(::pg_query::CollateExpr* collate_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (collate_expr) {
    ::google::protobuf::Arena* submessage_arena = collate_expr->GetArena();
    if (message_arena != submessage_arena) {
      collate_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, collate_expr, submessage_arena);
    }
    set_has_collate_expr();
    _impl_.node_.collate_expr_ = collate_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.collate_expr)
}
void Node::set_allocated_case_expr(::pg_query::CaseExpr* case_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (case_expr) {
    ::google::protobuf::Arena* submessage_arena = case_expr->GetArena();
    if (message_arena != submessage_arena) {
      case_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, case_expr, submessage_arena);
    }
    set_has_case_expr();
    _impl_.node_.case_expr_ = case_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_expr)
}
void Node::set_allocated_case_when(::pg_query::CaseWhen* case_when) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (case_when) {
    ::google::protobuf::Arena* submessage_arena = case_when->GetArena();
    if (message_arena != submessage_arena) {
      case_when = ::google::protobuf::internal::GetOwnedMessage(message_arena, case_when, submessage_arena);
    }
    set_has_case_when();
    _impl_.node_.case_when_ = case_when;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_when)
}
void Node::set_allocated_case_test_expr(::pg_query::CaseTestExpr* case_test_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (case_test_expr) {
    ::google::protobuf::Arena* submessage_arena = case_test_expr->GetArena();
    if (message_arena != submessage_arena) {
      case_test_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, case_test_expr, submessage_arena);
    }
    set_has_case_test_expr();
    _impl_.node_.case_test_expr_ = case_test_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.case_test_expr)
}
void Node::set_allocated_array_expr(::pg_query::ArrayExpr* array_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (array_expr) {
    ::google::protobuf::Arena* submessage_arena = array_expr->GetArena();
    if (message_arena != submessage_arena) {
      array_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, array_expr, submessage_arena);
    }
    set_has_array_expr();
    _impl_.node_.array_expr_ = array_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.array_expr)
}
void Node::set_allocated_row_expr(::pg_query::RowExpr* row_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (row_expr) {
    ::google::protobuf::Arena* submessage_arena = row_expr->GetArena();
    if (message_arena != submessage_arena) {
      row_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, row_expr, submessage_arena);
    }
    set_has_row_expr();
    _impl_.node_.row_expr_ = row_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_expr)
}
void Node::set_allocated_row_compare_expr(::pg_query::RowCompareExpr* row_compare_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (row_compare_expr) {
    ::google::protobuf::Arena* submessage_arena = row_compare_expr->GetArena();
    if (message_arena != submessage_arena) {
      row_compare_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, row_compare_expr, submessage_arena);
    }
    set_has_row_compare_expr();
    _impl_.node_.row_compare_expr_ = row_compare_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_compare_expr)
}
void Node::set_allocated_coalesce_expr(::pg_query::CoalesceExpr* coalesce_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (coalesce_expr) {
    ::google::protobuf::Arena* submessage_arena = coalesce_expr->GetArena();
    if (message_arena != submessage_arena) {
      coalesce_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, coalesce_expr, submessage_arena);
    }
    set_has_coalesce_expr();
    _impl_.node_.coalesce_expr_ = coalesce_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coalesce_expr)
}
void Node::set_allocated_min_max_expr(::pg_query::MinMaxExpr* min_max_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (min_max_expr) {
    ::google::protobuf::Arena* submessage_arena = min_max_expr->GetArena();
    if (message_arena != submessage_arena) {
      min_max_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, min_max_expr, submessage_arena);
    }
    set_has_min_max_expr();
    _impl_.node_.min_max_expr_ = min_max_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.min_max_expr)
}
void Node::set_allocated_sqlvalue_function(::pg_query::SQLValueFunction* sqlvalue_function) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sqlvalue_function) {
    ::google::protobuf::Arena* submessage_arena = sqlvalue_function->GetArena();
    if (message_arena != submessage_arena) {
      sqlvalue_function = ::google::protobuf::internal::GetOwnedMessage(message_arena, sqlvalue_function, submessage_arena);
    }
    set_has_sqlvalue_function();
    _impl_.node_.sqlvalue_function_ = sqlvalue_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sqlvalue_function)
}
void Node::set_allocated_xml_expr(::pg_query::XmlExpr* xml_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (xml_expr) {
    ::google::protobuf::Arena* submessage_arena = xml_expr->GetArena();
    if (message_arena != submessage_arena) {
      xml_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, xml_expr, submessage_arena);
    }
    set_has_xml_expr();
    _impl_.node_.xml_expr_ = xml_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.xml_expr)
}
void Node::set_allocated_json_format(::pg_query::JsonFormat* json_format) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_format) {
    ::google::protobuf::Arena* submessage_arena = json_format->GetArena();
    if (message_arena != submessage_arena) {
      json_format = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_format, submessage_arena);
    }
    set_has_json_format();
    _impl_.node_.json_format_ = json_format;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_format)
}
void Node::set_allocated_json_returning(::pg_query::JsonReturning* json_returning) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_returning) {
    ::google::protobuf::Arena* submessage_arena = json_returning->GetArena();
    if (message_arena != submessage_arena) {
      json_returning = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_returning, submessage_arena);
    }
    set_has_json_returning();
    _impl_.node_.json_returning_ = json_returning;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_returning)
}
void Node::set_allocated_json_value_expr(::pg_query::JsonValueExpr* json_value_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_value_expr) {
    ::google::protobuf::Arena* submessage_arena = json_value_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_value_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_value_expr, submessage_arena);
    }
    set_has_json_value_expr();
    _impl_.node_.json_value_expr_ = json_value_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_value_expr)
}
void Node::set_allocated_json_constructor_expr(::pg_query::JsonConstructorExpr* json_constructor_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_constructor_expr) {
    ::google::protobuf::Arena* submessage_arena = json_constructor_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_constructor_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_constructor_expr, submessage_arena);
    }
    set_has_json_constructor_expr();
    _impl_.node_.json_constructor_expr_ = json_constructor_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_constructor_expr)
}
void Node::set_allocated_json_is_predicate(::pg_query::JsonIsPredicate* json_is_predicate) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_is_predicate) {
    ::google::protobuf::Arena* submessage_arena = json_is_predicate->GetArena();
    if (message_arena != submessage_arena) {
      json_is_predicate = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_is_predicate, submessage_arena);
    }
    set_has_json_is_predicate();
    _impl_.node_.json_is_predicate_ = json_is_predicate;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_is_predicate)
}
void Node::set_allocated_json_behavior(::pg_query::JsonBehavior* json_behavior) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_behavior) {
    ::google::protobuf::Arena* submessage_arena = json_behavior->GetArena();
    if (message_arena != submessage_arena) {
      json_behavior = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_behavior, submessage_arena);
    }
    set_has_json_behavior();
    _impl_.node_.json_behavior_ = json_behavior;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_behavior)
}
void Node::set_allocated_json_expr(::pg_query::JsonExpr* json_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_expr) {
    ::google::protobuf::Arena* submessage_arena = json_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_expr, submessage_arena);
    }
    set_has_json_expr();
    _impl_.node_.json_expr_ = json_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_expr)
}
void Node::set_allocated_json_table_path(::pg_query::JsonTablePath* json_table_path) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table_path) {
    ::google::protobuf::Arena* submessage_arena = json_table_path->GetArena();
    if (message_arena != submessage_arena) {
      json_table_path = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table_path, submessage_arena);
    }
    set_has_json_table_path();
    _impl_.node_.json_table_path_ = json_table_path;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table_path)
}
void Node::set_allocated_json_table_path_scan(::pg_query::JsonTablePathScan* json_table_path_scan) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table_path_scan) {
    ::google::protobuf::Arena* submessage_arena = json_table_path_scan->GetArena();
    if (message_arena != submessage_arena) {
      json_table_path_scan = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table_path_scan, submessage_arena);
    }
    set_has_json_table_path_scan();
    _impl_.node_.json_table_path_scan_ = json_table_path_scan;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table_path_scan)
}
void Node::set_allocated_json_table_sibling_join(::pg_query::JsonTableSiblingJoin* json_table_sibling_join) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table_sibling_join) {
    ::google::protobuf::Arena* submessage_arena = json_table_sibling_join->GetArena();
    if (message_arena != submessage_arena) {
      json_table_sibling_join = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table_sibling_join, submessage_arena);
    }
    set_has_json_table_sibling_join();
    _impl_.node_.json_table_sibling_join_ = json_table_sibling_join;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table_sibling_join)
}
void Node::set_allocated_null_test(::pg_query::NullTest* null_test) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (null_test) {
    ::google::protobuf::Arena* submessage_arena = null_test->GetArena();
    if (message_arena != submessage_arena) {
      null_test = ::google::protobuf::internal::GetOwnedMessage(message_arena, null_test, submessage_arena);
    }
    set_has_null_test();
    _impl_.node_.null_test_ = null_test;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.null_test)
}
void Node::set_allocated_boolean_test(::pg_query::BooleanTest* boolean_test) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (boolean_test) {
    ::google::protobuf::Arena* submessage_arena = boolean_test->GetArena();
    if (message_arena != submessage_arena) {
      boolean_test = ::google::protobuf::internal::GetOwnedMessage(message_arena, boolean_test, submessage_arena);
    }
    set_has_boolean_test();
    _impl_.node_.boolean_test_ = boolean_test;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.boolean_test)
}
void Node::set_allocated_merge_action(::pg_query::MergeAction* merge_action) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (merge_action) {
    ::google::protobuf::Arena* submessage_arena = merge_action->GetArena();
    if (message_arena != submessage_arena) {
      merge_action = ::google::protobuf::internal::GetOwnedMessage(message_arena, merge_action, submessage_arena);
    }
    set_has_merge_action();
    _impl_.node_.merge_action_ = merge_action;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_action)
}
void Node::set_allocated_coerce_to_domain(::pg_query::CoerceToDomain* coerce_to_domain) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_to_domain) {
    ::google::protobuf::Arena* submessage_arena = coerce_to_domain->GetArena();
    if (message_arena != submessage_arena) {
      coerce_to_domain = ::google::protobuf::internal::GetOwnedMessage(message_arena, coerce_to_domain, submessage_arena);
    }
    set_has_coerce_to_domain();
    _impl_.node_.coerce_to_domain_ = coerce_to_domain;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_to_domain)
}
void Node::set_allocated_coerce_to_domain_value(::pg_query::CoerceToDomainValue* coerce_to_domain_value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (coerce_to_domain_value) {
    ::google::protobuf::Arena* submessage_arena = coerce_to_domain_value->GetArena();
    if (message_arena != submessage_arena) {
      coerce_to_domain_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, coerce_to_domain_value, submessage_arena);
    }
    set_has_coerce_to_domain_value();
    _impl_.node_.coerce_to_domain_value_ = coerce_to_domain_value;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.coerce_to_domain_value)
}
void Node::set_allocated_set_to_default(::pg_query::SetToDefault* set_to_default) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (set_to_default) {
    ::google::protobuf::Arena* submessage_arena = set_to_default->GetArena();
    if (message_arena != submessage_arena) {
      set_to_default = ::google::protobuf::internal::GetOwnedMessage(message_arena, set_to_default, submessage_arena);
    }
    set_has_set_to_default();
    _impl_.node_.set_to_default_ = set_to_default;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.set_to_default)
}
void Node::set_allocated_current_of_expr(::pg_query::CurrentOfExpr* current_of_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (current_of_expr) {
    ::google::protobuf::Arena* submessage_arena = current_of_expr->GetArena();
    if (message_arena != submessage_arena) {
      current_of_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, current_of_expr, submessage_arena);
    }
    set_has_current_of_expr();
    _impl_.node_.current_of_expr_ = current_of_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.current_of_expr)
}
void Node::set_allocated_next_value_expr(::pg_query::NextValueExpr* next_value_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (next_value_expr) {
    ::google::protobuf::Arena* submessage_arena = next_value_expr->GetArena();
    if (message_arena != submessage_arena) {
      next_value_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, next_value_expr, submessage_arena);
    }
    set_has_next_value_expr();
    _impl_.node_.next_value_expr_ = next_value_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.next_value_expr)
}
void Node::set_allocated_inference_elem(::pg_query::InferenceElem* inference_elem) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (inference_elem) {
    ::google::protobuf::Arena* submessage_arena = inference_elem->GetArena();
    if (message_arena != submessage_arena) {
      inference_elem = ::google::protobuf::internal::GetOwnedMessage(message_arena, inference_elem, submessage_arena);
    }
    set_has_inference_elem();
    _impl_.node_.inference_elem_ = inference_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.inference_elem)
}
void Node::set_allocated_target_entry(::pg_query::TargetEntry* target_entry) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (target_entry) {
    ::google::protobuf::Arena* submessage_arena = target_entry->GetArena();
    if (message_arena != submessage_arena) {
      target_entry = ::google::protobuf::internal::GetOwnedMessage(message_arena, target_entry, submessage_arena);
    }
    set_has_target_entry();
    _impl_.node_.target_entry_ = target_entry;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.target_entry)
}
void Node::set_allocated_range_tbl_ref(::pg_query::RangeTblRef* range_tbl_ref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_ref) {
    ::google::protobuf::Arena* submessage_arena = range_tbl_ref->GetArena();
    if (message_arena != submessage_arena) {
      range_tbl_ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_tbl_ref, submessage_arena);
    }
    set_has_range_tbl_ref();
    _impl_.node_.range_tbl_ref_ = range_tbl_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_ref)
}
void Node::set_allocated_join_expr(::pg_query::JoinExpr* join_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (join_expr) {
    ::google::protobuf::Arena* submessage_arena = join_expr->GetArena();
    if (message_arena != submessage_arena) {
      join_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, join_expr, submessage_arena);
    }
    set_has_join_expr();
    _impl_.node_.join_expr_ = join_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.join_expr)
}
void Node::set_allocated_from_expr(::pg_query::FromExpr* from_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (from_expr) {
    ::google::protobuf::Arena* submessage_arena = from_expr->GetArena();
    if (message_arena != submessage_arena) {
      from_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, from_expr, submessage_arena);
    }
    set_has_from_expr();
    _impl_.node_.from_expr_ = from_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.from_expr)
}
void Node::set_allocated_on_conflict_expr(::pg_query::OnConflictExpr* on_conflict_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (on_conflict_expr) {
    ::google::protobuf::Arena* submessage_arena = on_conflict_expr->GetArena();
    if (message_arena != submessage_arena) {
      on_conflict_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, on_conflict_expr, submessage_arena);
    }
    set_has_on_conflict_expr();
    _impl_.node_.on_conflict_expr_ = on_conflict_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.on_conflict_expr)
}
void Node::set_allocated_query(::pg_query::Query* query) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (query) {
    ::google::protobuf::Arena* submessage_arena = query->GetArena();
    if (message_arena != submessage_arena) {
      query = ::google::protobuf::internal::GetOwnedMessage(message_arena, query, submessage_arena);
    }
    set_has_query();
    _impl_.node_.query_ = query;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.query)
}
void Node::set_allocated_type_name(::pg_query::TypeName* type_name) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (type_name) {
    ::google::protobuf::Arena* submessage_arena = type_name->GetArena();
    if (message_arena != submessage_arena) {
      type_name = ::google::protobuf::internal::GetOwnedMessage(message_arena, type_name, submessage_arena);
    }
    set_has_type_name();
    _impl_.node_.type_name_ = type_name;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.type_name)
}
void Node::set_allocated_column_ref(::pg_query::ColumnRef* column_ref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (column_ref) {
    ::google::protobuf::Arena* submessage_arena = column_ref->GetArena();
    if (message_arena != submessage_arena) {
      column_ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, column_ref, submessage_arena);
    }
    set_has_column_ref();
    _impl_.node_.column_ref_ = column_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.column_ref)
}
void Node::set_allocated_param_ref(::pg_query::ParamRef* param_ref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (param_ref) {
    ::google::protobuf::Arena* submessage_arena = param_ref->GetArena();
    if (message_arena != submessage_arena) {
      param_ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, param_ref, submessage_arena);
    }
    set_has_param_ref();
    _impl_.node_.param_ref_ = param_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.param_ref)
}
void Node::set_allocated_a_expr(::pg_query::A_Expr* a_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_expr) {
    ::google::protobuf::Arena* submessage_arena = a_expr->GetArena();
    if (message_arena != submessage_arena) {
      a_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_expr, submessage_arena);
    }
    set_has_a_expr();
    _impl_.node_.a_expr_ = a_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_expr)
}
void Node::set_allocated_type_cast(::pg_query::TypeCast* type_cast) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (type_cast) {
    ::google::protobuf::Arena* submessage_arena = type_cast->GetArena();
    if (message_arena != submessage_arena) {
      type_cast = ::google::protobuf::internal::GetOwnedMessage(message_arena, type_cast, submessage_arena);
    }
    set_has_type_cast();
    _impl_.node_.type_cast_ = type_cast;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.type_cast)
}
void Node::set_allocated_collate_clause(::pg_query::CollateClause* collate_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (collate_clause) {
    ::google::protobuf::Arena* submessage_arena = collate_clause->GetArena();
    if (message_arena != submessage_arena) {
      collate_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, collate_clause, submessage_arena);
    }
    set_has_collate_clause();
    _impl_.node_.collate_clause_ = collate_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.collate_clause)
}
void Node::set_allocated_role_spec(::pg_query::RoleSpec* role_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (role_spec) {
    ::google::protobuf::Arena* submessage_arena = role_spec->GetArena();
    if (message_arena != submessage_arena) {
      role_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, role_spec, submessage_arena);
    }
    set_has_role_spec();
    _impl_.node_.role_spec_ = role_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.role_spec)
}
void Node::set_allocated_func_call(::pg_query::FuncCall* func_call) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (func_call) {
    ::google::protobuf::Arena* submessage_arena = func_call->GetArena();
    if (message_arena != submessage_arena) {
      func_call = ::google::protobuf::internal::GetOwnedMessage(message_arena, func_call, submessage_arena);
    }
    set_has_func_call();
    _impl_.node_.func_call_ = func_call;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.func_call)
}
void Node::set_allocated_a_star(::pg_query::A_Star* a_star) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_star) {
    ::google::protobuf::Arena* submessage_arena = a_star->GetArena();
    if (message_arena != submessage_arena) {
      a_star = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_star, submessage_arena);
    }
    set_has_a_star();
    _impl_.node_.a_star_ = a_star;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_star)
}
void Node::set_allocated_a_indices(::pg_query::A_Indices* a_indices) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_indices) {
    ::google::protobuf::Arena* submessage_arena = a_indices->GetArena();
    if (message_arena != submessage_arena) {
      a_indices = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_indices, submessage_arena);
    }
    set_has_a_indices();
    _impl_.node_.a_indices_ = a_indices;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_indices)
}
void Node::set_allocated_a_indirection(::pg_query::A_Indirection* a_indirection) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_indirection) {
    ::google::protobuf::Arena* submessage_arena = a_indirection->GetArena();
    if (message_arena != submessage_arena) {
      a_indirection = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_indirection, submessage_arena);
    }
    set_has_a_indirection();
    _impl_.node_.a_indirection_ = a_indirection;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_indirection)
}
void Node::set_allocated_a_array_expr(::pg_query::A_ArrayExpr* a_array_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_array_expr) {
    ::google::protobuf::Arena* submessage_arena = a_array_expr->GetArena();
    if (message_arena != submessage_arena) {
      a_array_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_array_expr, submessage_arena);
    }
    set_has_a_array_expr();
    _impl_.node_.a_array_expr_ = a_array_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_array_expr)
}
void Node::set_allocated_res_target(::pg_query::ResTarget* res_target) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (res_target) {
    ::google::protobuf::Arena* submessage_arena = res_target->GetArena();
    if (message_arena != submessage_arena) {
      res_target = ::google::protobuf::internal::GetOwnedMessage(message_arena, res_target, submessage_arena);
    }
    set_has_res_target();
    _impl_.node_.res_target_ = res_target;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.res_target)
}
void Node::set_allocated_multi_assign_ref(::pg_query::MultiAssignRef* multi_assign_ref) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (multi_assign_ref) {
    ::google::protobuf::Arena* submessage_arena = multi_assign_ref->GetArena();
    if (message_arena != submessage_arena) {
      multi_assign_ref = ::google::protobuf::internal::GetOwnedMessage(message_arena, multi_assign_ref, submessage_arena);
    }
    set_has_multi_assign_ref();
    _impl_.node_.multi_assign_ref_ = multi_assign_ref;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.multi_assign_ref)
}
void Node::set_allocated_sort_by(::pg_query::SortBy* sort_by) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sort_by) {
    ::google::protobuf::Arena* submessage_arena = sort_by->GetArena();
    if (message_arena != submessage_arena) {
      sort_by = ::google::protobuf::internal::GetOwnedMessage(message_arena, sort_by, submessage_arena);
    }
    set_has_sort_by();
    _impl_.node_.sort_by_ = sort_by;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sort_by)
}
void Node::set_allocated_window_def(::pg_query::WindowDef* window_def) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (window_def) {
    ::google::protobuf::Arena* submessage_arena = window_def->GetArena();
    if (message_arena != submessage_arena) {
      window_def = ::google::protobuf::internal::GetOwnedMessage(message_arena, window_def, submessage_arena);
    }
    set_has_window_def();
    _impl_.node_.window_def_ = window_def;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_def)
}
void Node::set_allocated_range_subselect(::pg_query::RangeSubselect* range_subselect) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_subselect) {
    ::google::protobuf::Arena* submessage_arena = range_subselect->GetArena();
    if (message_arena != submessage_arena) {
      range_subselect = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_subselect, submessage_arena);
    }
    set_has_range_subselect();
    _impl_.node_.range_subselect_ = range_subselect;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_subselect)
}
void Node::set_allocated_range_function(::pg_query::RangeFunction* range_function) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_function) {
    ::google::protobuf::Arena* submessage_arena = range_function->GetArena();
    if (message_arena != submessage_arena) {
      range_function = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_function, submessage_arena);
    }
    set_has_range_function();
    _impl_.node_.range_function_ = range_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_function)
}
void Node::set_allocated_range_table_func(::pg_query::RangeTableFunc* range_table_func) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_func) {
    ::google::protobuf::Arena* submessage_arena = range_table_func->GetArena();
    if (message_arena != submessage_arena) {
      range_table_func = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_table_func, submessage_arena);
    }
    set_has_range_table_func();
    _impl_.node_.range_table_func_ = range_table_func;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_func)
}
void Node::set_allocated_range_table_func_col(::pg_query::RangeTableFuncCol* range_table_func_col) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_func_col) {
    ::google::protobuf::Arena* submessage_arena = range_table_func_col->GetArena();
    if (message_arena != submessage_arena) {
      range_table_func_col = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_table_func_col, submessage_arena);
    }
    set_has_range_table_func_col();
    _impl_.node_.range_table_func_col_ = range_table_func_col;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_func_col)
}
void Node::set_allocated_range_table_sample(::pg_query::RangeTableSample* range_table_sample) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_table_sample) {
    ::google::protobuf::Arena* submessage_arena = range_table_sample->GetArena();
    if (message_arena != submessage_arena) {
      range_table_sample = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_table_sample, submessage_arena);
    }
    set_has_range_table_sample();
    _impl_.node_.range_table_sample_ = range_table_sample;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_table_sample)
}
void Node::set_allocated_column_def(::pg_query::ColumnDef* column_def) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (column_def) {
    ::google::protobuf::Arena* submessage_arena = column_def->GetArena();
    if (message_arena != submessage_arena) {
      column_def = ::google::protobuf::internal::GetOwnedMessage(message_arena, column_def, submessage_arena);
    }
    set_has_column_def();
    _impl_.node_.column_def_ = column_def;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.column_def)
}
void Node::set_allocated_table_like_clause(::pg_query::TableLikeClause* table_like_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (table_like_clause) {
    ::google::protobuf::Arena* submessage_arena = table_like_clause->GetArena();
    if (message_arena != submessage_arena) {
      table_like_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, table_like_clause, submessage_arena);
    }
    set_has_table_like_clause();
    _impl_.node_.table_like_clause_ = table_like_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_like_clause)
}
void Node::set_allocated_index_elem(::pg_query::IndexElem* index_elem) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (index_elem) {
    ::google::protobuf::Arena* submessage_arena = index_elem->GetArena();
    if (message_arena != submessage_arena) {
      index_elem = ::google::protobuf::internal::GetOwnedMessage(message_arena, index_elem, submessage_arena);
    }
    set_has_index_elem();
    _impl_.node_.index_elem_ = index_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.index_elem)
}
void Node::set_allocated_def_elem(::pg_query::DefElem* def_elem) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (def_elem) {
    ::google::protobuf::Arena* submessage_arena = def_elem->GetArena();
    if (message_arena != submessage_arena) {
      def_elem = ::google::protobuf::internal::GetOwnedMessage(message_arena, def_elem, submessage_arena);
    }
    set_has_def_elem();
    _impl_.node_.def_elem_ = def_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.def_elem)
}
void Node::set_allocated_locking_clause(::pg_query::LockingClause* locking_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (locking_clause) {
    ::google::protobuf::Arena* submessage_arena = locking_clause->GetArena();
    if (message_arena != submessage_arena) {
      locking_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, locking_clause, submessage_arena);
    }
    set_has_locking_clause();
    _impl_.node_.locking_clause_ = locking_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.locking_clause)
}
void Node::set_allocated_xml_serialize(::pg_query::XmlSerialize* xml_serialize) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (xml_serialize) {
    ::google::protobuf::Arena* submessage_arena = xml_serialize->GetArena();
    if (message_arena != submessage_arena) {
      xml_serialize = ::google::protobuf::internal::GetOwnedMessage(message_arena, xml_serialize, submessage_arena);
    }
    set_has_xml_serialize();
    _impl_.node_.xml_serialize_ = xml_serialize;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.xml_serialize)
}
void Node::set_allocated_partition_elem(::pg_query::PartitionElem* partition_elem) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (partition_elem) {
    ::google::protobuf::Arena* submessage_arena = partition_elem->GetArena();
    if (message_arena != submessage_arena) {
      partition_elem = ::google::protobuf::internal::GetOwnedMessage(message_arena, partition_elem, submessage_arena);
    }
    set_has_partition_elem();
    _impl_.node_.partition_elem_ = partition_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_elem)
}
void Node::set_allocated_partition_spec(::pg_query::PartitionSpec* partition_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (partition_spec) {
    ::google::protobuf::Arena* submessage_arena = partition_spec->GetArena();
    if (message_arena != submessage_arena) {
      partition_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, partition_spec, submessage_arena);
    }
    set_has_partition_spec();
    _impl_.node_.partition_spec_ = partition_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_spec)
}
void Node::set_allocated_partition_bound_spec(::pg_query::PartitionBoundSpec* partition_bound_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (partition_bound_spec) {
    ::google::protobuf::Arena* submessage_arena = partition_bound_spec->GetArena();
    if (message_arena != submessage_arena) {
      partition_bound_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, partition_bound_spec, submessage_arena);
    }
    set_has_partition_bound_spec();
    _impl_.node_.partition_bound_spec_ = partition_bound_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_bound_spec)
}
void Node::set_allocated_partition_range_datum(::pg_query::PartitionRangeDatum* partition_range_datum) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (partition_range_datum) {
    ::google::protobuf::Arena* submessage_arena = partition_range_datum->GetArena();
    if (message_arena != submessage_arena) {
      partition_range_datum = ::google::protobuf::internal::GetOwnedMessage(message_arena, partition_range_datum, submessage_arena);
    }
    set_has_partition_range_datum();
    _impl_.node_.partition_range_datum_ = partition_range_datum;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_range_datum)
}
void Node::set_allocated_single_partition_spec(::pg_query::SinglePartitionSpec* single_partition_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (single_partition_spec) {
    ::google::protobuf::Arena* submessage_arena = single_partition_spec->GetArena();
    if (message_arena != submessage_arena) {
      single_partition_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, single_partition_spec, submessage_arena);
    }
    set_has_single_partition_spec();
    _impl_.node_.single_partition_spec_ = single_partition_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.single_partition_spec)
}
void Node::set_allocated_partition_cmd(::pg_query::PartitionCmd* partition_cmd) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (partition_cmd) {
    ::google::protobuf::Arena* submessage_arena = partition_cmd->GetArena();
    if (message_arena != submessage_arena) {
      partition_cmd = ::google::protobuf::internal::GetOwnedMessage(message_arena, partition_cmd, submessage_arena);
    }
    set_has_partition_cmd();
    _impl_.node_.partition_cmd_ = partition_cmd;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.partition_cmd)
}
void Node::set_allocated_range_tbl_entry(::pg_query::RangeTblEntry* range_tbl_entry) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_entry) {
    ::google::protobuf::Arena* submessage_arena = range_tbl_entry->GetArena();
    if (message_arena != submessage_arena) {
      range_tbl_entry = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_tbl_entry, submessage_arena);
    }
    set_has_range_tbl_entry();
    _impl_.node_.range_tbl_entry_ = range_tbl_entry;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_entry)
}
void Node::set_allocated_rtepermission_info(::pg_query::RTEPermissionInfo* rtepermission_info) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (rtepermission_info) {
    ::google::protobuf::Arena* submessage_arena = rtepermission_info->GetArena();
    if (message_arena != submessage_arena) {
      rtepermission_info = ::google::protobuf::internal::GetOwnedMessage(message_arena, rtepermission_info, submessage_arena);
    }
    set_has_rtepermission_info();
    _impl_.node_.rtepermission_info_ = rtepermission_info;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.rtepermission_info)
}
void Node::set_allocated_range_tbl_function(::pg_query::RangeTblFunction* range_tbl_function) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (range_tbl_function) {
    ::google::protobuf::Arena* submessage_arena = range_tbl_function->GetArena();
    if (message_arena != submessage_arena) {
      range_tbl_function = ::google::protobuf::internal::GetOwnedMessage(message_arena, range_tbl_function, submessage_arena);
    }
    set_has_range_tbl_function();
    _impl_.node_.range_tbl_function_ = range_tbl_function;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.range_tbl_function)
}
void Node::set_allocated_table_sample_clause(::pg_query::TableSampleClause* table_sample_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (table_sample_clause) {
    ::google::protobuf::Arena* submessage_arena = table_sample_clause->GetArena();
    if (message_arena != submessage_arena) {
      table_sample_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, table_sample_clause, submessage_arena);
    }
    set_has_table_sample_clause();
    _impl_.node_.table_sample_clause_ = table_sample_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.table_sample_clause)
}
void Node::set_allocated_with_check_option(::pg_query::WithCheckOption* with_check_option) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (with_check_option) {
    ::google::protobuf::Arena* submessage_arena = with_check_option->GetArena();
    if (message_arena != submessage_arena) {
      with_check_option = ::google::protobuf::internal::GetOwnedMessage(message_arena, with_check_option, submessage_arena);
    }
    set_has_with_check_option();
    _impl_.node_.with_check_option_ = with_check_option;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.with_check_option)
}
void Node::set_allocated_sort_group_clause(::pg_query::SortGroupClause* sort_group_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sort_group_clause) {
    ::google::protobuf::Arena* submessage_arena = sort_group_clause->GetArena();
    if (message_arena != submessage_arena) {
      sort_group_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, sort_group_clause, submessage_arena);
    }
    set_has_sort_group_clause();
    _impl_.node_.sort_group_clause_ = sort_group_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sort_group_clause)
}
void Node::set_allocated_grouping_set(::pg_query::GroupingSet* grouping_set) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (grouping_set) {
    ::google::protobuf::Arena* submessage_arena = grouping_set->GetArena();
    if (message_arena != submessage_arena) {
      grouping_set = ::google::protobuf::internal::GetOwnedMessage(message_arena, grouping_set, submessage_arena);
    }
    set_has_grouping_set();
    _impl_.node_.grouping_set_ = grouping_set;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grouping_set)
}
void Node::set_allocated_window_clause(::pg_query::WindowClause* window_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (window_clause) {
    ::google::protobuf::Arena* submessage_arena = window_clause->GetArena();
    if (message_arena != submessage_arena) {
      window_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, window_clause, submessage_arena);
    }
    set_has_window_clause();
    _impl_.node_.window_clause_ = window_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.window_clause)
}
void Node::set_allocated_row_mark_clause(::pg_query::RowMarkClause* row_mark_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (row_mark_clause) {
    ::google::protobuf::Arena* submessage_arena = row_mark_clause->GetArena();
    if (message_arena != submessage_arena) {
      row_mark_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, row_mark_clause, submessage_arena);
    }
    set_has_row_mark_clause();
    _impl_.node_.row_mark_clause_ = row_mark_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.row_mark_clause)
}
void Node::set_allocated_with_clause(::pg_query::WithClause* with_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (with_clause) {
    ::google::protobuf::Arena* submessage_arena = with_clause->GetArena();
    if (message_arena != submessage_arena) {
      with_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, with_clause, submessage_arena);
    }
    set_has_with_clause();
    _impl_.node_.with_clause_ = with_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.with_clause)
}
void Node::set_allocated_infer_clause(::pg_query::InferClause* infer_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (infer_clause) {
    ::google::protobuf::Arena* submessage_arena = infer_clause->GetArena();
    if (message_arena != submessage_arena) {
      infer_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, infer_clause, submessage_arena);
    }
    set_has_infer_clause();
    _impl_.node_.infer_clause_ = infer_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.infer_clause)
}
void Node::set_allocated_on_conflict_clause(::pg_query::OnConflictClause* on_conflict_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (on_conflict_clause) {
    ::google::protobuf::Arena* submessage_arena = on_conflict_clause->GetArena();
    if (message_arena != submessage_arena) {
      on_conflict_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, on_conflict_clause, submessage_arena);
    }
    set_has_on_conflict_clause();
    _impl_.node_.on_conflict_clause_ = on_conflict_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.on_conflict_clause)
}
void Node::set_allocated_ctesearch_clause(::pg_query::CTESearchClause* ctesearch_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (ctesearch_clause) {
    ::google::protobuf::Arena* submessage_arena = ctesearch_clause->GetArena();
    if (message_arena != submessage_arena) {
      ctesearch_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, ctesearch_clause, submessage_arena);
    }
    set_has_ctesearch_clause();
    _impl_.node_.ctesearch_clause_ = ctesearch_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.ctesearch_clause)
}
void Node::set_allocated_ctecycle_clause(::pg_query::CTECycleClause* ctecycle_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (ctecycle_clause) {
    ::google::protobuf::Arena* submessage_arena = ctecycle_clause->GetArena();
    if (message_arena != submessage_arena) {
      ctecycle_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, ctecycle_clause, submessage_arena);
    }
    set_has_ctecycle_clause();
    _impl_.node_.ctecycle_clause_ = ctecycle_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.ctecycle_clause)
}
void Node::set_allocated_common_table_expr(::pg_query::CommonTableExpr* common_table_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (common_table_expr) {
    ::google::protobuf::Arena* submessage_arena = common_table_expr->GetArena();
    if (message_arena != submessage_arena) {
      common_table_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, common_table_expr, submessage_arena);
    }
    set_has_common_table_expr();
    _impl_.node_.common_table_expr_ = common_table_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.common_table_expr)
}
void Node::set_allocated_merge_when_clause(::pg_query::MergeWhenClause* merge_when_clause) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (merge_when_clause) {
    ::google::protobuf::Arena* submessage_arena = merge_when_clause->GetArena();
    if (message_arena != submessage_arena) {
      merge_when_clause = ::google::protobuf::internal::GetOwnedMessage(message_arena, merge_when_clause, submessage_arena);
    }
    set_has_merge_when_clause();
    _impl_.node_.merge_when_clause_ = merge_when_clause;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_when_clause)
}
void Node::set_allocated_trigger_transition(::pg_query::TriggerTransition* trigger_transition) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (trigger_transition) {
    ::google::protobuf::Arena* submessage_arena = trigger_transition->GetArena();
    if (message_arena != submessage_arena) {
      trigger_transition = ::google::protobuf::internal::GetOwnedMessage(message_arena, trigger_transition, submessage_arena);
    }
    set_has_trigger_transition();
    _impl_.node_.trigger_transition_ = trigger_transition;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.trigger_transition)
}
void Node::set_allocated_json_output(::pg_query::JsonOutput* json_output) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_output) {
    ::google::protobuf::Arena* submessage_arena = json_output->GetArena();
    if (message_arena != submessage_arena) {
      json_output = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_output, submessage_arena);
    }
    set_has_json_output();
    _impl_.node_.json_output_ = json_output;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_output)
}
void Node::set_allocated_json_argument(::pg_query::JsonArgument* json_argument) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_argument) {
    ::google::protobuf::Arena* submessage_arena = json_argument->GetArena();
    if (message_arena != submessage_arena) {
      json_argument = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_argument, submessage_arena);
    }
    set_has_json_argument();
    _impl_.node_.json_argument_ = json_argument;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_argument)
}
void Node::set_allocated_json_func_expr(::pg_query::JsonFuncExpr* json_func_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_func_expr) {
    ::google::protobuf::Arena* submessage_arena = json_func_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_func_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_func_expr, submessage_arena);
    }
    set_has_json_func_expr();
    _impl_.node_.json_func_expr_ = json_func_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_func_expr)
}
void Node::set_allocated_json_table_path_spec(::pg_query::JsonTablePathSpec* json_table_path_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table_path_spec) {
    ::google::protobuf::Arena* submessage_arena = json_table_path_spec->GetArena();
    if (message_arena != submessage_arena) {
      json_table_path_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table_path_spec, submessage_arena);
    }
    set_has_json_table_path_spec();
    _impl_.node_.json_table_path_spec_ = json_table_path_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table_path_spec)
}
void Node::set_allocated_json_table(::pg_query::JsonTable* json_table) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table) {
    ::google::protobuf::Arena* submessage_arena = json_table->GetArena();
    if (message_arena != submessage_arena) {
      json_table = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table, submessage_arena);
    }
    set_has_json_table();
    _impl_.node_.json_table_ = json_table;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table)
}
void Node::set_allocated_json_table_column(::pg_query::JsonTableColumn* json_table_column) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_table_column) {
    ::google::protobuf::Arena* submessage_arena = json_table_column->GetArena();
    if (message_arena != submessage_arena) {
      json_table_column = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_table_column, submessage_arena);
    }
    set_has_json_table_column();
    _impl_.node_.json_table_column_ = json_table_column;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_table_column)
}
void Node::set_allocated_json_key_value(::pg_query::JsonKeyValue* json_key_value) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_key_value) {
    ::google::protobuf::Arena* submessage_arena = json_key_value->GetArena();
    if (message_arena != submessage_arena) {
      json_key_value = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_key_value, submessage_arena);
    }
    set_has_json_key_value();
    _impl_.node_.json_key_value_ = json_key_value;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_key_value)
}
void Node::set_allocated_json_parse_expr(::pg_query::JsonParseExpr* json_parse_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_parse_expr) {
    ::google::protobuf::Arena* submessage_arena = json_parse_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_parse_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_parse_expr, submessage_arena);
    }
    set_has_json_parse_expr();
    _impl_.node_.json_parse_expr_ = json_parse_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_parse_expr)
}
void Node::set_allocated_json_scalar_expr(::pg_query::JsonScalarExpr* json_scalar_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_scalar_expr) {
    ::google::protobuf::Arena* submessage_arena = json_scalar_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_scalar_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_scalar_expr, submessage_arena);
    }
    set_has_json_scalar_expr();
    _impl_.node_.json_scalar_expr_ = json_scalar_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_scalar_expr)
}
void Node::set_allocated_json_serialize_expr(::pg_query::JsonSerializeExpr* json_serialize_expr) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_serialize_expr) {
    ::google::protobuf::Arena* submessage_arena = json_serialize_expr->GetArena();
    if (message_arena != submessage_arena) {
      json_serialize_expr = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_serialize_expr, submessage_arena);
    }
    set_has_json_serialize_expr();
    _impl_.node_.json_serialize_expr_ = json_serialize_expr;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_serialize_expr)
}
void Node::set_allocated_json_object_constructor(::pg_query::JsonObjectConstructor* json_object_constructor) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_object_constructor) {
    ::google::protobuf::Arena* submessage_arena = json_object_constructor->GetArena();
    if (message_arena != submessage_arena) {
      json_object_constructor = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_object_constructor, submessage_arena);
    }
    set_has_json_object_constructor();
    _impl_.node_.json_object_constructor_ = json_object_constructor;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_object_constructor)
}
void Node::set_allocated_json_array_constructor(::pg_query::JsonArrayConstructor* json_array_constructor) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_array_constructor) {
    ::google::protobuf::Arena* submessage_arena = json_array_constructor->GetArena();
    if (message_arena != submessage_arena) {
      json_array_constructor = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_array_constructor, submessage_arena);
    }
    set_has_json_array_constructor();
    _impl_.node_.json_array_constructor_ = json_array_constructor;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_array_constructor)
}
void Node::set_allocated_json_array_query_constructor(::pg_query::JsonArrayQueryConstructor* json_array_query_constructor) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_array_query_constructor) {
    ::google::protobuf::Arena* submessage_arena = json_array_query_constructor->GetArena();
    if (message_arena != submessage_arena) {
      json_array_query_constructor = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_array_query_constructor, submessage_arena);
    }
    set_has_json_array_query_constructor();
    _impl_.node_.json_array_query_constructor_ = json_array_query_constructor;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_array_query_constructor)
}
void Node::set_allocated_json_agg_constructor(::pg_query::JsonAggConstructor* json_agg_constructor) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_agg_constructor) {
    ::google::protobuf::Arena* submessage_arena = json_agg_constructor->GetArena();
    if (message_arena != submessage_arena) {
      json_agg_constructor = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_agg_constructor, submessage_arena);
    }
    set_has_json_agg_constructor();
    _impl_.node_.json_agg_constructor_ = json_agg_constructor;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_agg_constructor)
}
void Node::set_allocated_json_object_agg(::pg_query::JsonObjectAgg* json_object_agg) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_object_agg) {
    ::google::protobuf::Arena* submessage_arena = json_object_agg->GetArena();
    if (message_arena != submessage_arena) {
      json_object_agg = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_object_agg, submessage_arena);
    }
    set_has_json_object_agg();
    _impl_.node_.json_object_agg_ = json_object_agg;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_object_agg)
}
void Node::set_allocated_json_array_agg(::pg_query::JsonArrayAgg* json_array_agg) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (json_array_agg) {
    ::google::protobuf::Arena* submessage_arena = json_array_agg->GetArena();
    if (message_arena != submessage_arena) {
      json_array_agg = ::google::protobuf::internal::GetOwnedMessage(message_arena, json_array_agg, submessage_arena);
    }
    set_has_json_array_agg();
    _impl_.node_.json_array_agg_ = json_array_agg;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.json_array_agg)
}
void Node::set_allocated_raw_stmt(::pg_query::RawStmt* raw_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (raw_stmt) {
    ::google::protobuf::Arena* submessage_arena = raw_stmt->GetArena();
    if (message_arena != submessage_arena) {
      raw_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, raw_stmt, submessage_arena);
    }
    set_has_raw_stmt();
    _impl_.node_.raw_stmt_ = raw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.raw_stmt)
}
void Node::set_allocated_insert_stmt(::pg_query::InsertStmt* insert_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (insert_stmt) {
    ::google::protobuf::Arena* submessage_arena = insert_stmt->GetArena();
    if (message_arena != submessage_arena) {
      insert_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, insert_stmt, submessage_arena);
    }
    set_has_insert_stmt();
    _impl_.node_.insert_stmt_ = insert_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.insert_stmt)
}
void Node::set_allocated_delete_stmt(::pg_query::DeleteStmt* delete_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (delete_stmt) {
    ::google::protobuf::Arena* submessage_arena = delete_stmt->GetArena();
    if (message_arena != submessage_arena) {
      delete_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, delete_stmt, submessage_arena);
    }
    set_has_delete_stmt();
    _impl_.node_.delete_stmt_ = delete_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.delete_stmt)
}
void Node::set_allocated_update_stmt(::pg_query::UpdateStmt* update_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (update_stmt) {
    ::google::protobuf::Arena* submessage_arena = update_stmt->GetArena();
    if (message_arena != submessage_arena) {
      update_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, update_stmt, submessage_arena);
    }
    set_has_update_stmt();
    _impl_.node_.update_stmt_ = update_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.update_stmt)
}
void Node::set_allocated_merge_stmt(::pg_query::MergeStmt* merge_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (merge_stmt) {
    ::google::protobuf::Arena* submessage_arena = merge_stmt->GetArena();
    if (message_arena != submessage_arena) {
      merge_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, merge_stmt, submessage_arena);
    }
    set_has_merge_stmt();
    _impl_.node_.merge_stmt_ = merge_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.merge_stmt)
}
void Node::set_allocated_select_stmt(::pg_query::SelectStmt* select_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (select_stmt) {
    ::google::protobuf::Arena* submessage_arena = select_stmt->GetArena();
    if (message_arena != submessage_arena) {
      select_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, select_stmt, submessage_arena);
    }
    set_has_select_stmt();
    _impl_.node_.select_stmt_ = select_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.select_stmt)
}
void Node::set_allocated_set_operation_stmt(::pg_query::SetOperationStmt* set_operation_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (set_operation_stmt) {
    ::google::protobuf::Arena* submessage_arena = set_operation_stmt->GetArena();
    if (message_arena != submessage_arena) {
      set_operation_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, set_operation_stmt, submessage_arena);
    }
    set_has_set_operation_stmt();
    _impl_.node_.set_operation_stmt_ = set_operation_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.set_operation_stmt)
}
void Node::set_allocated_return_stmt(::pg_query::ReturnStmt* return_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (return_stmt) {
    ::google::protobuf::Arena* submessage_arena = return_stmt->GetArena();
    if (message_arena != submessage_arena) {
      return_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, return_stmt, submessage_arena);
    }
    set_has_return_stmt();
    _impl_.node_.return_stmt_ = return_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.return_stmt)
}
void Node::set_allocated_plassign_stmt(::pg_query::PLAssignStmt* plassign_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (plassign_stmt) {
    ::google::protobuf::Arena* submessage_arena = plassign_stmt->GetArena();
    if (message_arena != submessage_arena) {
      plassign_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, plassign_stmt, submessage_arena);
    }
    set_has_plassign_stmt();
    _impl_.node_.plassign_stmt_ = plassign_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.plassign_stmt)
}
void Node::set_allocated_create_schema_stmt(::pg_query::CreateSchemaStmt* create_schema_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_schema_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_schema_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_schema_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_schema_stmt, submessage_arena);
    }
    set_has_create_schema_stmt();
    _impl_.node_.create_schema_stmt_ = create_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_schema_stmt)
}
void Node::set_allocated_alter_table_stmt(::pg_query::AlterTableStmt* alter_table_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_table_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_table_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_table_stmt, submessage_arena);
    }
    set_has_alter_table_stmt();
    _impl_.node_.alter_table_stmt_ = alter_table_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_stmt)
}
void Node::set_allocated_replica_identity_stmt(::pg_query::ReplicaIdentityStmt* replica_identity_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (replica_identity_stmt) {
    ::google::protobuf::Arena* submessage_arena = replica_identity_stmt->GetArena();
    if (message_arena != submessage_arena) {
      replica_identity_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, replica_identity_stmt, submessage_arena);
    }
    set_has_replica_identity_stmt();
    _impl_.node_.replica_identity_stmt_ = replica_identity_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.replica_identity_stmt)
}
void Node::set_allocated_alter_table_cmd(::pg_query::AlterTableCmd* alter_table_cmd) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_cmd) {
    ::google::protobuf::Arena* submessage_arena = alter_table_cmd->GetArena();
    if (message_arena != submessage_arena) {
      alter_table_cmd = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_table_cmd, submessage_arena);
    }
    set_has_alter_table_cmd();
    _impl_.node_.alter_table_cmd_ = alter_table_cmd;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_cmd)
}
void Node::set_allocated_alter_collation_stmt(::pg_query::AlterCollationStmt* alter_collation_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_collation_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_collation_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_collation_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_collation_stmt, submessage_arena);
    }
    set_has_alter_collation_stmt();
    _impl_.node_.alter_collation_stmt_ = alter_collation_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_collation_stmt)
}
void Node::set_allocated_alter_domain_stmt(::pg_query::AlterDomainStmt* alter_domain_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_domain_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_domain_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_domain_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_domain_stmt, submessage_arena);
    }
    set_has_alter_domain_stmt();
    _impl_.node_.alter_domain_stmt_ = alter_domain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_domain_stmt)
}
void Node::set_allocated_grant_stmt(::pg_query::GrantStmt* grant_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (grant_stmt) {
    ::google::protobuf::Arena* submessage_arena = grant_stmt->GetArena();
    if (message_arena != submessage_arena) {
      grant_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, grant_stmt, submessage_arena);
    }
    set_has_grant_stmt();
    _impl_.node_.grant_stmt_ = grant_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grant_stmt)
}
void Node::set_allocated_object_with_args(::pg_query::ObjectWithArgs* object_with_args) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (object_with_args) {
    ::google::protobuf::Arena* submessage_arena = object_with_args->GetArena();
    if (message_arena != submessage_arena) {
      object_with_args = ::google::protobuf::internal::GetOwnedMessage(message_arena, object_with_args, submessage_arena);
    }
    set_has_object_with_args();
    _impl_.node_.object_with_args_ = object_with_args;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.object_with_args)
}
void Node::set_allocated_access_priv(::pg_query::AccessPriv* access_priv) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (access_priv) {
    ::google::protobuf::Arena* submessage_arena = access_priv->GetArena();
    if (message_arena != submessage_arena) {
      access_priv = ::google::protobuf::internal::GetOwnedMessage(message_arena, access_priv, submessage_arena);
    }
    set_has_access_priv();
    _impl_.node_.access_priv_ = access_priv;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.access_priv)
}
void Node::set_allocated_grant_role_stmt(::pg_query::GrantRoleStmt* grant_role_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (grant_role_stmt) {
    ::google::protobuf::Arena* submessage_arena = grant_role_stmt->GetArena();
    if (message_arena != submessage_arena) {
      grant_role_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, grant_role_stmt, submessage_arena);
    }
    set_has_grant_role_stmt();
    _impl_.node_.grant_role_stmt_ = grant_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.grant_role_stmt)
}
void Node::set_allocated_alter_default_privileges_stmt(::pg_query::AlterDefaultPrivilegesStmt* alter_default_privileges_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_default_privileges_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_default_privileges_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_default_privileges_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_default_privileges_stmt, submessage_arena);
    }
    set_has_alter_default_privileges_stmt();
    _impl_.node_.alter_default_privileges_stmt_ = alter_default_privileges_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_default_privileges_stmt)
}
void Node::set_allocated_copy_stmt(::pg_query::CopyStmt* copy_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (copy_stmt) {
    ::google::protobuf::Arena* submessage_arena = copy_stmt->GetArena();
    if (message_arena != submessage_arena) {
      copy_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, copy_stmt, submessage_arena);
    }
    set_has_copy_stmt();
    _impl_.node_.copy_stmt_ = copy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.copy_stmt)
}
void Node::set_allocated_variable_set_stmt(::pg_query::VariableSetStmt* variable_set_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (variable_set_stmt) {
    ::google::protobuf::Arena* submessage_arena = variable_set_stmt->GetArena();
    if (message_arena != submessage_arena) {
      variable_set_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, variable_set_stmt, submessage_arena);
    }
    set_has_variable_set_stmt();
    _impl_.node_.variable_set_stmt_ = variable_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.variable_set_stmt)
}
void Node::set_allocated_variable_show_stmt(::pg_query::VariableShowStmt* variable_show_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (variable_show_stmt) {
    ::google::protobuf::Arena* submessage_arena = variable_show_stmt->GetArena();
    if (message_arena != submessage_arena) {
      variable_show_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, variable_show_stmt, submessage_arena);
    }
    set_has_variable_show_stmt();
    _impl_.node_.variable_show_stmt_ = variable_show_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.variable_show_stmt)
}
void Node::set_allocated_create_stmt(::pg_query::CreateStmt* create_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_stmt, submessage_arena);
    }
    set_has_create_stmt();
    _impl_.node_.create_stmt_ = create_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_stmt)
}
void Node::set_allocated_constraint(::pg_query::Constraint* constraint) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (constraint) {
    ::google::protobuf::Arena* submessage_arena = constraint->GetArena();
    if (message_arena != submessage_arena) {
      constraint = ::google::protobuf::internal::GetOwnedMessage(message_arena, constraint, submessage_arena);
    }
    set_has_constraint();
    _impl_.node_.constraint_ = constraint;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.constraint)
}
void Node::set_allocated_create_table_space_stmt(::pg_query::CreateTableSpaceStmt* create_table_space_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_table_space_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_table_space_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_table_space_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_table_space_stmt, submessage_arena);
    }
    set_has_create_table_space_stmt();
    _impl_.node_.create_table_space_stmt_ = create_table_space_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_table_space_stmt)
}
void Node::set_allocated_drop_table_space_stmt(::pg_query::DropTableSpaceStmt* drop_table_space_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_table_space_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_table_space_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_table_space_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_table_space_stmt, submessage_arena);
    }
    set_has_drop_table_space_stmt();
    _impl_.node_.drop_table_space_stmt_ = drop_table_space_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_table_space_stmt)
}
void Node::set_allocated_alter_table_space_options_stmt(::pg_query::AlterTableSpaceOptionsStmt* alter_table_space_options_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_space_options_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_table_space_options_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_table_space_options_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_table_space_options_stmt, submessage_arena);
    }
    set_has_alter_table_space_options_stmt();
    _impl_.node_.alter_table_space_options_stmt_ = alter_table_space_options_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_space_options_stmt)
}
void Node::set_allocated_alter_table_move_all_stmt(::pg_query::AlterTableMoveAllStmt* alter_table_move_all_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_table_move_all_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_table_move_all_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_table_move_all_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_table_move_all_stmt, submessage_arena);
    }
    set_has_alter_table_move_all_stmt();
    _impl_.node_.alter_table_move_all_stmt_ = alter_table_move_all_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_table_move_all_stmt)
}
void Node::set_allocated_create_extension_stmt(::pg_query::CreateExtensionStmt* create_extension_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_extension_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_extension_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_extension_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_extension_stmt, submessage_arena);
    }
    set_has_create_extension_stmt();
    _impl_.node_.create_extension_stmt_ = create_extension_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_extension_stmt)
}
void Node::set_allocated_alter_extension_stmt(::pg_query::AlterExtensionStmt* alter_extension_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_extension_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_extension_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_extension_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_extension_stmt, submessage_arena);
    }
    set_has_alter_extension_stmt();
    _impl_.node_.alter_extension_stmt_ = alter_extension_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_extension_stmt)
}
void Node::set_allocated_alter_extension_contents_stmt(::pg_query::AlterExtensionContentsStmt* alter_extension_contents_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_extension_contents_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_extension_contents_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_extension_contents_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_extension_contents_stmt, submessage_arena);
    }
    set_has_alter_extension_contents_stmt();
    _impl_.node_.alter_extension_contents_stmt_ = alter_extension_contents_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_extension_contents_stmt)
}
void Node::set_allocated_create_fdw_stmt(::pg_query::CreateFdwStmt* create_fdw_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_fdw_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_fdw_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_fdw_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_fdw_stmt, submessage_arena);
    }
    set_has_create_fdw_stmt();
    _impl_.node_.create_fdw_stmt_ = create_fdw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_fdw_stmt)
}
void Node::set_allocated_alter_fdw_stmt(::pg_query::AlterFdwStmt* alter_fdw_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_fdw_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_fdw_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_fdw_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_fdw_stmt, submessage_arena);
    }
    set_has_alter_fdw_stmt();
    _impl_.node_.alter_fdw_stmt_ = alter_fdw_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_fdw_stmt)
}
void Node::set_allocated_create_foreign_server_stmt(::pg_query::CreateForeignServerStmt* create_foreign_server_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_foreign_server_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_foreign_server_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_foreign_server_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_foreign_server_stmt, submessage_arena);
    }
    set_has_create_foreign_server_stmt();
    _impl_.node_.create_foreign_server_stmt_ = create_foreign_server_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_foreign_server_stmt)
}
void Node::set_allocated_alter_foreign_server_stmt(::pg_query::AlterForeignServerStmt* alter_foreign_server_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_foreign_server_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_foreign_server_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_foreign_server_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_foreign_server_stmt, submessage_arena);
    }
    set_has_alter_foreign_server_stmt();
    _impl_.node_.alter_foreign_server_stmt_ = alter_foreign_server_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_foreign_server_stmt)
}
void Node::set_allocated_create_foreign_table_stmt(::pg_query::CreateForeignTableStmt* create_foreign_table_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_foreign_table_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_foreign_table_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_foreign_table_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_foreign_table_stmt, submessage_arena);
    }
    set_has_create_foreign_table_stmt();
    _impl_.node_.create_foreign_table_stmt_ = create_foreign_table_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_foreign_table_stmt)
}
void Node::set_allocated_create_user_mapping_stmt(::pg_query::CreateUserMappingStmt* create_user_mapping_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_user_mapping_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_user_mapping_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_user_mapping_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_user_mapping_stmt, submessage_arena);
    }
    set_has_create_user_mapping_stmt();
    _impl_.node_.create_user_mapping_stmt_ = create_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_user_mapping_stmt)
}
void Node::set_allocated_alter_user_mapping_stmt(::pg_query::AlterUserMappingStmt* alter_user_mapping_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_user_mapping_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_user_mapping_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_user_mapping_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_user_mapping_stmt, submessage_arena);
    }
    set_has_alter_user_mapping_stmt();
    _impl_.node_.alter_user_mapping_stmt_ = alter_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_user_mapping_stmt)
}
void Node::set_allocated_drop_user_mapping_stmt(::pg_query::DropUserMappingStmt* drop_user_mapping_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_user_mapping_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_user_mapping_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_user_mapping_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_user_mapping_stmt, submessage_arena);
    }
    set_has_drop_user_mapping_stmt();
    _impl_.node_.drop_user_mapping_stmt_ = drop_user_mapping_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_user_mapping_stmt)
}
void Node::set_allocated_import_foreign_schema_stmt(::pg_query::ImportForeignSchemaStmt* import_foreign_schema_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (import_foreign_schema_stmt) {
    ::google::protobuf::Arena* submessage_arena = import_foreign_schema_stmt->GetArena();
    if (message_arena != submessage_arena) {
      import_foreign_schema_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, import_foreign_schema_stmt, submessage_arena);
    }
    set_has_import_foreign_schema_stmt();
    _impl_.node_.import_foreign_schema_stmt_ = import_foreign_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.import_foreign_schema_stmt)
}
void Node::set_allocated_create_policy_stmt(::pg_query::CreatePolicyStmt* create_policy_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_policy_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_policy_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_policy_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_policy_stmt, submessage_arena);
    }
    set_has_create_policy_stmt();
    _impl_.node_.create_policy_stmt_ = create_policy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_policy_stmt)
}
void Node::set_allocated_alter_policy_stmt(::pg_query::AlterPolicyStmt* alter_policy_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_policy_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_policy_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_policy_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_policy_stmt, submessage_arena);
    }
    set_has_alter_policy_stmt();
    _impl_.node_.alter_policy_stmt_ = alter_policy_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_policy_stmt)
}
void Node::set_allocated_create_am_stmt(::pg_query::CreateAmStmt* create_am_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_am_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_am_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_am_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_am_stmt, submessage_arena);
    }
    set_has_create_am_stmt();
    _impl_.node_.create_am_stmt_ = create_am_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_am_stmt)
}
void Node::set_allocated_create_trig_stmt(::pg_query::CreateTrigStmt* create_trig_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_trig_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_trig_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_trig_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_trig_stmt, submessage_arena);
    }
    set_has_create_trig_stmt();
    _impl_.node_.create_trig_stmt_ = create_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_trig_stmt)
}
void Node::set_allocated_create_event_trig_stmt(::pg_query::CreateEventTrigStmt* create_event_trig_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_event_trig_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_event_trig_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_event_trig_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_event_trig_stmt, submessage_arena);
    }
    set_has_create_event_trig_stmt();
    _impl_.node_.create_event_trig_stmt_ = create_event_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_event_trig_stmt)
}
void Node::set_allocated_alter_event_trig_stmt(::pg_query::AlterEventTrigStmt* alter_event_trig_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_event_trig_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_event_trig_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_event_trig_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_event_trig_stmt, submessage_arena);
    }
    set_has_alter_event_trig_stmt();
    _impl_.node_.alter_event_trig_stmt_ = alter_event_trig_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_event_trig_stmt)
}
void Node::set_allocated_create_plang_stmt(::pg_query::CreatePLangStmt* create_plang_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_plang_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_plang_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_plang_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_plang_stmt, submessage_arena);
    }
    set_has_create_plang_stmt();
    _impl_.node_.create_plang_stmt_ = create_plang_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_plang_stmt)
}
void Node::set_allocated_create_role_stmt(::pg_query::CreateRoleStmt* create_role_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_role_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_role_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_role_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_role_stmt, submessage_arena);
    }
    set_has_create_role_stmt();
    _impl_.node_.create_role_stmt_ = create_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_role_stmt)
}
void Node::set_allocated_alter_role_stmt(::pg_query::AlterRoleStmt* alter_role_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_role_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_role_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_role_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_role_stmt, submessage_arena);
    }
    set_has_alter_role_stmt();
    _impl_.node_.alter_role_stmt_ = alter_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_role_stmt)
}
void Node::set_allocated_alter_role_set_stmt(::pg_query::AlterRoleSetStmt* alter_role_set_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_role_set_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_role_set_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_role_set_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_role_set_stmt, submessage_arena);
    }
    set_has_alter_role_set_stmt();
    _impl_.node_.alter_role_set_stmt_ = alter_role_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_role_set_stmt)
}
void Node::set_allocated_drop_role_stmt(::pg_query::DropRoleStmt* drop_role_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_role_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_role_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_role_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_role_stmt, submessage_arena);
    }
    set_has_drop_role_stmt();
    _impl_.node_.drop_role_stmt_ = drop_role_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_role_stmt)
}
void Node::set_allocated_create_seq_stmt(::pg_query::CreateSeqStmt* create_seq_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_seq_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_seq_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_seq_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_seq_stmt, submessage_arena);
    }
    set_has_create_seq_stmt();
    _impl_.node_.create_seq_stmt_ = create_seq_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_seq_stmt)
}
void Node::set_allocated_alter_seq_stmt(::pg_query::AlterSeqStmt* alter_seq_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_seq_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_seq_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_seq_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_seq_stmt, submessage_arena);
    }
    set_has_alter_seq_stmt();
    _impl_.node_.alter_seq_stmt_ = alter_seq_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_seq_stmt)
}
void Node::set_allocated_define_stmt(::pg_query::DefineStmt* define_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (define_stmt) {
    ::google::protobuf::Arena* submessage_arena = define_stmt->GetArena();
    if (message_arena != submessage_arena) {
      define_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, define_stmt, submessage_arena);
    }
    set_has_define_stmt();
    _impl_.node_.define_stmt_ = define_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.define_stmt)
}
void Node::set_allocated_create_domain_stmt(::pg_query::CreateDomainStmt* create_domain_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_domain_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_domain_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_domain_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_domain_stmt, submessage_arena);
    }
    set_has_create_domain_stmt();
    _impl_.node_.create_domain_stmt_ = create_domain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_domain_stmt)
}
void Node::set_allocated_create_op_class_stmt(::pg_query::CreateOpClassStmt* create_op_class_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_class_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_op_class_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_op_class_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_op_class_stmt, submessage_arena);
    }
    set_has_create_op_class_stmt();
    _impl_.node_.create_op_class_stmt_ = create_op_class_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_class_stmt)
}
void Node::set_allocated_create_op_class_item(::pg_query::CreateOpClassItem* create_op_class_item) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_class_item) {
    ::google::protobuf::Arena* submessage_arena = create_op_class_item->GetArena();
    if (message_arena != submessage_arena) {
      create_op_class_item = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_op_class_item, submessage_arena);
    }
    set_has_create_op_class_item();
    _impl_.node_.create_op_class_item_ = create_op_class_item;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_class_item)
}
void Node::set_allocated_create_op_family_stmt(::pg_query::CreateOpFamilyStmt* create_op_family_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_op_family_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_op_family_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_op_family_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_op_family_stmt, submessage_arena);
    }
    set_has_create_op_family_stmt();
    _impl_.node_.create_op_family_stmt_ = create_op_family_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_op_family_stmt)
}
void Node::set_allocated_alter_op_family_stmt(::pg_query::AlterOpFamilyStmt* alter_op_family_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_op_family_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_op_family_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_op_family_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_op_family_stmt, submessage_arena);
    }
    set_has_alter_op_family_stmt();
    _impl_.node_.alter_op_family_stmt_ = alter_op_family_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_op_family_stmt)
}
void Node::set_allocated_drop_stmt(::pg_query::DropStmt* drop_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_stmt, submessage_arena);
    }
    set_has_drop_stmt();
    _impl_.node_.drop_stmt_ = drop_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_stmt)
}
void Node::set_allocated_truncate_stmt(::pg_query::TruncateStmt* truncate_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (truncate_stmt) {
    ::google::protobuf::Arena* submessage_arena = truncate_stmt->GetArena();
    if (message_arena != submessage_arena) {
      truncate_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, truncate_stmt, submessage_arena);
    }
    set_has_truncate_stmt();
    _impl_.node_.truncate_stmt_ = truncate_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.truncate_stmt)
}
void Node::set_allocated_comment_stmt(::pg_query::CommentStmt* comment_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (comment_stmt) {
    ::google::protobuf::Arena* submessage_arena = comment_stmt->GetArena();
    if (message_arena != submessage_arena) {
      comment_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, comment_stmt, submessage_arena);
    }
    set_has_comment_stmt();
    _impl_.node_.comment_stmt_ = comment_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.comment_stmt)
}
void Node::set_allocated_sec_label_stmt(::pg_query::SecLabelStmt* sec_label_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (sec_label_stmt) {
    ::google::protobuf::Arena* submessage_arena = sec_label_stmt->GetArena();
    if (message_arena != submessage_arena) {
      sec_label_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, sec_label_stmt, submessage_arena);
    }
    set_has_sec_label_stmt();
    _impl_.node_.sec_label_stmt_ = sec_label_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.sec_label_stmt)
}
void Node::set_allocated_declare_cursor_stmt(::pg_query::DeclareCursorStmt* declare_cursor_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (declare_cursor_stmt) {
    ::google::protobuf::Arena* submessage_arena = declare_cursor_stmt->GetArena();
    if (message_arena != submessage_arena) {
      declare_cursor_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, declare_cursor_stmt, submessage_arena);
    }
    set_has_declare_cursor_stmt();
    _impl_.node_.declare_cursor_stmt_ = declare_cursor_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.declare_cursor_stmt)
}
void Node::set_allocated_close_portal_stmt(::pg_query::ClosePortalStmt* close_portal_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (close_portal_stmt) {
    ::google::protobuf::Arena* submessage_arena = close_portal_stmt->GetArena();
    if (message_arena != submessage_arena) {
      close_portal_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, close_portal_stmt, submessage_arena);
    }
    set_has_close_portal_stmt();
    _impl_.node_.close_portal_stmt_ = close_portal_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.close_portal_stmt)
}
void Node::set_allocated_fetch_stmt(::pg_query::FetchStmt* fetch_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (fetch_stmt) {
    ::google::protobuf::Arena* submessage_arena = fetch_stmt->GetArena();
    if (message_arena != submessage_arena) {
      fetch_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, fetch_stmt, submessage_arena);
    }
    set_has_fetch_stmt();
    _impl_.node_.fetch_stmt_ = fetch_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.fetch_stmt)
}
void Node::set_allocated_index_stmt(::pg_query::IndexStmt* index_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (index_stmt) {
    ::google::protobuf::Arena* submessage_arena = index_stmt->GetArena();
    if (message_arena != submessage_arena) {
      index_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, index_stmt, submessage_arena);
    }
    set_has_index_stmt();
    _impl_.node_.index_stmt_ = index_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.index_stmt)
}
void Node::set_allocated_create_stats_stmt(::pg_query::CreateStatsStmt* create_stats_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_stats_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_stats_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_stats_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_stats_stmt, submessage_arena);
    }
    set_has_create_stats_stmt();
    _impl_.node_.create_stats_stmt_ = create_stats_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_stats_stmt)
}
void Node::set_allocated_stats_elem(::pg_query::StatsElem* stats_elem) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (stats_elem) {
    ::google::protobuf::Arena* submessage_arena = stats_elem->GetArena();
    if (message_arena != submessage_arena) {
      stats_elem = ::google::protobuf::internal::GetOwnedMessage(message_arena, stats_elem, submessage_arena);
    }
    set_has_stats_elem();
    _impl_.node_.stats_elem_ = stats_elem;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.stats_elem)
}
void Node::set_allocated_alter_stats_stmt(::pg_query::AlterStatsStmt* alter_stats_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_stats_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_stats_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_stats_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_stats_stmt, submessage_arena);
    }
    set_has_alter_stats_stmt();
    _impl_.node_.alter_stats_stmt_ = alter_stats_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_stats_stmt)
}
void Node::set_allocated_create_function_stmt(::pg_query::CreateFunctionStmt* create_function_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_function_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_function_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_function_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_function_stmt, submessage_arena);
    }
    set_has_create_function_stmt();
    _impl_.node_.create_function_stmt_ = create_function_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_function_stmt)
}
void Node::set_allocated_function_parameter(::pg_query::FunctionParameter* function_parameter) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (function_parameter) {
    ::google::protobuf::Arena* submessage_arena = function_parameter->GetArena();
    if (message_arena != submessage_arena) {
      function_parameter = ::google::protobuf::internal::GetOwnedMessage(message_arena, function_parameter, submessage_arena);
    }
    set_has_function_parameter();
    _impl_.node_.function_parameter_ = function_parameter;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.function_parameter)
}
void Node::set_allocated_alter_function_stmt(::pg_query::AlterFunctionStmt* alter_function_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_function_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_function_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_function_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_function_stmt, submessage_arena);
    }
    set_has_alter_function_stmt();
    _impl_.node_.alter_function_stmt_ = alter_function_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_function_stmt)
}
void Node::set_allocated_do_stmt(::pg_query::DoStmt* do_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (do_stmt) {
    ::google::protobuf::Arena* submessage_arena = do_stmt->GetArena();
    if (message_arena != submessage_arena) {
      do_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, do_stmt, submessage_arena);
    }
    set_has_do_stmt();
    _impl_.node_.do_stmt_ = do_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.do_stmt)
}
void Node::set_allocated_inline_code_block(::pg_query::InlineCodeBlock* inline_code_block) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (inline_code_block) {
    ::google::protobuf::Arena* submessage_arena = inline_code_block->GetArena();
    if (message_arena != submessage_arena) {
      inline_code_block = ::google::protobuf::internal::GetOwnedMessage(message_arena, inline_code_block, submessage_arena);
    }
    set_has_inline_code_block();
    _impl_.node_.inline_code_block_ = inline_code_block;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.inline_code_block)
}
void Node::set_allocated_call_stmt(::pg_query::CallStmt* call_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (call_stmt) {
    ::google::protobuf::Arena* submessage_arena = call_stmt->GetArena();
    if (message_arena != submessage_arena) {
      call_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, call_stmt, submessage_arena);
    }
    set_has_call_stmt();
    _impl_.node_.call_stmt_ = call_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.call_stmt)
}
void Node::set_allocated_call_context(::pg_query::CallContext* call_context) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (call_context) {
    ::google::protobuf::Arena* submessage_arena = call_context->GetArena();
    if (message_arena != submessage_arena) {
      call_context = ::google::protobuf::internal::GetOwnedMessage(message_arena, call_context, submessage_arena);
    }
    set_has_call_context();
    _impl_.node_.call_context_ = call_context;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.call_context)
}
void Node::set_allocated_rename_stmt(::pg_query::RenameStmt* rename_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (rename_stmt) {
    ::google::protobuf::Arena* submessage_arena = rename_stmt->GetArena();
    if (message_arena != submessage_arena) {
      rename_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, rename_stmt, submessage_arena);
    }
    set_has_rename_stmt();
    _impl_.node_.rename_stmt_ = rename_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.rename_stmt)
}
void Node::set_allocated_alter_object_depends_stmt(::pg_query::AlterObjectDependsStmt* alter_object_depends_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_object_depends_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_object_depends_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_object_depends_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_object_depends_stmt, submessage_arena);
    }
    set_has_alter_object_depends_stmt();
    _impl_.node_.alter_object_depends_stmt_ = alter_object_depends_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_object_depends_stmt)
}
void Node::set_allocated_alter_object_schema_stmt(::pg_query::AlterObjectSchemaStmt* alter_object_schema_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_object_schema_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_object_schema_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_object_schema_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_object_schema_stmt, submessage_arena);
    }
    set_has_alter_object_schema_stmt();
    _impl_.node_.alter_object_schema_stmt_ = alter_object_schema_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_object_schema_stmt)
}
void Node::set_allocated_alter_owner_stmt(::pg_query::AlterOwnerStmt* alter_owner_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_owner_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_owner_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_owner_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_owner_stmt, submessage_arena);
    }
    set_has_alter_owner_stmt();
    _impl_.node_.alter_owner_stmt_ = alter_owner_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_owner_stmt)
}
void Node::set_allocated_alter_operator_stmt(::pg_query::AlterOperatorStmt* alter_operator_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_operator_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_operator_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_operator_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_operator_stmt, submessage_arena);
    }
    set_has_alter_operator_stmt();
    _impl_.node_.alter_operator_stmt_ = alter_operator_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_operator_stmt)
}
void Node::set_allocated_alter_type_stmt(::pg_query::AlterTypeStmt* alter_type_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_type_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_type_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_type_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_type_stmt, submessage_arena);
    }
    set_has_alter_type_stmt();
    _impl_.node_.alter_type_stmt_ = alter_type_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_type_stmt)
}
void Node::set_allocated_rule_stmt(::pg_query::RuleStmt* rule_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (rule_stmt) {
    ::google::protobuf::Arena* submessage_arena = rule_stmt->GetArena();
    if (message_arena != submessage_arena) {
      rule_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, rule_stmt, submessage_arena);
    }
    set_has_rule_stmt();
    _impl_.node_.rule_stmt_ = rule_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.rule_stmt)
}
void Node::set_allocated_notify_stmt(::pg_query::NotifyStmt* notify_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (notify_stmt) {
    ::google::protobuf::Arena* submessage_arena = notify_stmt->GetArena();
    if (message_arena != submessage_arena) {
      notify_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, notify_stmt, submessage_arena);
    }
    set_has_notify_stmt();
    _impl_.node_.notify_stmt_ = notify_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.notify_stmt)
}
void Node::set_allocated_listen_stmt(::pg_query::ListenStmt* listen_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (listen_stmt) {
    ::google::protobuf::Arena* submessage_arena = listen_stmt->GetArena();
    if (message_arena != submessage_arena) {
      listen_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, listen_stmt, submessage_arena);
    }
    set_has_listen_stmt();
    _impl_.node_.listen_stmt_ = listen_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.listen_stmt)
}
void Node::set_allocated_unlisten_stmt(::pg_query::UnlistenStmt* unlisten_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (unlisten_stmt) {
    ::google::protobuf::Arena* submessage_arena = unlisten_stmt->GetArena();
    if (message_arena != submessage_arena) {
      unlisten_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, unlisten_stmt, submessage_arena);
    }
    set_has_unlisten_stmt();
    _impl_.node_.unlisten_stmt_ = unlisten_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.unlisten_stmt)
}
void Node::set_allocated_transaction_stmt(::pg_query::TransactionStmt* transaction_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (transaction_stmt) {
    ::google::protobuf::Arena* submessage_arena = transaction_stmt->GetArena();
    if (message_arena != submessage_arena) {
      transaction_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, transaction_stmt, submessage_arena);
    }
    set_has_transaction_stmt();
    _impl_.node_.transaction_stmt_ = transaction_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.transaction_stmt)
}
void Node::set_allocated_composite_type_stmt(::pg_query::CompositeTypeStmt* composite_type_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (composite_type_stmt) {
    ::google::protobuf::Arena* submessage_arena = composite_type_stmt->GetArena();
    if (message_arena != submessage_arena) {
      composite_type_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, composite_type_stmt, submessage_arena);
    }
    set_has_composite_type_stmt();
    _impl_.node_.composite_type_stmt_ = composite_type_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.composite_type_stmt)
}
void Node::set_allocated_create_enum_stmt(::pg_query::CreateEnumStmt* create_enum_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_enum_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_enum_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_enum_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_enum_stmt, submessage_arena);
    }
    set_has_create_enum_stmt();
    _impl_.node_.create_enum_stmt_ = create_enum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_enum_stmt)
}
void Node::set_allocated_create_range_stmt(::pg_query::CreateRangeStmt* create_range_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_range_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_range_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_range_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_range_stmt, submessage_arena);
    }
    set_has_create_range_stmt();
    _impl_.node_.create_range_stmt_ = create_range_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_range_stmt)
}
void Node::set_allocated_alter_enum_stmt(::pg_query::AlterEnumStmt* alter_enum_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_enum_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_enum_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_enum_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_enum_stmt, submessage_arena);
    }
    set_has_alter_enum_stmt();
    _impl_.node_.alter_enum_stmt_ = alter_enum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_enum_stmt)
}
void Node::set_allocated_view_stmt(::pg_query::ViewStmt* view_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (view_stmt) {
    ::google::protobuf::Arena* submessage_arena = view_stmt->GetArena();
    if (message_arena != submessage_arena) {
      view_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, view_stmt, submessage_arena);
    }
    set_has_view_stmt();
    _impl_.node_.view_stmt_ = view_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.view_stmt)
}
void Node::set_allocated_load_stmt(::pg_query::LoadStmt* load_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (load_stmt) {
    ::google::protobuf::Arena* submessage_arena = load_stmt->GetArena();
    if (message_arena != submessage_arena) {
      load_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, load_stmt, submessage_arena);
    }
    set_has_load_stmt();
    _impl_.node_.load_stmt_ = load_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.load_stmt)
}
void Node::set_allocated_createdb_stmt(::pg_query::CreatedbStmt* createdb_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (createdb_stmt) {
    ::google::protobuf::Arena* submessage_arena = createdb_stmt->GetArena();
    if (message_arena != submessage_arena) {
      createdb_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, createdb_stmt, submessage_arena);
    }
    set_has_createdb_stmt();
    _impl_.node_.createdb_stmt_ = createdb_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.createdb_stmt)
}
void Node::set_allocated_alter_database_stmt(::pg_query::AlterDatabaseStmt* alter_database_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_database_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_database_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_database_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_database_stmt, submessage_arena);
    }
    set_has_alter_database_stmt();
    _impl_.node_.alter_database_stmt_ = alter_database_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_stmt)
}
void Node::set_allocated_alter_database_refresh_coll_stmt(::pg_query::AlterDatabaseRefreshCollStmt* alter_database_refresh_coll_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_database_refresh_coll_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_database_refresh_coll_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_database_refresh_coll_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_database_refresh_coll_stmt, submessage_arena);
    }
    set_has_alter_database_refresh_coll_stmt();
    _impl_.node_.alter_database_refresh_coll_stmt_ = alter_database_refresh_coll_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_refresh_coll_stmt)
}
void Node::set_allocated_alter_database_set_stmt(::pg_query::AlterDatabaseSetStmt* alter_database_set_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_database_set_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_database_set_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_database_set_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_database_set_stmt, submessage_arena);
    }
    set_has_alter_database_set_stmt();
    _impl_.node_.alter_database_set_stmt_ = alter_database_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_database_set_stmt)
}
void Node::set_allocated_dropdb_stmt(::pg_query::DropdbStmt* dropdb_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (dropdb_stmt) {
    ::google::protobuf::Arena* submessage_arena = dropdb_stmt->GetArena();
    if (message_arena != submessage_arena) {
      dropdb_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, dropdb_stmt, submessage_arena);
    }
    set_has_dropdb_stmt();
    _impl_.node_.dropdb_stmt_ = dropdb_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.dropdb_stmt)
}
void Node::set_allocated_alter_system_stmt(::pg_query::AlterSystemStmt* alter_system_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_system_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_system_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_system_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_system_stmt, submessage_arena);
    }
    set_has_alter_system_stmt();
    _impl_.node_.alter_system_stmt_ = alter_system_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_system_stmt)
}
void Node::set_allocated_cluster_stmt(::pg_query::ClusterStmt* cluster_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (cluster_stmt) {
    ::google::protobuf::Arena* submessage_arena = cluster_stmt->GetArena();
    if (message_arena != submessage_arena) {
      cluster_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, cluster_stmt, submessage_arena);
    }
    set_has_cluster_stmt();
    _impl_.node_.cluster_stmt_ = cluster_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.cluster_stmt)
}
void Node::set_allocated_vacuum_stmt(::pg_query::VacuumStmt* vacuum_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (vacuum_stmt) {
    ::google::protobuf::Arena* submessage_arena = vacuum_stmt->GetArena();
    if (message_arena != submessage_arena) {
      vacuum_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, vacuum_stmt, submessage_arena);
    }
    set_has_vacuum_stmt();
    _impl_.node_.vacuum_stmt_ = vacuum_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.vacuum_stmt)
}
void Node::set_allocated_vacuum_relation(::pg_query::VacuumRelation* vacuum_relation) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (vacuum_relation) {
    ::google::protobuf::Arena* submessage_arena = vacuum_relation->GetArena();
    if (message_arena != submessage_arena) {
      vacuum_relation = ::google::protobuf::internal::GetOwnedMessage(message_arena, vacuum_relation, submessage_arena);
    }
    set_has_vacuum_relation();
    _impl_.node_.vacuum_relation_ = vacuum_relation;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.vacuum_relation)
}
void Node::set_allocated_explain_stmt(::pg_query::ExplainStmt* explain_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (explain_stmt) {
    ::google::protobuf::Arena* submessage_arena = explain_stmt->GetArena();
    if (message_arena != submessage_arena) {
      explain_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, explain_stmt, submessage_arena);
    }
    set_has_explain_stmt();
    _impl_.node_.explain_stmt_ = explain_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.explain_stmt)
}
void Node::set_allocated_create_table_as_stmt(::pg_query::CreateTableAsStmt* create_table_as_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_table_as_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_table_as_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_table_as_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_table_as_stmt, submessage_arena);
    }
    set_has_create_table_as_stmt();
    _impl_.node_.create_table_as_stmt_ = create_table_as_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_table_as_stmt)
}
void Node::set_allocated_refresh_mat_view_stmt(::pg_query::RefreshMatViewStmt* refresh_mat_view_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (refresh_mat_view_stmt) {
    ::google::protobuf::Arena* submessage_arena = refresh_mat_view_stmt->GetArena();
    if (message_arena != submessage_arena) {
      refresh_mat_view_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, refresh_mat_view_stmt, submessage_arena);
    }
    set_has_refresh_mat_view_stmt();
    _impl_.node_.refresh_mat_view_stmt_ = refresh_mat_view_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.refresh_mat_view_stmt)
}
void Node::set_allocated_check_point_stmt(::pg_query::CheckPointStmt* check_point_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (check_point_stmt) {
    ::google::protobuf::Arena* submessage_arena = check_point_stmt->GetArena();
    if (message_arena != submessage_arena) {
      check_point_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, check_point_stmt, submessage_arena);
    }
    set_has_check_point_stmt();
    _impl_.node_.check_point_stmt_ = check_point_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.check_point_stmt)
}
void Node::set_allocated_discard_stmt(::pg_query::DiscardStmt* discard_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (discard_stmt) {
    ::google::protobuf::Arena* submessage_arena = discard_stmt->GetArena();
    if (message_arena != submessage_arena) {
      discard_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, discard_stmt, submessage_arena);
    }
    set_has_discard_stmt();
    _impl_.node_.discard_stmt_ = discard_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.discard_stmt)
}
void Node::set_allocated_lock_stmt(::pg_query::LockStmt* lock_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (lock_stmt) {
    ::google::protobuf::Arena* submessage_arena = lock_stmt->GetArena();
    if (message_arena != submessage_arena) {
      lock_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, lock_stmt, submessage_arena);
    }
    set_has_lock_stmt();
    _impl_.node_.lock_stmt_ = lock_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.lock_stmt)
}
void Node::set_allocated_constraints_set_stmt(::pg_query::ConstraintsSetStmt* constraints_set_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (constraints_set_stmt) {
    ::google::protobuf::Arena* submessage_arena = constraints_set_stmt->GetArena();
    if (message_arena != submessage_arena) {
      constraints_set_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, constraints_set_stmt, submessage_arena);
    }
    set_has_constraints_set_stmt();
    _impl_.node_.constraints_set_stmt_ = constraints_set_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.constraints_set_stmt)
}
void Node::set_allocated_reindex_stmt(::pg_query::ReindexStmt* reindex_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (reindex_stmt) {
    ::google::protobuf::Arena* submessage_arena = reindex_stmt->GetArena();
    if (message_arena != submessage_arena) {
      reindex_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, reindex_stmt, submessage_arena);
    }
    set_has_reindex_stmt();
    _impl_.node_.reindex_stmt_ = reindex_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.reindex_stmt)
}
void Node::set_allocated_create_conversion_stmt(::pg_query::CreateConversionStmt* create_conversion_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_conversion_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_conversion_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_conversion_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_conversion_stmt, submessage_arena);
    }
    set_has_create_conversion_stmt();
    _impl_.node_.create_conversion_stmt_ = create_conversion_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_conversion_stmt)
}
void Node::set_allocated_create_cast_stmt(::pg_query::CreateCastStmt* create_cast_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_cast_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_cast_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_cast_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_cast_stmt, submessage_arena);
    }
    set_has_create_cast_stmt();
    _impl_.node_.create_cast_stmt_ = create_cast_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_cast_stmt)
}
void Node::set_allocated_create_transform_stmt(::pg_query::CreateTransformStmt* create_transform_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_transform_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_transform_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_transform_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_transform_stmt, submessage_arena);
    }
    set_has_create_transform_stmt();
    _impl_.node_.create_transform_stmt_ = create_transform_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_transform_stmt)
}
void Node::set_allocated_prepare_stmt(::pg_query::PrepareStmt* prepare_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (prepare_stmt) {
    ::google::protobuf::Arena* submessage_arena = prepare_stmt->GetArena();
    if (message_arena != submessage_arena) {
      prepare_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, prepare_stmt, submessage_arena);
    }
    set_has_prepare_stmt();
    _impl_.node_.prepare_stmt_ = prepare_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.prepare_stmt)
}
void Node::set_allocated_execute_stmt(::pg_query::ExecuteStmt* execute_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (execute_stmt) {
    ::google::protobuf::Arena* submessage_arena = execute_stmt->GetArena();
    if (message_arena != submessage_arena) {
      execute_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, execute_stmt, submessage_arena);
    }
    set_has_execute_stmt();
    _impl_.node_.execute_stmt_ = execute_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.execute_stmt)
}
void Node::set_allocated_deallocate_stmt(::pg_query::DeallocateStmt* deallocate_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (deallocate_stmt) {
    ::google::protobuf::Arena* submessage_arena = deallocate_stmt->GetArena();
    if (message_arena != submessage_arena) {
      deallocate_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, deallocate_stmt, submessage_arena);
    }
    set_has_deallocate_stmt();
    _impl_.node_.deallocate_stmt_ = deallocate_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.deallocate_stmt)
}
void Node::set_allocated_drop_owned_stmt(::pg_query::DropOwnedStmt* drop_owned_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_owned_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_owned_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_owned_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_owned_stmt, submessage_arena);
    }
    set_has_drop_owned_stmt();
    _impl_.node_.drop_owned_stmt_ = drop_owned_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_owned_stmt)
}
void Node::set_allocated_reassign_owned_stmt(::pg_query::ReassignOwnedStmt* reassign_owned_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (reassign_owned_stmt) {
    ::google::protobuf::Arena* submessage_arena = reassign_owned_stmt->GetArena();
    if (message_arena != submessage_arena) {
      reassign_owned_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, reassign_owned_stmt, submessage_arena);
    }
    set_has_reassign_owned_stmt();
    _impl_.node_.reassign_owned_stmt_ = reassign_owned_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.reassign_owned_stmt)
}
void Node::set_allocated_alter_tsdictionary_stmt(::pg_query::AlterTSDictionaryStmt* alter_tsdictionary_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_tsdictionary_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_tsdictionary_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_tsdictionary_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_tsdictionary_stmt, submessage_arena);
    }
    set_has_alter_tsdictionary_stmt();
    _impl_.node_.alter_tsdictionary_stmt_ = alter_tsdictionary_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_tsdictionary_stmt)
}
void Node::set_allocated_alter_tsconfiguration_stmt(::pg_query::AlterTSConfigurationStmt* alter_tsconfiguration_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_tsconfiguration_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_tsconfiguration_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_tsconfiguration_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_tsconfiguration_stmt, submessage_arena);
    }
    set_has_alter_tsconfiguration_stmt();
    _impl_.node_.alter_tsconfiguration_stmt_ = alter_tsconfiguration_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_tsconfiguration_stmt)
}
void Node::set_allocated_publication_table(::pg_query::PublicationTable* publication_table) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (publication_table) {
    ::google::protobuf::Arena* submessage_arena = publication_table->GetArena();
    if (message_arena != submessage_arena) {
      publication_table = ::google::protobuf::internal::GetOwnedMessage(message_arena, publication_table, submessage_arena);
    }
    set_has_publication_table();
    _impl_.node_.publication_table_ = publication_table;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.publication_table)
}
void Node::set_allocated_publication_obj_spec(::pg_query::PublicationObjSpec* publication_obj_spec) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (publication_obj_spec) {
    ::google::protobuf::Arena* submessage_arena = publication_obj_spec->GetArena();
    if (message_arena != submessage_arena) {
      publication_obj_spec = ::google::protobuf::internal::GetOwnedMessage(message_arena, publication_obj_spec, submessage_arena);
    }
    set_has_publication_obj_spec();
    _impl_.node_.publication_obj_spec_ = publication_obj_spec;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.publication_obj_spec)
}
void Node::set_allocated_create_publication_stmt(::pg_query::CreatePublicationStmt* create_publication_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_publication_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_publication_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_publication_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_publication_stmt, submessage_arena);
    }
    set_has_create_publication_stmt();
    _impl_.node_.create_publication_stmt_ = create_publication_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_publication_stmt)
}
void Node::set_allocated_alter_publication_stmt(::pg_query::AlterPublicationStmt* alter_publication_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_publication_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_publication_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_publication_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_publication_stmt, submessage_arena);
    }
    set_has_alter_publication_stmt();
    _impl_.node_.alter_publication_stmt_ = alter_publication_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_publication_stmt)
}
void Node::set_allocated_create_subscription_stmt(::pg_query::CreateSubscriptionStmt* create_subscription_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (create_subscription_stmt) {
    ::google::protobuf::Arena* submessage_arena = create_subscription_stmt->GetArena();
    if (message_arena != submessage_arena) {
      create_subscription_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, create_subscription_stmt, submessage_arena);
    }
    set_has_create_subscription_stmt();
    _impl_.node_.create_subscription_stmt_ = create_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.create_subscription_stmt)
}
void Node::set_allocated_alter_subscription_stmt(::pg_query::AlterSubscriptionStmt* alter_subscription_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (alter_subscription_stmt) {
    ::google::protobuf::Arena* submessage_arena = alter_subscription_stmt->GetArena();
    if (message_arena != submessage_arena) {
      alter_subscription_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, alter_subscription_stmt, submessage_arena);
    }
    set_has_alter_subscription_stmt();
    _impl_.node_.alter_subscription_stmt_ = alter_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.alter_subscription_stmt)
}
void Node::set_allocated_drop_subscription_stmt(::pg_query::DropSubscriptionStmt* drop_subscription_stmt) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (drop_subscription_stmt) {
    ::google::protobuf::Arena* submessage_arena = drop_subscription_stmt->GetArena();
    if (message_arena != submessage_arena) {
      drop_subscription_stmt = ::google::protobuf::internal::GetOwnedMessage(message_arena, drop_subscription_stmt, submessage_arena);
    }
    set_has_drop_subscription_stmt();
    _impl_.node_.drop_subscription_stmt_ = drop_subscription_stmt;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.drop_subscription_stmt)
}
void Node::set_allocated_integer(::pg_query::Integer* integer) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (integer) {
    ::google::protobuf::Arena* submessage_arena = integer->GetArena();
    if (message_arena != submessage_arena) {
      integer = ::google::protobuf::internal::GetOwnedMessage(message_arena, integer, submessage_arena);
    }
    set_has_integer();
    _impl_.node_.integer_ = integer;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.integer)
}
void Node::set_allocated_float_(::pg_query::Float* float_) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (float_) {
    ::google::protobuf::Arena* submessage_arena = float_->GetArena();
    if (message_arena != submessage_arena) {
      float_ = ::google::protobuf::internal::GetOwnedMessage(message_arena, float_, submessage_arena);
    }
    set_has_float_();
    _impl_.node_.float__ = float_;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.float)
}
void Node::set_allocated_boolean(::pg_query::Boolean* boolean) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (boolean) {
    ::google::protobuf::Arena* submessage_arena = boolean->GetArena();
    if (message_arena != submessage_arena) {
      boolean = ::google::protobuf::internal::GetOwnedMessage(message_arena, boolean, submessage_arena);
    }
    set_has_boolean();
    _impl_.node_.boolean_ = boolean;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.boolean)
}
void Node::set_allocated_string(::pg_query::String* string) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (string) {
    ::google::protobuf::Arena* submessage_arena = string->GetArena();
    if (message_arena != submessage_arena) {
      string = ::google::protobuf::internal::GetOwnedMessage(message_arena, string, submessage_arena);
    }
    set_has_string();
    _impl_.node_.string_ = string;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.string)
}
void Node::set_allocated_bit_string(::pg_query::BitString* bit_string) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (bit_string) {
    ::google::protobuf::Arena* submessage_arena = bit_string->GetArena();
    if (message_arena != submessage_arena) {
      bit_string = ::google::protobuf::internal::GetOwnedMessage(message_arena, bit_string, submessage_arena);
    }
    set_has_bit_string();
    _impl_.node_.bit_string_ = bit_string;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.bit_string)
}
void Node::set_allocated_list(::pg_query::List* list) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (list) {
    ::google::protobuf::Arena* submessage_arena = list->GetArena();
    if (message_arena != submessage_arena) {
      list = ::google::protobuf::internal::GetOwnedMessage(message_arena, list, submessage_arena);
    }
    set_has_list();
    _impl_.node_.list_ = list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.list)
}
void Node::set_allocated_int_list(::pg_query::IntList* int_list) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (int_list) {
    ::google::protobuf::Arena* submessage_arena = int_list->GetArena();
    if (message_arena != submessage_arena) {
      int_list = ::google::protobuf::internal::GetOwnedMessage(message_arena, int_list, submessage_arena);
    }
    set_has_int_list();
    _impl_.node_.int_list_ = int_list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.int_list)
}
void Node::set_allocated_oid_list(::pg_query::OidList* oid_list) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (oid_list) {
    ::google::protobuf::Arena* submessage_arena = oid_list->GetArena();
    if (message_arena != submessage_arena) {
      oid_list = ::google::protobuf::internal::GetOwnedMessage(message_arena, oid_list, submessage_arena);
    }
    set_has_oid_list();
    _impl_.node_.oid_list_ = oid_list;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.oid_list)
}
void Node::set_allocated_a_const(::pg_query::A_Const* a_const) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_node();
  if (a_const) {
    ::google::protobuf::Arena* submessage_arena = a_const->GetArena();
    if (message_arena != submessage_arena) {
      a_const = ::google::protobuf::internal::GetOwnedMessage(message_arena, a_const, submessage_arena);
    }
    set_has_a_const();
    _impl_.node_.a_const_ = a_const;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.Node.a_const)
}
Node::Node(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Node)
}
inline PROTOBUF_NDEBUG_INLINE Node::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : node_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

Node::Node(
    ::google::protobuf::Arena* arena,
    const Node& from)
    : ::google::protobuf::Message(arena) {
  Node* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  switch (node_case()) {
    case NODE_NOT_SET:
      break;
      case kAlias:
        _impl_.node_.alias_ = CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.node_.alias_);
        break;
      case kRangeVar:
        _impl_.node_.range_var_ = CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.node_.range_var_);
        break;
      case kTableFunc:
        _impl_.node_.table_func_ = CreateMaybeMessage<::pg_query::TableFunc>(arena, *from._impl_.node_.table_func_);
        break;
      case kIntoClause:
        _impl_.node_.into_clause_ = CreateMaybeMessage<::pg_query::IntoClause>(arena, *from._impl_.node_.into_clause_);
        break;
      case kVar:
        _impl_.node_.var_ = CreateMaybeMessage<::pg_query::Var>(arena, *from._impl_.node_.var_);
        break;
      case kParam:
        _impl_.node_.param_ = CreateMaybeMessage<::pg_query::Param>(arena, *from._impl_.node_.param_);
        break;
      case kAggref:
        _impl_.node_.aggref_ = CreateMaybeMessage<::pg_query::Aggref>(arena, *from._impl_.node_.aggref_);
        break;
      case kGroupingFunc:
        _impl_.node_.grouping_func_ = CreateMaybeMessage<::pg_query::GroupingFunc>(arena, *from._impl_.node_.grouping_func_);
        break;
      case kWindowFunc:
        _impl_.node_.window_func_ = CreateMaybeMessage<::pg_query::WindowFunc>(arena, *from._impl_.node_.window_func_);
        break;
      case kWindowFuncRunCondition:
        _impl_.node_.window_func_run_condition_ = CreateMaybeMessage<::pg_query::WindowFuncRunCondition>(arena, *from._impl_.node_.window_func_run_condition_);
        break;
      case kMergeSupportFunc:
        _impl_.node_.merge_support_func_ = CreateMaybeMessage<::pg_query::MergeSupportFunc>(arena, *from._impl_.node_.merge_support_func_);
        break;
      case kSubscriptingRef:
        _impl_.node_.subscripting_ref_ = CreateMaybeMessage<::pg_query::SubscriptingRef>(arena, *from._impl_.node_.subscripting_ref_);
        break;
      case kFuncExpr:
        _impl_.node_.func_expr_ = CreateMaybeMessage<::pg_query::FuncExpr>(arena, *from._impl_.node_.func_expr_);
        break;
      case kNamedArgExpr:
        _impl_.node_.named_arg_expr_ = CreateMaybeMessage<::pg_query::NamedArgExpr>(arena, *from._impl_.node_.named_arg_expr_);
        break;
      case kOpExpr:
        _impl_.node_.op_expr_ = CreateMaybeMessage<::pg_query::OpExpr>(arena, *from._impl_.node_.op_expr_);
        break;
      case kDistinctExpr:
        _impl_.node_.distinct_expr_ = CreateMaybeMessage<::pg_query::DistinctExpr>(arena, *from._impl_.node_.distinct_expr_);
        break;
      case kNullIfExpr:
        _impl_.node_.null_if_expr_ = CreateMaybeMessage<::pg_query::NullIfExpr>(arena, *from._impl_.node_.null_if_expr_);
        break;
      case kScalarArrayOpExpr:
        _impl_.node_.scalar_array_op_expr_ = CreateMaybeMessage<::pg_query::ScalarArrayOpExpr>(arena, *from._impl_.node_.scalar_array_op_expr_);
        break;
      case kBoolExpr:
        _impl_.node_.bool_expr_ = CreateMaybeMessage<::pg_query::BoolExpr>(arena, *from._impl_.node_.bool_expr_);
        break;
      case kSubLink:
        _impl_.node_.sub_link_ = CreateMaybeMessage<::pg_query::SubLink>(arena, *from._impl_.node_.sub_link_);
        break;
      case kSubPlan:
        _impl_.node_.sub_plan_ = CreateMaybeMessage<::pg_query::SubPlan>(arena, *from._impl_.node_.sub_plan_);
        break;
      case kAlternativeSubPlan:
        _impl_.node_.alternative_sub_plan_ = CreateMaybeMessage<::pg_query::AlternativeSubPlan>(arena, *from._impl_.node_.alternative_sub_plan_);
        break;
      case kFieldSelect:
        _impl_.node_.field_select_ = CreateMaybeMessage<::pg_query::FieldSelect>(arena, *from._impl_.node_.field_select_);
        break;
      case kFieldStore:
        _impl_.node_.field_store_ = CreateMaybeMessage<::pg_query::FieldStore>(arena, *from._impl_.node_.field_store_);
        break;
      case kRelabelType:
        _impl_.node_.relabel_type_ = CreateMaybeMessage<::pg_query::RelabelType>(arena, *from._impl_.node_.relabel_type_);
        break;
      case kCoerceViaIo:
        _impl_.node_.coerce_via_io_ = CreateMaybeMessage<::pg_query::CoerceViaIO>(arena, *from._impl_.node_.coerce_via_io_);
        break;
      case kArrayCoerceExpr:
        _impl_.node_.array_coerce_expr_ = CreateMaybeMessage<::pg_query::ArrayCoerceExpr>(arena, *from._impl_.node_.array_coerce_expr_);
        break;
      case kConvertRowtypeExpr:
        _impl_.node_.convert_rowtype_expr_ = CreateMaybeMessage<::pg_query::ConvertRowtypeExpr>(arena, *from._impl_.node_.convert_rowtype_expr_);
        break;
      case kCollateExpr:
        _impl_.node_.collate_expr_ = CreateMaybeMessage<::pg_query::CollateExpr>(arena, *from._impl_.node_.collate_expr_);
        break;
      case kCaseExpr:
        _impl_.node_.case_expr_ = CreateMaybeMessage<::pg_query::CaseExpr>(arena, *from._impl_.node_.case_expr_);
        break;
      case kCaseWhen:
        _impl_.node_.case_when_ = CreateMaybeMessage<::pg_query::CaseWhen>(arena, *from._impl_.node_.case_when_);
        break;
      case kCaseTestExpr:
        _impl_.node_.case_test_expr_ = CreateMaybeMessage<::pg_query::CaseTestExpr>(arena, *from._impl_.node_.case_test_expr_);
        break;
      case kArrayExpr:
        _impl_.node_.array_expr_ = CreateMaybeMessage<::pg_query::ArrayExpr>(arena, *from._impl_.node_.array_expr_);
        break;
      case kRowExpr:
        _impl_.node_.row_expr_ = CreateMaybeMessage<::pg_query::RowExpr>(arena, *from._impl_.node_.row_expr_);
        break;
      case kRowCompareExpr:
        _impl_.node_.row_compare_expr_ = CreateMaybeMessage<::pg_query::RowCompareExpr>(arena, *from._impl_.node_.row_compare_expr_);
        break;
      case kCoalesceExpr:
        _impl_.node_.coalesce_expr_ = CreateMaybeMessage<::pg_query::CoalesceExpr>(arena, *from._impl_.node_.coalesce_expr_);
        break;
      case kMinMaxExpr:
        _impl_.node_.min_max_expr_ = CreateMaybeMessage<::pg_query::MinMaxExpr>(arena, *from._impl_.node_.min_max_expr_);
        break;
      case kSqlvalueFunction:
        _impl_.node_.sqlvalue_function_ = CreateMaybeMessage<::pg_query::SQLValueFunction>(arena, *from._impl_.node_.sqlvalue_function_);
        break;
      case kXmlExpr:
        _impl_.node_.xml_expr_ = CreateMaybeMessage<::pg_query::XmlExpr>(arena, *from._impl_.node_.xml_expr_);
        break;
      case kJsonFormat:
        _impl_.node_.json_format_ = CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.node_.json_format_);
        break;
      case kJsonReturning:
        _impl_.node_.json_returning_ = CreateMaybeMessage<::pg_query::JsonReturning>(arena, *from._impl_.node_.json_returning_);
        break;
      case kJsonValueExpr:
        _impl_.node_.json_value_expr_ = CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.node_.json_value_expr_);
        break;
      case kJsonConstructorExpr:
        _impl_.node_.json_constructor_expr_ = CreateMaybeMessage<::pg_query::JsonConstructorExpr>(arena, *from._impl_.node_.json_constructor_expr_);
        break;
      case kJsonIsPredicate:
        _impl_.node_.json_is_predicate_ = CreateMaybeMessage<::pg_query::JsonIsPredicate>(arena, *from._impl_.node_.json_is_predicate_);
        break;
      case kJsonBehavior:
        _impl_.node_.json_behavior_ = CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.node_.json_behavior_);
        break;
      case kJsonExpr:
        _impl_.node_.json_expr_ = CreateMaybeMessage<::pg_query::JsonExpr>(arena, *from._impl_.node_.json_expr_);
        break;
      case kJsonTablePath:
        _impl_.node_.json_table_path_ = CreateMaybeMessage<::pg_query::JsonTablePath>(arena, *from._impl_.node_.json_table_path_);
        break;
      case kJsonTablePathScan:
        _impl_.node_.json_table_path_scan_ = CreateMaybeMessage<::pg_query::JsonTablePathScan>(arena, *from._impl_.node_.json_table_path_scan_);
        break;
      case kJsonTableSiblingJoin:
        _impl_.node_.json_table_sibling_join_ = CreateMaybeMessage<::pg_query::JsonTableSiblingJoin>(arena, *from._impl_.node_.json_table_sibling_join_);
        break;
      case kNullTest:
        _impl_.node_.null_test_ = CreateMaybeMessage<::pg_query::NullTest>(arena, *from._impl_.node_.null_test_);
        break;
      case kBooleanTest:
        _impl_.node_.boolean_test_ = CreateMaybeMessage<::pg_query::BooleanTest>(arena, *from._impl_.node_.boolean_test_);
        break;
      case kMergeAction:
        _impl_.node_.merge_action_ = CreateMaybeMessage<::pg_query::MergeAction>(arena, *from._impl_.node_.merge_action_);
        break;
      case kCoerceToDomain:
        _impl_.node_.coerce_to_domain_ = CreateMaybeMessage<::pg_query::CoerceToDomain>(arena, *from._impl_.node_.coerce_to_domain_);
        break;
      case kCoerceToDomainValue:
        _impl_.node_.coerce_to_domain_value_ = CreateMaybeMessage<::pg_query::CoerceToDomainValue>(arena, *from._impl_.node_.coerce_to_domain_value_);
        break;
      case kSetToDefault:
        _impl_.node_.set_to_default_ = CreateMaybeMessage<::pg_query::SetToDefault>(arena, *from._impl_.node_.set_to_default_);
        break;
      case kCurrentOfExpr:
        _impl_.node_.current_of_expr_ = CreateMaybeMessage<::pg_query::CurrentOfExpr>(arena, *from._impl_.node_.current_of_expr_);
        break;
      case kNextValueExpr:
        _impl_.node_.next_value_expr_ = CreateMaybeMessage<::pg_query::NextValueExpr>(arena, *from._impl_.node_.next_value_expr_);
        break;
      case kInferenceElem:
        _impl_.node_.inference_elem_ = CreateMaybeMessage<::pg_query::InferenceElem>(arena, *from._impl_.node_.inference_elem_);
        break;
      case kTargetEntry:
        _impl_.node_.target_entry_ = CreateMaybeMessage<::pg_query::TargetEntry>(arena, *from._impl_.node_.target_entry_);
        break;
      case kRangeTblRef:
        _impl_.node_.range_tbl_ref_ = CreateMaybeMessage<::pg_query::RangeTblRef>(arena, *from._impl_.node_.range_tbl_ref_);
        break;
      case kJoinExpr:
        _impl_.node_.join_expr_ = CreateMaybeMessage<::pg_query::JoinExpr>(arena, *from._impl_.node_.join_expr_);
        break;
      case kFromExpr:
        _impl_.node_.from_expr_ = CreateMaybeMessage<::pg_query::FromExpr>(arena, *from._impl_.node_.from_expr_);
        break;
      case kOnConflictExpr:
        _impl_.node_.on_conflict_expr_ = CreateMaybeMessage<::pg_query::OnConflictExpr>(arena, *from._impl_.node_.on_conflict_expr_);
        break;
      case kQuery:
        _impl_.node_.query_ = CreateMaybeMessage<::pg_query::Query>(arena, *from._impl_.node_.query_);
        break;
      case kTypeName:
        _impl_.node_.type_name_ = CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.node_.type_name_);
        break;
      case kColumnRef:
        _impl_.node_.column_ref_ = CreateMaybeMessage<::pg_query::ColumnRef>(arena, *from._impl_.node_.column_ref_);
        break;
      case kParamRef:
        _impl_.node_.param_ref_ = CreateMaybeMessage<::pg_query::ParamRef>(arena, *from._impl_.node_.param_ref_);
        break;
      case kAExpr:
        _impl_.node_.a_expr_ = CreateMaybeMessage<::pg_query::A_Expr>(arena, *from._impl_.node_.a_expr_);
        break;
      case kTypeCast:
        _impl_.node_.type_cast_ = CreateMaybeMessage<::pg_query::TypeCast>(arena, *from._impl_.node_.type_cast_);
        break;
      case kCollateClause:
        _impl_.node_.collate_clause_ = CreateMaybeMessage<::pg_query::CollateClause>(arena, *from._impl_.node_.collate_clause_);
        break;
      case kRoleSpec:
        _impl_.node_.role_spec_ = CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.node_.role_spec_);
        break;
      case kFuncCall:
        _impl_.node_.func_call_ = CreateMaybeMessage<::pg_query::FuncCall>(arena, *from._impl_.node_.func_call_);
        break;
      case kAStar:
        _impl_.node_.a_star_ = CreateMaybeMessage<::pg_query::A_Star>(arena, *from._impl_.node_.a_star_);
        break;
      case kAIndices:
        _impl_.node_.a_indices_ = CreateMaybeMessage<::pg_query::A_Indices>(arena, *from._impl_.node_.a_indices_);
        break;
      case kAIndirection:
        _impl_.node_.a_indirection_ = CreateMaybeMessage<::pg_query::A_Indirection>(arena, *from._impl_.node_.a_indirection_);
        break;
      case kAArrayExpr:
        _impl_.node_.a_array_expr_ = CreateMaybeMessage<::pg_query::A_ArrayExpr>(arena, *from._impl_.node_.a_array_expr_);
        break;
      case kResTarget:
        _impl_.node_.res_target_ = CreateMaybeMessage<::pg_query::ResTarget>(arena, *from._impl_.node_.res_target_);
        break;
      case kMultiAssignRef:
        _impl_.node_.multi_assign_ref_ = CreateMaybeMessage<::pg_query::MultiAssignRef>(arena, *from._impl_.node_.multi_assign_ref_);
        break;
      case kSortBy:
        _impl_.node_.sort_by_ = CreateMaybeMessage<::pg_query::SortBy>(arena, *from._impl_.node_.sort_by_);
        break;
      case kWindowDef:
        _impl_.node_.window_def_ = CreateMaybeMessage<::pg_query::WindowDef>(arena, *from._impl_.node_.window_def_);
        break;
      case kRangeSubselect:
        _impl_.node_.range_subselect_ = CreateMaybeMessage<::pg_query::RangeSubselect>(arena, *from._impl_.node_.range_subselect_);
        break;
      case kRangeFunction:
        _impl_.node_.range_function_ = CreateMaybeMessage<::pg_query::RangeFunction>(arena, *from._impl_.node_.range_function_);
        break;
      case kRangeTableFunc:
        _impl_.node_.range_table_func_ = CreateMaybeMessage<::pg_query::RangeTableFunc>(arena, *from._impl_.node_.range_table_func_);
        break;
      case kRangeTableFuncCol:
        _impl_.node_.range_table_func_col_ = CreateMaybeMessage<::pg_query::RangeTableFuncCol>(arena, *from._impl_.node_.range_table_func_col_);
        break;
      case kRangeTableSample:
        _impl_.node_.range_table_sample_ = CreateMaybeMessage<::pg_query::RangeTableSample>(arena, *from._impl_.node_.range_table_sample_);
        break;
      case kColumnDef:
        _impl_.node_.column_def_ = CreateMaybeMessage<::pg_query::ColumnDef>(arena, *from._impl_.node_.column_def_);
        break;
      case kTableLikeClause:
        _impl_.node_.table_like_clause_ = CreateMaybeMessage<::pg_query::TableLikeClause>(arena, *from._impl_.node_.table_like_clause_);
        break;
      case kIndexElem:
        _impl_.node_.index_elem_ = CreateMaybeMessage<::pg_query::IndexElem>(arena, *from._impl_.node_.index_elem_);
        break;
      case kDefElem:
        _impl_.node_.def_elem_ = CreateMaybeMessage<::pg_query::DefElem>(arena, *from._impl_.node_.def_elem_);
        break;
      case kLockingClause:
        _impl_.node_.locking_clause_ = CreateMaybeMessage<::pg_query::LockingClause>(arena, *from._impl_.node_.locking_clause_);
        break;
      case kXmlSerialize:
        _impl_.node_.xml_serialize_ = CreateMaybeMessage<::pg_query::XmlSerialize>(arena, *from._impl_.node_.xml_serialize_);
        break;
      case kPartitionElem:
        _impl_.node_.partition_elem_ = CreateMaybeMessage<::pg_query::PartitionElem>(arena, *from._impl_.node_.partition_elem_);
        break;
      case kPartitionSpec:
        _impl_.node_.partition_spec_ = CreateMaybeMessage<::pg_query::PartitionSpec>(arena, *from._impl_.node_.partition_spec_);
        break;
      case kPartitionBoundSpec:
        _impl_.node_.partition_bound_spec_ = CreateMaybeMessage<::pg_query::PartitionBoundSpec>(arena, *from._impl_.node_.partition_bound_spec_);
        break;
      case kPartitionRangeDatum:
        _impl_.node_.partition_range_datum_ = CreateMaybeMessage<::pg_query::PartitionRangeDatum>(arena, *from._impl_.node_.partition_range_datum_);
        break;
      case kSinglePartitionSpec:
        _impl_.node_.single_partition_spec_ = CreateMaybeMessage<::pg_query::SinglePartitionSpec>(arena, *from._impl_.node_.single_partition_spec_);
        break;
      case kPartitionCmd:
        _impl_.node_.partition_cmd_ = CreateMaybeMessage<::pg_query::PartitionCmd>(arena, *from._impl_.node_.partition_cmd_);
        break;
      case kRangeTblEntry:
        _impl_.node_.range_tbl_entry_ = CreateMaybeMessage<::pg_query::RangeTblEntry>(arena, *from._impl_.node_.range_tbl_entry_);
        break;
      case kRtepermissionInfo:
        _impl_.node_.rtepermission_info_ = CreateMaybeMessage<::pg_query::RTEPermissionInfo>(arena, *from._impl_.node_.rtepermission_info_);
        break;
      case kRangeTblFunction:
        _impl_.node_.range_tbl_function_ = CreateMaybeMessage<::pg_query::RangeTblFunction>(arena, *from._impl_.node_.range_tbl_function_);
        break;
      case kTableSampleClause:
        _impl_.node_.table_sample_clause_ = CreateMaybeMessage<::pg_query::TableSampleClause>(arena, *from._impl_.node_.table_sample_clause_);
        break;
      case kWithCheckOption:
        _impl_.node_.with_check_option_ = CreateMaybeMessage<::pg_query::WithCheckOption>(arena, *from._impl_.node_.with_check_option_);
        break;
      case kSortGroupClause:
        _impl_.node_.sort_group_clause_ = CreateMaybeMessage<::pg_query::SortGroupClause>(arena, *from._impl_.node_.sort_group_clause_);
        break;
      case kGroupingSet:
        _impl_.node_.grouping_set_ = CreateMaybeMessage<::pg_query::GroupingSet>(arena, *from._impl_.node_.grouping_set_);
        break;
      case kWindowClause:
        _impl_.node_.window_clause_ = CreateMaybeMessage<::pg_query::WindowClause>(arena, *from._impl_.node_.window_clause_);
        break;
      case kRowMarkClause:
        _impl_.node_.row_mark_clause_ = CreateMaybeMessage<::pg_query::RowMarkClause>(arena, *from._impl_.node_.row_mark_clause_);
        break;
      case kWithClause:
        _impl_.node_.with_clause_ = CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.node_.with_clause_);
        break;
      case kInferClause:
        _impl_.node_.infer_clause_ = CreateMaybeMessage<::pg_query::InferClause>(arena, *from._impl_.node_.infer_clause_);
        break;
      case kOnConflictClause:
        _impl_.node_.on_conflict_clause_ = CreateMaybeMessage<::pg_query::OnConflictClause>(arena, *from._impl_.node_.on_conflict_clause_);
        break;
      case kCtesearchClause:
        _impl_.node_.ctesearch_clause_ = CreateMaybeMessage<::pg_query::CTESearchClause>(arena, *from._impl_.node_.ctesearch_clause_);
        break;
      case kCtecycleClause:
        _impl_.node_.ctecycle_clause_ = CreateMaybeMessage<::pg_query::CTECycleClause>(arena, *from._impl_.node_.ctecycle_clause_);
        break;
      case kCommonTableExpr:
        _impl_.node_.common_table_expr_ = CreateMaybeMessage<::pg_query::CommonTableExpr>(arena, *from._impl_.node_.common_table_expr_);
        break;
      case kMergeWhenClause:
        _impl_.node_.merge_when_clause_ = CreateMaybeMessage<::pg_query::MergeWhenClause>(arena, *from._impl_.node_.merge_when_clause_);
        break;
      case kTriggerTransition:
        _impl_.node_.trigger_transition_ = CreateMaybeMessage<::pg_query::TriggerTransition>(arena, *from._impl_.node_.trigger_transition_);
        break;
      case kJsonOutput:
        _impl_.node_.json_output_ = CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.node_.json_output_);
        break;
      case kJsonArgument:
        _impl_.node_.json_argument_ = CreateMaybeMessage<::pg_query::JsonArgument>(arena, *from._impl_.node_.json_argument_);
        break;
      case kJsonFuncExpr:
        _impl_.node_.json_func_expr_ = CreateMaybeMessage<::pg_query::JsonFuncExpr>(arena, *from._impl_.node_.json_func_expr_);
        break;
      case kJsonTablePathSpec:
        _impl_.node_.json_table_path_spec_ = CreateMaybeMessage<::pg_query::JsonTablePathSpec>(arena, *from._impl_.node_.json_table_path_spec_);
        break;
      case kJsonTable:
        _impl_.node_.json_table_ = CreateMaybeMessage<::pg_query::JsonTable>(arena, *from._impl_.node_.json_table_);
        break;
      case kJsonTableColumn:
        _impl_.node_.json_table_column_ = CreateMaybeMessage<::pg_query::JsonTableColumn>(arena, *from._impl_.node_.json_table_column_);
        break;
      case kJsonKeyValue:
        _impl_.node_.json_key_value_ = CreateMaybeMessage<::pg_query::JsonKeyValue>(arena, *from._impl_.node_.json_key_value_);
        break;
      case kJsonParseExpr:
        _impl_.node_.json_parse_expr_ = CreateMaybeMessage<::pg_query::JsonParseExpr>(arena, *from._impl_.node_.json_parse_expr_);
        break;
      case kJsonScalarExpr:
        _impl_.node_.json_scalar_expr_ = CreateMaybeMessage<::pg_query::JsonScalarExpr>(arena, *from._impl_.node_.json_scalar_expr_);
        break;
      case kJsonSerializeExpr:
        _impl_.node_.json_serialize_expr_ = CreateMaybeMessage<::pg_query::JsonSerializeExpr>(arena, *from._impl_.node_.json_serialize_expr_);
        break;
      case kJsonObjectConstructor:
        _impl_.node_.json_object_constructor_ = CreateMaybeMessage<::pg_query::JsonObjectConstructor>(arena, *from._impl_.node_.json_object_constructor_);
        break;
      case kJsonArrayConstructor:
        _impl_.node_.json_array_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayConstructor>(arena, *from._impl_.node_.json_array_constructor_);
        break;
      case kJsonArrayQueryConstructor:
        _impl_.node_.json_array_query_constructor_ = CreateMaybeMessage<::pg_query::JsonArrayQueryConstructor>(arena, *from._impl_.node_.json_array_query_constructor_);
        break;
      case kJsonAggConstructor:
        _impl_.node_.json_agg_constructor_ = CreateMaybeMessage<::pg_query::JsonAggConstructor>(arena, *from._impl_.node_.json_agg_constructor_);
        break;
      case kJsonObjectAgg:
        _impl_.node_.json_object_agg_ = CreateMaybeMessage<::pg_query::JsonObjectAgg>(arena, *from._impl_.node_.json_object_agg_);
        break;
      case kJsonArrayAgg:
        _impl_.node_.json_array_agg_ = CreateMaybeMessage<::pg_query::JsonArrayAgg>(arena, *from._impl_.node_.json_array_agg_);
        break;
      case kRawStmt:
        _impl_.node_.raw_stmt_ = CreateMaybeMessage<::pg_query::RawStmt>(arena, *from._impl_.node_.raw_stmt_);
        break;
      case kInsertStmt:
        _impl_.node_.insert_stmt_ = CreateMaybeMessage<::pg_query::InsertStmt>(arena, *from._impl_.node_.insert_stmt_);
        break;
      case kDeleteStmt:
        _impl_.node_.delete_stmt_ = CreateMaybeMessage<::pg_query::DeleteStmt>(arena, *from._impl_.node_.delete_stmt_);
        break;
      case kUpdateStmt:
        _impl_.node_.update_stmt_ = CreateMaybeMessage<::pg_query::UpdateStmt>(arena, *from._impl_.node_.update_stmt_);
        break;
      case kMergeStmt:
        _impl_.node_.merge_stmt_ = CreateMaybeMessage<::pg_query::MergeStmt>(arena, *from._impl_.node_.merge_stmt_);
        break;
      case kSelectStmt:
        _impl_.node_.select_stmt_ = CreateMaybeMessage<::pg_query::SelectStmt>(arena, *from._impl_.node_.select_stmt_);
        break;
      case kSetOperationStmt:
        _impl_.node_.set_operation_stmt_ = CreateMaybeMessage<::pg_query::SetOperationStmt>(arena, *from._impl_.node_.set_operation_stmt_);
        break;
      case kReturnStmt:
        _impl_.node_.return_stmt_ = CreateMaybeMessage<::pg_query::ReturnStmt>(arena, *from._impl_.node_.return_stmt_);
        break;
      case kPlassignStmt:
        _impl_.node_.plassign_stmt_ = CreateMaybeMessage<::pg_query::PLAssignStmt>(arena, *from._impl_.node_.plassign_stmt_);
        break;
      case kCreateSchemaStmt:
        _impl_.node_.create_schema_stmt_ = CreateMaybeMessage<::pg_query::CreateSchemaStmt>(arena, *from._impl_.node_.create_schema_stmt_);
        break;
      case kAlterTableStmt:
        _impl_.node_.alter_table_stmt_ = CreateMaybeMessage<::pg_query::AlterTableStmt>(arena, *from._impl_.node_.alter_table_stmt_);
        break;
      case kReplicaIdentityStmt:
        _impl_.node_.replica_identity_stmt_ = CreateMaybeMessage<::pg_query::ReplicaIdentityStmt>(arena, *from._impl_.node_.replica_identity_stmt_);
        break;
      case kAlterTableCmd:
        _impl_.node_.alter_table_cmd_ = CreateMaybeMessage<::pg_query::AlterTableCmd>(arena, *from._impl_.node_.alter_table_cmd_);
        break;
      case kAlterCollationStmt:
        _impl_.node_.alter_collation_stmt_ = CreateMaybeMessage<::pg_query::AlterCollationStmt>(arena, *from._impl_.node_.alter_collation_stmt_);
        break;
      case kAlterDomainStmt:
        _impl_.node_.alter_domain_stmt_ = CreateMaybeMessage<::pg_query::AlterDomainStmt>(arena, *from._impl_.node_.alter_domain_stmt_);
        break;
      case kGrantStmt:
        _impl_.node_.grant_stmt_ = CreateMaybeMessage<::pg_query::GrantStmt>(arena, *from._impl_.node_.grant_stmt_);
        break;
      case kObjectWithArgs:
        _impl_.node_.object_with_args_ = CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.node_.object_with_args_);
        break;
      case kAccessPriv:
        _impl_.node_.access_priv_ = CreateMaybeMessage<::pg_query::AccessPriv>(arena, *from._impl_.node_.access_priv_);
        break;
      case kGrantRoleStmt:
        _impl_.node_.grant_role_stmt_ = CreateMaybeMessage<::pg_query::GrantRoleStmt>(arena, *from._impl_.node_.grant_role_stmt_);
        break;
      case kAlterDefaultPrivilegesStmt:
        _impl_.node_.alter_default_privileges_stmt_ = CreateMaybeMessage<::pg_query::AlterDefaultPrivilegesStmt>(arena, *from._impl_.node_.alter_default_privileges_stmt_);
        break;
      case kCopyStmt:
        _impl_.node_.copy_stmt_ = CreateMaybeMessage<::pg_query::CopyStmt>(arena, *from._impl_.node_.copy_stmt_);
        break;
      case kVariableSetStmt:
        _impl_.node_.variable_set_stmt_ = CreateMaybeMessage<::pg_query::VariableSetStmt>(arena, *from._impl_.node_.variable_set_stmt_);
        break;
      case kVariableShowStmt:
        _impl_.node_.variable_show_stmt_ = CreateMaybeMessage<::pg_query::VariableShowStmt>(arena, *from._impl_.node_.variable_show_stmt_);
        break;
      case kCreateStmt:
        _impl_.node_.create_stmt_ = CreateMaybeMessage<::pg_query::CreateStmt>(arena, *from._impl_.node_.create_stmt_);
        break;
      case kConstraint:
        _impl_.node_.constraint_ = CreateMaybeMessage<::pg_query::Constraint>(arena, *from._impl_.node_.constraint_);
        break;
      case kCreateTableSpaceStmt:
        _impl_.node_.create_table_space_stmt_ = CreateMaybeMessage<::pg_query::CreateTableSpaceStmt>(arena, *from._impl_.node_.create_table_space_stmt_);
        break;
      case kDropTableSpaceStmt:
        _impl_.node_.drop_table_space_stmt_ = CreateMaybeMessage<::pg_query::DropTableSpaceStmt>(arena, *from._impl_.node_.drop_table_space_stmt_);
        break;
      case kAlterTableSpaceOptionsStmt:
        _impl_.node_.alter_table_space_options_stmt_ = CreateMaybeMessage<::pg_query::AlterTableSpaceOptionsStmt>(arena, *from._impl_.node_.alter_table_space_options_stmt_);
        break;
      case kAlterTableMoveAllStmt:
        _impl_.node_.alter_table_move_all_stmt_ = CreateMaybeMessage<::pg_query::AlterTableMoveAllStmt>(arena, *from._impl_.node_.alter_table_move_all_stmt_);
        break;
      case kCreateExtensionStmt:
        _impl_.node_.create_extension_stmt_ = CreateMaybeMessage<::pg_query::CreateExtensionStmt>(arena, *from._impl_.node_.create_extension_stmt_);
        break;
      case kAlterExtensionStmt:
        _impl_.node_.alter_extension_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionStmt>(arena, *from._impl_.node_.alter_extension_stmt_);
        break;
      case kAlterExtensionContentsStmt:
        _impl_.node_.alter_extension_contents_stmt_ = CreateMaybeMessage<::pg_query::AlterExtensionContentsStmt>(arena, *from._impl_.node_.alter_extension_contents_stmt_);
        break;
      case kCreateFdwStmt:
        _impl_.node_.create_fdw_stmt_ = CreateMaybeMessage<::pg_query::CreateFdwStmt>(arena, *from._impl_.node_.create_fdw_stmt_);
        break;
      case kAlterFdwStmt:
        _impl_.node_.alter_fdw_stmt_ = CreateMaybeMessage<::pg_query::AlterFdwStmt>(arena, *from._impl_.node_.alter_fdw_stmt_);
        break;
      case kCreateForeignServerStmt:
        _impl_.node_.create_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignServerStmt>(arena, *from._impl_.node_.create_foreign_server_stmt_);
        break;
      case kAlterForeignServerStmt:
        _impl_.node_.alter_foreign_server_stmt_ = CreateMaybeMessage<::pg_query::AlterForeignServerStmt>(arena, *from._impl_.node_.alter_foreign_server_stmt_);
        break;
      case kCreateForeignTableStmt:
        _impl_.node_.create_foreign_table_stmt_ = CreateMaybeMessage<::pg_query::CreateForeignTableStmt>(arena, *from._impl_.node_.create_foreign_table_stmt_);
        break;
      case kCreateUserMappingStmt:
        _impl_.node_.create_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::CreateUserMappingStmt>(arena, *from._impl_.node_.create_user_mapping_stmt_);
        break;
      case kAlterUserMappingStmt:
        _impl_.node_.alter_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::AlterUserMappingStmt>(arena, *from._impl_.node_.alter_user_mapping_stmt_);
        break;
      case kDropUserMappingStmt:
        _impl_.node_.drop_user_mapping_stmt_ = CreateMaybeMessage<::pg_query::DropUserMappingStmt>(arena, *from._impl_.node_.drop_user_mapping_stmt_);
        break;
      case kImportForeignSchemaStmt:
        _impl_.node_.import_foreign_schema_stmt_ = CreateMaybeMessage<::pg_query::ImportForeignSchemaStmt>(arena, *from._impl_.node_.import_foreign_schema_stmt_);
        break;
      case kCreatePolicyStmt:
        _impl_.node_.create_policy_stmt_ = CreateMaybeMessage<::pg_query::CreatePolicyStmt>(arena, *from._impl_.node_.create_policy_stmt_);
        break;
      case kAlterPolicyStmt:
        _impl_.node_.alter_policy_stmt_ = CreateMaybeMessage<::pg_query::AlterPolicyStmt>(arena, *from._impl_.node_.alter_policy_stmt_);
        break;
      case kCreateAmStmt:
        _impl_.node_.create_am_stmt_ = CreateMaybeMessage<::pg_query::CreateAmStmt>(arena, *from._impl_.node_.create_am_stmt_);
        break;
      case kCreateTrigStmt:
        _impl_.node_.create_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateTrigStmt>(arena, *from._impl_.node_.create_trig_stmt_);
        break;
      case kCreateEventTrigStmt:
        _impl_.node_.create_event_trig_stmt_ = CreateMaybeMessage<::pg_query::CreateEventTrigStmt>(arena, *from._impl_.node_.create_event_trig_stmt_);
        break;
      case kAlterEventTrigStmt:
        _impl_.node_.alter_event_trig_stmt_ = CreateMaybeMessage<::pg_query::AlterEventTrigStmt>(arena, *from._impl_.node_.alter_event_trig_stmt_);
        break;
      case kCreatePlangStmt:
        _impl_.node_.create_plang_stmt_ = CreateMaybeMessage<::pg_query::CreatePLangStmt>(arena, *from._impl_.node_.create_plang_stmt_);
        break;
      case kCreateRoleStmt:
        _impl_.node_.create_role_stmt_ = CreateMaybeMessage<::pg_query::CreateRoleStmt>(arena, *from._impl_.node_.create_role_stmt_);
        break;
      case kAlterRoleStmt:
        _impl_.node_.alter_role_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleStmt>(arena, *from._impl_.node_.alter_role_stmt_);
        break;
      case kAlterRoleSetStmt:
        _impl_.node_.alter_role_set_stmt_ = CreateMaybeMessage<::pg_query::AlterRoleSetStmt>(arena, *from._impl_.node_.alter_role_set_stmt_);
        break;
      case kDropRoleStmt:
        _impl_.node_.drop_role_stmt_ = CreateMaybeMessage<::pg_query::DropRoleStmt>(arena, *from._impl_.node_.drop_role_stmt_);
        break;
      case kCreateSeqStmt:
        _impl_.node_.create_seq_stmt_ = CreateMaybeMessage<::pg_query::CreateSeqStmt>(arena, *from._impl_.node_.create_seq_stmt_);
        break;
      case kAlterSeqStmt:
        _impl_.node_.alter_seq_stmt_ = CreateMaybeMessage<::pg_query::AlterSeqStmt>(arena, *from._impl_.node_.alter_seq_stmt_);
        break;
      case kDefineStmt:
        _impl_.node_.define_stmt_ = CreateMaybeMessage<::pg_query::DefineStmt>(arena, *from._impl_.node_.define_stmt_);
        break;
      case kCreateDomainStmt:
        _impl_.node_.create_domain_stmt_ = CreateMaybeMessage<::pg_query::CreateDomainStmt>(arena, *from._impl_.node_.create_domain_stmt_);
        break;
      case kCreateOpClassStmt:
        _impl_.node_.create_op_class_stmt_ = CreateMaybeMessage<::pg_query::CreateOpClassStmt>(arena, *from._impl_.node_.create_op_class_stmt_);
        break;
      case kCreateOpClassItem:
        _impl_.node_.create_op_class_item_ = CreateMaybeMessage<::pg_query::CreateOpClassItem>(arena, *from._impl_.node_.create_op_class_item_);
        break;
      case kCreateOpFamilyStmt:
        _impl_.node_.create_op_family_stmt_ = CreateMaybeMessage<::pg_query::CreateOpFamilyStmt>(arena, *from._impl_.node_.create_op_family_stmt_);
        break;
      case kAlterOpFamilyStmt:
        _impl_.node_.alter_op_family_stmt_ = CreateMaybeMessage<::pg_query::AlterOpFamilyStmt>(arena, *from._impl_.node_.alter_op_family_stmt_);
        break;
      case kDropStmt:
        _impl_.node_.drop_stmt_ = CreateMaybeMessage<::pg_query::DropStmt>(arena, *from._impl_.node_.drop_stmt_);
        break;
      case kTruncateStmt:
        _impl_.node_.truncate_stmt_ = CreateMaybeMessage<::pg_query::TruncateStmt>(arena, *from._impl_.node_.truncate_stmt_);
        break;
      case kCommentStmt:
        _impl_.node_.comment_stmt_ = CreateMaybeMessage<::pg_query::CommentStmt>(arena, *from._impl_.node_.comment_stmt_);
        break;
      case kSecLabelStmt:
        _impl_.node_.sec_label_stmt_ = CreateMaybeMessage<::pg_query::SecLabelStmt>(arena, *from._impl_.node_.sec_label_stmt_);
        break;
      case kDeclareCursorStmt:
        _impl_.node_.declare_cursor_stmt_ = CreateMaybeMessage<::pg_query::DeclareCursorStmt>(arena, *from._impl_.node_.declare_cursor_stmt_);
        break;
      case kClosePortalStmt:
        _impl_.node_.close_portal_stmt_ = CreateMaybeMessage<::pg_query::ClosePortalStmt>(arena, *from._impl_.node_.close_portal_stmt_);
        break;
      case kFetchStmt:
        _impl_.node_.fetch_stmt_ = CreateMaybeMessage<::pg_query::FetchStmt>(arena, *from._impl_.node_.fetch_stmt_);
        break;
      case kIndexStmt:
        _impl_.node_.index_stmt_ = CreateMaybeMessage<::pg_query::IndexStmt>(arena, *from._impl_.node_.index_stmt_);
        break;
      case kCreateStatsStmt:
        _impl_.node_.create_stats_stmt_ = CreateMaybeMessage<::pg_query::CreateStatsStmt>(arena, *from._impl_.node_.create_stats_stmt_);
        break;
      case kStatsElem:
        _impl_.node_.stats_elem_ = CreateMaybeMessage<::pg_query::StatsElem>(arena, *from._impl_.node_.stats_elem_);
        break;
      case kAlterStatsStmt:
        _impl_.node_.alter_stats_stmt_ = CreateMaybeMessage<::pg_query::AlterStatsStmt>(arena, *from._impl_.node_.alter_stats_stmt_);
        break;
      case kCreateFunctionStmt:
        _impl_.node_.create_function_stmt_ = CreateMaybeMessage<::pg_query::CreateFunctionStmt>(arena, *from._impl_.node_.create_function_stmt_);
        break;
      case kFunctionParameter:
        _impl_.node_.function_parameter_ = CreateMaybeMessage<::pg_query::FunctionParameter>(arena, *from._impl_.node_.function_parameter_);
        break;
      case kAlterFunctionStmt:
        _impl_.node_.alter_function_stmt_ = CreateMaybeMessage<::pg_query::AlterFunctionStmt>(arena, *from._impl_.node_.alter_function_stmt_);
        break;
      case kDoStmt:
        _impl_.node_.do_stmt_ = CreateMaybeMessage<::pg_query::DoStmt>(arena, *from._impl_.node_.do_stmt_);
        break;
      case kInlineCodeBlock:
        _impl_.node_.inline_code_block_ = CreateMaybeMessage<::pg_query::InlineCodeBlock>(arena, *from._impl_.node_.inline_code_block_);
        break;
      case kCallStmt:
        _impl_.node_.call_stmt_ = CreateMaybeMessage<::pg_query::CallStmt>(arena, *from._impl_.node_.call_stmt_);
        break;
      case kCallContext:
        _impl_.node_.call_context_ = CreateMaybeMessage<::pg_query::CallContext>(arena, *from._impl_.node_.call_context_);
        break;
      case kRenameStmt:
        _impl_.node_.rename_stmt_ = CreateMaybeMessage<::pg_query::RenameStmt>(arena, *from._impl_.node_.rename_stmt_);
        break;
      case kAlterObjectDependsStmt:
        _impl_.node_.alter_object_depends_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectDependsStmt>(arena, *from._impl_.node_.alter_object_depends_stmt_);
        break;
      case kAlterObjectSchemaStmt:
        _impl_.node_.alter_object_schema_stmt_ = CreateMaybeMessage<::pg_query::AlterObjectSchemaStmt>(arena, *from._impl_.node_.alter_object_schema_stmt_);
        break;
      case kAlterOwnerStmt:
        _impl_.node_.alter_owner_stmt_ = CreateMaybeMessage<::pg_query::AlterOwnerStmt>(arena, *from._impl_.node_.alter_owner_stmt_);
        break;
      case kAlterOperatorStmt:
        _impl_.node_.alter_operator_stmt_ = CreateMaybeMessage<::pg_query::AlterOperatorStmt>(arena, *from._impl_.node_.alter_operator_stmt_);
        break;
      case kAlterTypeStmt:
        _impl_.node_.alter_type_stmt_ = CreateMaybeMessage<::pg_query::AlterTypeStmt>(arena, *from._impl_.node_.alter_type_stmt_);
        break;
      case kRuleStmt:
        _impl_.node_.rule_stmt_ = CreateMaybeMessage<::pg_query::RuleStmt>(arena, *from._impl_.node_.rule_stmt_);
        break;
      case kNotifyStmt:
        _impl_.node_.notify_stmt_ = CreateMaybeMessage<::pg_query::NotifyStmt>(arena, *from._impl_.node_.notify_stmt_);
        break;
      case kListenStmt:
        _impl_.node_.listen_stmt_ = CreateMaybeMessage<::pg_query::ListenStmt>(arena, *from._impl_.node_.listen_stmt_);
        break;
      case kUnlistenStmt:
        _impl_.node_.unlisten_stmt_ = CreateMaybeMessage<::pg_query::UnlistenStmt>(arena, *from._impl_.node_.unlisten_stmt_);
        break;
      case kTransactionStmt:
        _impl_.node_.transaction_stmt_ = CreateMaybeMessage<::pg_query::TransactionStmt>(arena, *from._impl_.node_.transaction_stmt_);
        break;
      case kCompositeTypeStmt:
        _impl_.node_.composite_type_stmt_ = CreateMaybeMessage<::pg_query::CompositeTypeStmt>(arena, *from._impl_.node_.composite_type_stmt_);
        break;
      case kCreateEnumStmt:
        _impl_.node_.create_enum_stmt_ = CreateMaybeMessage<::pg_query::CreateEnumStmt>(arena, *from._impl_.node_.create_enum_stmt_);
        break;
      case kCreateRangeStmt:
        _impl_.node_.create_range_stmt_ = CreateMaybeMessage<::pg_query::CreateRangeStmt>(arena, *from._impl_.node_.create_range_stmt_);
        break;
      case kAlterEnumStmt:
        _impl_.node_.alter_enum_stmt_ = CreateMaybeMessage<::pg_query::AlterEnumStmt>(arena, *from._impl_.node_.alter_enum_stmt_);
        break;
      case kViewStmt:
        _impl_.node_.view_stmt_ = CreateMaybeMessage<::pg_query::ViewStmt>(arena, *from._impl_.node_.view_stmt_);
        break;
      case kLoadStmt:
        _impl_.node_.load_stmt_ = CreateMaybeMessage<::pg_query::LoadStmt>(arena, *from._impl_.node_.load_stmt_);
        break;
      case kCreatedbStmt:
        _impl_.node_.createdb_stmt_ = CreateMaybeMessage<::pg_query::CreatedbStmt>(arena, *from._impl_.node_.createdb_stmt_);
        break;
      case kAlterDatabaseStmt:
        _impl_.node_.alter_database_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseStmt>(arena, *from._impl_.node_.alter_database_stmt_);
        break;
      case kAlterDatabaseRefreshCollStmt:
        _impl_.node_.alter_database_refresh_coll_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseRefreshCollStmt>(arena, *from._impl_.node_.alter_database_refresh_coll_stmt_);
        break;
      case kAlterDatabaseSetStmt:
        _impl_.node_.alter_database_set_stmt_ = CreateMaybeMessage<::pg_query::AlterDatabaseSetStmt>(arena, *from._impl_.node_.alter_database_set_stmt_);
        break;
      case kDropdbStmt:
        _impl_.node_.dropdb_stmt_ = CreateMaybeMessage<::pg_query::DropdbStmt>(arena, *from._impl_.node_.dropdb_stmt_);
        break;
      case kAlterSystemStmt:
        _impl_.node_.alter_system_stmt_ = CreateMaybeMessage<::pg_query::AlterSystemStmt>(arena, *from._impl_.node_.alter_system_stmt_);
        break;
      case kClusterStmt:
        _impl_.node_.cluster_stmt_ = CreateMaybeMessage<::pg_query::ClusterStmt>(arena, *from._impl_.node_.cluster_stmt_);
        break;
      case kVacuumStmt:
        _impl_.node_.vacuum_stmt_ = CreateMaybeMessage<::pg_query::VacuumStmt>(arena, *from._impl_.node_.vacuum_stmt_);
        break;
      case kVacuumRelation:
        _impl_.node_.vacuum_relation_ = CreateMaybeMessage<::pg_query::VacuumRelation>(arena, *from._impl_.node_.vacuum_relation_);
        break;
      case kExplainStmt:
        _impl_.node_.explain_stmt_ = CreateMaybeMessage<::pg_query::ExplainStmt>(arena, *from._impl_.node_.explain_stmt_);
        break;
      case kCreateTableAsStmt:
        _impl_.node_.create_table_as_stmt_ = CreateMaybeMessage<::pg_query::CreateTableAsStmt>(arena, *from._impl_.node_.create_table_as_stmt_);
        break;
      case kRefreshMatViewStmt:
        _impl_.node_.refresh_mat_view_stmt_ = CreateMaybeMessage<::pg_query::RefreshMatViewStmt>(arena, *from._impl_.node_.refresh_mat_view_stmt_);
        break;
      case kCheckPointStmt:
        _impl_.node_.check_point_stmt_ = CreateMaybeMessage<::pg_query::CheckPointStmt>(arena, *from._impl_.node_.check_point_stmt_);
        break;
      case kDiscardStmt:
        _impl_.node_.discard_stmt_ = CreateMaybeMessage<::pg_query::DiscardStmt>(arena, *from._impl_.node_.discard_stmt_);
        break;
      case kLockStmt:
        _impl_.node_.lock_stmt_ = CreateMaybeMessage<::pg_query::LockStmt>(arena, *from._impl_.node_.lock_stmt_);
        break;
      case kConstraintsSetStmt:
        _impl_.node_.constraints_set_stmt_ = CreateMaybeMessage<::pg_query::ConstraintsSetStmt>(arena, *from._impl_.node_.constraints_set_stmt_);
        break;
      case kReindexStmt:
        _impl_.node_.reindex_stmt_ = CreateMaybeMessage<::pg_query::ReindexStmt>(arena, *from._impl_.node_.reindex_stmt_);
        break;
      case kCreateConversionStmt:
        _impl_.node_.create_conversion_stmt_ = CreateMaybeMessage<::pg_query::CreateConversionStmt>(arena, *from._impl_.node_.create_conversion_stmt_);
        break;
      case kCreateCastStmt:
        _impl_.node_.create_cast_stmt_ = CreateMaybeMessage<::pg_query::CreateCastStmt>(arena, *from._impl_.node_.create_cast_stmt_);
        break;
      case kCreateTransformStmt:
        _impl_.node_.create_transform_stmt_ = CreateMaybeMessage<::pg_query::CreateTransformStmt>(arena, *from._impl_.node_.create_transform_stmt_);
        break;
      case kPrepareStmt:
        _impl_.node_.prepare_stmt_ = CreateMaybeMessage<::pg_query::PrepareStmt>(arena, *from._impl_.node_.prepare_stmt_);
        break;
      case kExecuteStmt:
        _impl_.node_.execute_stmt_ = CreateMaybeMessage<::pg_query::ExecuteStmt>(arena, *from._impl_.node_.execute_stmt_);
        break;
      case kDeallocateStmt:
        _impl_.node_.deallocate_stmt_ = CreateMaybeMessage<::pg_query::DeallocateStmt>(arena, *from._impl_.node_.deallocate_stmt_);
        break;
      case kDropOwnedStmt:
        _impl_.node_.drop_owned_stmt_ = CreateMaybeMessage<::pg_query::DropOwnedStmt>(arena, *from._impl_.node_.drop_owned_stmt_);
        break;
      case kReassignOwnedStmt:
        _impl_.node_.reassign_owned_stmt_ = CreateMaybeMessage<::pg_query::ReassignOwnedStmt>(arena, *from._impl_.node_.reassign_owned_stmt_);
        break;
      case kAlterTsdictionaryStmt:
        _impl_.node_.alter_tsdictionary_stmt_ = CreateMaybeMessage<::pg_query::AlterTSDictionaryStmt>(arena, *from._impl_.node_.alter_tsdictionary_stmt_);
        break;
      case kAlterTsconfigurationStmt:
        _impl_.node_.alter_tsconfiguration_stmt_ = CreateMaybeMessage<::pg_query::AlterTSConfigurationStmt>(arena, *from._impl_.node_.alter_tsconfiguration_stmt_);
        break;
      case kPublicationTable:
        _impl_.node_.publication_table_ = CreateMaybeMessage<::pg_query::PublicationTable>(arena, *from._impl_.node_.publication_table_);
        break;
      case kPublicationObjSpec:
        _impl_.node_.publication_obj_spec_ = CreateMaybeMessage<::pg_query::PublicationObjSpec>(arena, *from._impl_.node_.publication_obj_spec_);
        break;
      case kCreatePublicationStmt:
        _impl_.node_.create_publication_stmt_ = CreateMaybeMessage<::pg_query::CreatePublicationStmt>(arena, *from._impl_.node_.create_publication_stmt_);
        break;
      case kAlterPublicationStmt:
        _impl_.node_.alter_publication_stmt_ = CreateMaybeMessage<::pg_query::AlterPublicationStmt>(arena, *from._impl_.node_.alter_publication_stmt_);
        break;
      case kCreateSubscriptionStmt:
        _impl_.node_.create_subscription_stmt_ = CreateMaybeMessage<::pg_query::CreateSubscriptionStmt>(arena, *from._impl_.node_.create_subscription_stmt_);
        break;
      case kAlterSubscriptionStmt:
        _impl_.node_.alter_subscription_stmt_ = CreateMaybeMessage<::pg_query::AlterSubscriptionStmt>(arena, *from._impl_.node_.alter_subscription_stmt_);
        break;
      case kDropSubscriptionStmt:
        _impl_.node_.drop_subscription_stmt_ = CreateMaybeMessage<::pg_query::DropSubscriptionStmt>(arena, *from._impl_.node_.drop_subscription_stmt_);
        break;
      case kInteger:
        _impl_.node_.integer_ = CreateMaybeMessage<::pg_query::Integer>(arena, *from._impl_.node_.integer_);
        break;
      case kFloat:
        _impl_.node_.float__ = CreateMaybeMessage<::pg_query::Float>(arena, *from._impl_.node_.float__);
        break;
      case kBoolean:
        _impl_.node_.boolean_ = CreateMaybeMessage<::pg_query::Boolean>(arena, *from._impl_.node_.boolean_);
        break;
      case kString:
        _impl_.node_.string_ = CreateMaybeMessage<::pg_query::String>(arena, *from._impl_.node_.string_);
        break;
      case kBitString:
        _impl_.node_.bit_string_ = CreateMaybeMessage<::pg_query::BitString>(arena, *from._impl_.node_.bit_string_);
        break;
      case kList:
        _impl_.node_.list_ = CreateMaybeMessage<::pg_query::List>(arena, *from._impl_.node_.list_);
        break;
      case kIntList:
        _impl_.node_.int_list_ = CreateMaybeMessage<::pg_query::IntList>(arena, *from._impl_.node_.int_list_);
        break;
      case kOidList:
        _impl_.node_.oid_list_ = CreateMaybeMessage<::pg_query::OidList>(arena, *from._impl_.node_.oid_list_);
        break;
      case kAConst:
        _impl_.node_.a_const_ = CreateMaybeMessage<::pg_query::A_Const>(arena, *from._impl_.node_.a_const_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:pg_query.Node)
}
inline PROTOBUF_NDEBUG_INLINE Node::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : node_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void Node::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Node::~Node() {
  // @@protoc_insertion_point(destructor:pg_query.Node)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Node::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  if (has_node()) {
    clear_node();
  }
  _impl_.~Impl_();
}

void Node::clear_node() {
// @@protoc_insertion_point(one_of_clear_start:pg_query.Node)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  switch (node_case()) {
    case kAlias: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alias_;
      }
      break;
    }
    case kRangeVar: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_var_;
      }
      break;
    }
    case kTableFunc: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.table_func_;
      }
      break;
    }
    case kIntoClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.into_clause_;
      }
      break;
    }
    case kVar: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.var_;
      }
      break;
    }
    case kParam: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.param_;
      }
      break;
    }
    case kAggref: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.aggref_;
      }
      break;
    }
    case kGroupingFunc: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.grouping_func_;
      }
      break;
    }
    case kWindowFunc: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.window_func_;
      }
      break;
    }
    case kWindowFuncRunCondition: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.window_func_run_condition_;
      }
      break;
    }
    case kMergeSupportFunc: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.merge_support_func_;
      }
      break;
    }
    case kSubscriptingRef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.subscripting_ref_;
      }
      break;
    }
    case kFuncExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.func_expr_;
      }
      break;
    }
    case kNamedArgExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.named_arg_expr_;
      }
      break;
    }
    case kOpExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.op_expr_;
      }
      break;
    }
    case kDistinctExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.distinct_expr_;
      }
      break;
    }
    case kNullIfExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.null_if_expr_;
      }
      break;
    }
    case kScalarArrayOpExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.scalar_array_op_expr_;
      }
      break;
    }
    case kBoolExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.bool_expr_;
      }
      break;
    }
    case kSubLink: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sub_link_;
      }
      break;
    }
    case kSubPlan: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sub_plan_;
      }
      break;
    }
    case kAlternativeSubPlan: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alternative_sub_plan_;
      }
      break;
    }
    case kFieldSelect: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.field_select_;
      }
      break;
    }
    case kFieldStore: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.field_store_;
      }
      break;
    }
    case kRelabelType: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.relabel_type_;
      }
      break;
    }
    case kCoerceViaIo: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.coerce_via_io_;
      }
      break;
    }
    case kArrayCoerceExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.array_coerce_expr_;
      }
      break;
    }
    case kConvertRowtypeExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.convert_rowtype_expr_;
      }
      break;
    }
    case kCollateExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.collate_expr_;
      }
      break;
    }
    case kCaseExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.case_expr_;
      }
      break;
    }
    case kCaseWhen: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.case_when_;
      }
      break;
    }
    case kCaseTestExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.case_test_expr_;
      }
      break;
    }
    case kArrayExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.array_expr_;
      }
      break;
    }
    case kRowExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.row_expr_;
      }
      break;
    }
    case kRowCompareExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.row_compare_expr_;
      }
      break;
    }
    case kCoalesceExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.coalesce_expr_;
      }
      break;
    }
    case kMinMaxExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.min_max_expr_;
      }
      break;
    }
    case kSqlvalueFunction: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sqlvalue_function_;
      }
      break;
    }
    case kXmlExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.xml_expr_;
      }
      break;
    }
    case kJsonFormat: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_format_;
      }
      break;
    }
    case kJsonReturning: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_returning_;
      }
      break;
    }
    case kJsonValueExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_value_expr_;
      }
      break;
    }
    case kJsonConstructorExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_constructor_expr_;
      }
      break;
    }
    case kJsonIsPredicate: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_is_predicate_;
      }
      break;
    }
    case kJsonBehavior: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_behavior_;
      }
      break;
    }
    case kJsonExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_expr_;
      }
      break;
    }
    case kJsonTablePath: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_path_;
      }
      break;
    }
    case kJsonTablePathScan: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_path_scan_;
      }
      break;
    }
    case kJsonTableSiblingJoin: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_sibling_join_;
      }
      break;
    }
    case kNullTest: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.null_test_;
      }
      break;
    }
    case kBooleanTest: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.boolean_test_;
      }
      break;
    }
    case kMergeAction: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.merge_action_;
      }
      break;
    }
    case kCoerceToDomain: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.coerce_to_domain_;
      }
      break;
    }
    case kCoerceToDomainValue: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.coerce_to_domain_value_;
      }
      break;
    }
    case kSetToDefault: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.set_to_default_;
      }
      break;
    }
    case kCurrentOfExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.current_of_expr_;
      }
      break;
    }
    case kNextValueExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.next_value_expr_;
      }
      break;
    }
    case kInferenceElem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.inference_elem_;
      }
      break;
    }
    case kTargetEntry: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.target_entry_;
      }
      break;
    }
    case kRangeTblRef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_tbl_ref_;
      }
      break;
    }
    case kJoinExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.join_expr_;
      }
      break;
    }
    case kFromExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.from_expr_;
      }
      break;
    }
    case kOnConflictExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.on_conflict_expr_;
      }
      break;
    }
    case kQuery: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.query_;
      }
      break;
    }
    case kTypeName: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.type_name_;
      }
      break;
    }
    case kColumnRef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.column_ref_;
      }
      break;
    }
    case kParamRef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.param_ref_;
      }
      break;
    }
    case kAExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_expr_;
      }
      break;
    }
    case kTypeCast: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.type_cast_;
      }
      break;
    }
    case kCollateClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.collate_clause_;
      }
      break;
    }
    case kRoleSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.role_spec_;
      }
      break;
    }
    case kFuncCall: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.func_call_;
      }
      break;
    }
    case kAStar: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_star_;
      }
      break;
    }
    case kAIndices: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_indices_;
      }
      break;
    }
    case kAIndirection: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_indirection_;
      }
      break;
    }
    case kAArrayExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_array_expr_;
      }
      break;
    }
    case kResTarget: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.res_target_;
      }
      break;
    }
    case kMultiAssignRef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.multi_assign_ref_;
      }
      break;
    }
    case kSortBy: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sort_by_;
      }
      break;
    }
    case kWindowDef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.window_def_;
      }
      break;
    }
    case kRangeSubselect: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_subselect_;
      }
      break;
    }
    case kRangeFunction: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_function_;
      }
      break;
    }
    case kRangeTableFunc: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_table_func_;
      }
      break;
    }
    case kRangeTableFuncCol: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_table_func_col_;
      }
      break;
    }
    case kRangeTableSample: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_table_sample_;
      }
      break;
    }
    case kColumnDef: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.column_def_;
      }
      break;
    }
    case kTableLikeClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.table_like_clause_;
      }
      break;
    }
    case kIndexElem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.index_elem_;
      }
      break;
    }
    case kDefElem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.def_elem_;
      }
      break;
    }
    case kLockingClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.locking_clause_;
      }
      break;
    }
    case kXmlSerialize: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.xml_serialize_;
      }
      break;
    }
    case kPartitionElem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.partition_elem_;
      }
      break;
    }
    case kPartitionSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.partition_spec_;
      }
      break;
    }
    case kPartitionBoundSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.partition_bound_spec_;
      }
      break;
    }
    case kPartitionRangeDatum: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.partition_range_datum_;
      }
      break;
    }
    case kSinglePartitionSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.single_partition_spec_;
      }
      break;
    }
    case kPartitionCmd: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.partition_cmd_;
      }
      break;
    }
    case kRangeTblEntry: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_tbl_entry_;
      }
      break;
    }
    case kRtepermissionInfo: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.rtepermission_info_;
      }
      break;
    }
    case kRangeTblFunction: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.range_tbl_function_;
      }
      break;
    }
    case kTableSampleClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.table_sample_clause_;
      }
      break;
    }
    case kWithCheckOption: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.with_check_option_;
      }
      break;
    }
    case kSortGroupClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sort_group_clause_;
      }
      break;
    }
    case kGroupingSet: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.grouping_set_;
      }
      break;
    }
    case kWindowClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.window_clause_;
      }
      break;
    }
    case kRowMarkClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.row_mark_clause_;
      }
      break;
    }
    case kWithClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.with_clause_;
      }
      break;
    }
    case kInferClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.infer_clause_;
      }
      break;
    }
    case kOnConflictClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.on_conflict_clause_;
      }
      break;
    }
    case kCtesearchClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.ctesearch_clause_;
      }
      break;
    }
    case kCtecycleClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.ctecycle_clause_;
      }
      break;
    }
    case kCommonTableExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.common_table_expr_;
      }
      break;
    }
    case kMergeWhenClause: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.merge_when_clause_;
      }
      break;
    }
    case kTriggerTransition: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.trigger_transition_;
      }
      break;
    }
    case kJsonOutput: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_output_;
      }
      break;
    }
    case kJsonArgument: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_argument_;
      }
      break;
    }
    case kJsonFuncExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_func_expr_;
      }
      break;
    }
    case kJsonTablePathSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_path_spec_;
      }
      break;
    }
    case kJsonTable: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_;
      }
      break;
    }
    case kJsonTableColumn: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_table_column_;
      }
      break;
    }
    case kJsonKeyValue: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_key_value_;
      }
      break;
    }
    case kJsonParseExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_parse_expr_;
      }
      break;
    }
    case kJsonScalarExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_scalar_expr_;
      }
      break;
    }
    case kJsonSerializeExpr: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_serialize_expr_;
      }
      break;
    }
    case kJsonObjectConstructor: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_object_constructor_;
      }
      break;
    }
    case kJsonArrayConstructor: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_array_constructor_;
      }
      break;
    }
    case kJsonArrayQueryConstructor: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_array_query_constructor_;
      }
      break;
    }
    case kJsonAggConstructor: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_agg_constructor_;
      }
      break;
    }
    case kJsonObjectAgg: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_object_agg_;
      }
      break;
    }
    case kJsonArrayAgg: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.json_array_agg_;
      }
      break;
    }
    case kRawStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.raw_stmt_;
      }
      break;
    }
    case kInsertStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.insert_stmt_;
      }
      break;
    }
    case kDeleteStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.delete_stmt_;
      }
      break;
    }
    case kUpdateStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.update_stmt_;
      }
      break;
    }
    case kMergeStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.merge_stmt_;
      }
      break;
    }
    case kSelectStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.select_stmt_;
      }
      break;
    }
    case kSetOperationStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.set_operation_stmt_;
      }
      break;
    }
    case kReturnStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.return_stmt_;
      }
      break;
    }
    case kPlassignStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.plassign_stmt_;
      }
      break;
    }
    case kCreateSchemaStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_schema_stmt_;
      }
      break;
    }
    case kAlterTableStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_table_stmt_;
      }
      break;
    }
    case kReplicaIdentityStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.replica_identity_stmt_;
      }
      break;
    }
    case kAlterTableCmd: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_table_cmd_;
      }
      break;
    }
    case kAlterCollationStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_collation_stmt_;
      }
      break;
    }
    case kAlterDomainStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_domain_stmt_;
      }
      break;
    }
    case kGrantStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.grant_stmt_;
      }
      break;
    }
    case kObjectWithArgs: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.object_with_args_;
      }
      break;
    }
    case kAccessPriv: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.access_priv_;
      }
      break;
    }
    case kGrantRoleStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.grant_role_stmt_;
      }
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_default_privileges_stmt_;
      }
      break;
    }
    case kCopyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.copy_stmt_;
      }
      break;
    }
    case kVariableSetStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.variable_set_stmt_;
      }
      break;
    }
    case kVariableShowStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.variable_show_stmt_;
      }
      break;
    }
    case kCreateStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_stmt_;
      }
      break;
    }
    case kConstraint: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.constraint_;
      }
      break;
    }
    case kCreateTableSpaceStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_table_space_stmt_;
      }
      break;
    }
    case kDropTableSpaceStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_table_space_stmt_;
      }
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_table_space_options_stmt_;
      }
      break;
    }
    case kAlterTableMoveAllStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_table_move_all_stmt_;
      }
      break;
    }
    case kCreateExtensionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_extension_stmt_;
      }
      break;
    }
    case kAlterExtensionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_extension_stmt_;
      }
      break;
    }
    case kAlterExtensionContentsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_extension_contents_stmt_;
      }
      break;
    }
    case kCreateFdwStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_fdw_stmt_;
      }
      break;
    }
    case kAlterFdwStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_fdw_stmt_;
      }
      break;
    }
    case kCreateForeignServerStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_foreign_server_stmt_;
      }
      break;
    }
    case kAlterForeignServerStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_foreign_server_stmt_;
      }
      break;
    }
    case kCreateForeignTableStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_foreign_table_stmt_;
      }
      break;
    }
    case kCreateUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_user_mapping_stmt_;
      }
      break;
    }
    case kAlterUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_user_mapping_stmt_;
      }
      break;
    }
    case kDropUserMappingStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_user_mapping_stmt_;
      }
      break;
    }
    case kImportForeignSchemaStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.import_foreign_schema_stmt_;
      }
      break;
    }
    case kCreatePolicyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_policy_stmt_;
      }
      break;
    }
    case kAlterPolicyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_policy_stmt_;
      }
      break;
    }
    case kCreateAmStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_am_stmt_;
      }
      break;
    }
    case kCreateTrigStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_trig_stmt_;
      }
      break;
    }
    case kCreateEventTrigStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_event_trig_stmt_;
      }
      break;
    }
    case kAlterEventTrigStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_event_trig_stmt_;
      }
      break;
    }
    case kCreatePlangStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_plang_stmt_;
      }
      break;
    }
    case kCreateRoleStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_role_stmt_;
      }
      break;
    }
    case kAlterRoleStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_role_stmt_;
      }
      break;
    }
    case kAlterRoleSetStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_role_set_stmt_;
      }
      break;
    }
    case kDropRoleStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_role_stmt_;
      }
      break;
    }
    case kCreateSeqStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_seq_stmt_;
      }
      break;
    }
    case kAlterSeqStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_seq_stmt_;
      }
      break;
    }
    case kDefineStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.define_stmt_;
      }
      break;
    }
    case kCreateDomainStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_domain_stmt_;
      }
      break;
    }
    case kCreateOpClassStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_op_class_stmt_;
      }
      break;
    }
    case kCreateOpClassItem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_op_class_item_;
      }
      break;
    }
    case kCreateOpFamilyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_op_family_stmt_;
      }
      break;
    }
    case kAlterOpFamilyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_op_family_stmt_;
      }
      break;
    }
    case kDropStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_stmt_;
      }
      break;
    }
    case kTruncateStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.truncate_stmt_;
      }
      break;
    }
    case kCommentStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.comment_stmt_;
      }
      break;
    }
    case kSecLabelStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.sec_label_stmt_;
      }
      break;
    }
    case kDeclareCursorStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.declare_cursor_stmt_;
      }
      break;
    }
    case kClosePortalStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.close_portal_stmt_;
      }
      break;
    }
    case kFetchStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.fetch_stmt_;
      }
      break;
    }
    case kIndexStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.index_stmt_;
      }
      break;
    }
    case kCreateStatsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_stats_stmt_;
      }
      break;
    }
    case kStatsElem: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.stats_elem_;
      }
      break;
    }
    case kAlterStatsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_stats_stmt_;
      }
      break;
    }
    case kCreateFunctionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_function_stmt_;
      }
      break;
    }
    case kFunctionParameter: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.function_parameter_;
      }
      break;
    }
    case kAlterFunctionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_function_stmt_;
      }
      break;
    }
    case kDoStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.do_stmt_;
      }
      break;
    }
    case kInlineCodeBlock: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.inline_code_block_;
      }
      break;
    }
    case kCallStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.call_stmt_;
      }
      break;
    }
    case kCallContext: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.call_context_;
      }
      break;
    }
    case kRenameStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.rename_stmt_;
      }
      break;
    }
    case kAlterObjectDependsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_object_depends_stmt_;
      }
      break;
    }
    case kAlterObjectSchemaStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_object_schema_stmt_;
      }
      break;
    }
    case kAlterOwnerStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_owner_stmt_;
      }
      break;
    }
    case kAlterOperatorStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_operator_stmt_;
      }
      break;
    }
    case kAlterTypeStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_type_stmt_;
      }
      break;
    }
    case kRuleStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.rule_stmt_;
      }
      break;
    }
    case kNotifyStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.notify_stmt_;
      }
      break;
    }
    case kListenStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.listen_stmt_;
      }
      break;
    }
    case kUnlistenStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.unlisten_stmt_;
      }
      break;
    }
    case kTransactionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.transaction_stmt_;
      }
      break;
    }
    case kCompositeTypeStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.composite_type_stmt_;
      }
      break;
    }
    case kCreateEnumStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_enum_stmt_;
      }
      break;
    }
    case kCreateRangeStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_range_stmt_;
      }
      break;
    }
    case kAlterEnumStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_enum_stmt_;
      }
      break;
    }
    case kViewStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.view_stmt_;
      }
      break;
    }
    case kLoadStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.load_stmt_;
      }
      break;
    }
    case kCreatedbStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.createdb_stmt_;
      }
      break;
    }
    case kAlterDatabaseStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_database_stmt_;
      }
      break;
    }
    case kAlterDatabaseRefreshCollStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_database_refresh_coll_stmt_;
      }
      break;
    }
    case kAlterDatabaseSetStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_database_set_stmt_;
      }
      break;
    }
    case kDropdbStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.dropdb_stmt_;
      }
      break;
    }
    case kAlterSystemStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_system_stmt_;
      }
      break;
    }
    case kClusterStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.cluster_stmt_;
      }
      break;
    }
    case kVacuumStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.vacuum_stmt_;
      }
      break;
    }
    case kVacuumRelation: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.vacuum_relation_;
      }
      break;
    }
    case kExplainStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.explain_stmt_;
      }
      break;
    }
    case kCreateTableAsStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_table_as_stmt_;
      }
      break;
    }
    case kRefreshMatViewStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.refresh_mat_view_stmt_;
      }
      break;
    }
    case kCheckPointStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.check_point_stmt_;
      }
      break;
    }
    case kDiscardStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.discard_stmt_;
      }
      break;
    }
    case kLockStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.lock_stmt_;
      }
      break;
    }
    case kConstraintsSetStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.constraints_set_stmt_;
      }
      break;
    }
    case kReindexStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.reindex_stmt_;
      }
      break;
    }
    case kCreateConversionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_conversion_stmt_;
      }
      break;
    }
    case kCreateCastStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_cast_stmt_;
      }
      break;
    }
    case kCreateTransformStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_transform_stmt_;
      }
      break;
    }
    case kPrepareStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.prepare_stmt_;
      }
      break;
    }
    case kExecuteStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.execute_stmt_;
      }
      break;
    }
    case kDeallocateStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.deallocate_stmt_;
      }
      break;
    }
    case kDropOwnedStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_owned_stmt_;
      }
      break;
    }
    case kReassignOwnedStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.reassign_owned_stmt_;
      }
      break;
    }
    case kAlterTsdictionaryStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_tsdictionary_stmt_;
      }
      break;
    }
    case kAlterTsconfigurationStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_tsconfiguration_stmt_;
      }
      break;
    }
    case kPublicationTable: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.publication_table_;
      }
      break;
    }
    case kPublicationObjSpec: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.publication_obj_spec_;
      }
      break;
    }
    case kCreatePublicationStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_publication_stmt_;
      }
      break;
    }
    case kAlterPublicationStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_publication_stmt_;
      }
      break;
    }
    case kCreateSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.create_subscription_stmt_;
      }
      break;
    }
    case kAlterSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.alter_subscription_stmt_;
      }
      break;
    }
    case kDropSubscriptionStmt: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.drop_subscription_stmt_;
      }
      break;
    }
    case kInteger: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.integer_;
      }
      break;
    }
    case kFloat: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.float__;
      }
      break;
    }
    case kBoolean: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.boolean_;
      }
      break;
    }
    case kString: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.string_;
      }
      break;
    }
    case kBitString: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.bit_string_;
      }
      break;
    }
    case kList: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.list_;
      }
      break;
    }
    case kIntList: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.int_list_;
      }
      break;
    }
    case kOidList: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.oid_list_;
      }
      break;
    }
    case kAConst: {
      if (GetArena() == nullptr) {
        delete _impl_.node_.a_const_;
      }
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = NODE_NOT_SET;
}


PROTOBUF_NOINLINE void Node::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Node)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  clear_node();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Node::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 268, 268, 0, 35> Node::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    268, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    0,  // skipmap
    offsetof(decltype(_table_), field_entries),
    268,  // num_field_entries
    268,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Node_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    33, 0, 15,
    0, 32, 0, 48, 0, 64, 0, 80, 0, 96, 0, 112,
    0, 128, 0, 144, 0, 160, 0, 176, 0, 192, 0, 208,
    0, 224, 0, 240, 61440, 256,
    65535, 65535
  }}, {{
    // .pg_query.Alias alias = 1 [json_name = "Alias"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alias_), _Internal::kOneofCaseOffset + 0, 0,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_var_), _Internal::kOneofCaseOffset + 0, 1,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.table_func_), _Internal::kOneofCaseOffset + 0, 2,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.into_clause_), _Internal::kOneofCaseOffset + 0, 3,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Var var = 5 [json_name = "Var"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.var_), _Internal::kOneofCaseOffset + 0, 4,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Param param = 6 [json_name = "Param"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.param_), _Internal::kOneofCaseOffset + 0, 5,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Aggref aggref = 7 [json_name = "Aggref"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.aggref_), _Internal::kOneofCaseOffset + 0, 6,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.grouping_func_), _Internal::kOneofCaseOffset + 0, 7,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.window_func_), _Internal::kOneofCaseOffset + 0, 8,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.window_func_run_condition_), _Internal::kOneofCaseOffset + 0, 9,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.merge_support_func_), _Internal::kOneofCaseOffset + 0, 10,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.subscripting_ref_), _Internal::kOneofCaseOffset + 0, 11,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.func_expr_), _Internal::kOneofCaseOffset + 0, 12,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.named_arg_expr_), _Internal::kOneofCaseOffset + 0, 13,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.op_expr_), _Internal::kOneofCaseOffset + 0, 14,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.distinct_expr_), _Internal::kOneofCaseOffset + 0, 15,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.null_if_expr_), _Internal::kOneofCaseOffset + 0, 16,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.scalar_array_op_expr_), _Internal::kOneofCaseOffset + 0, 17,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.bool_expr_), _Internal::kOneofCaseOffset + 0, 18,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SubLink sub_link = 20 [json_name = "SubLink"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sub_link_), _Internal::kOneofCaseOffset + 0, 19,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sub_plan_), _Internal::kOneofCaseOffset + 0, 20,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alternative_sub_plan_), _Internal::kOneofCaseOffset + 0, 21,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.field_select_), _Internal::kOneofCaseOffset + 0, 22,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.field_store_), _Internal::kOneofCaseOffset + 0, 23,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.relabel_type_), _Internal::kOneofCaseOffset + 0, 24,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.coerce_via_io_), _Internal::kOneofCaseOffset + 0, 25,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.array_coerce_expr_), _Internal::kOneofCaseOffset + 0, 26,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.convert_rowtype_expr_), _Internal::kOneofCaseOffset + 0, 27,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.collate_expr_), _Internal::kOneofCaseOffset + 0, 28,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.case_expr_), _Internal::kOneofCaseOffset + 0, 29,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.case_when_), _Internal::kOneofCaseOffset + 0, 30,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.case_test_expr_), _Internal::kOneofCaseOffset + 0, 31,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.array_expr_), _Internal::kOneofCaseOffset + 0, 32,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.row_expr_), _Internal::kOneofCaseOffset + 0, 33,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.row_compare_expr_), _Internal::kOneofCaseOffset + 0, 34,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.coalesce_expr_), _Internal::kOneofCaseOffset + 0, 35,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.min_max_expr_), _Internal::kOneofCaseOffset + 0, 36,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sqlvalue_function_), _Internal::kOneofCaseOffset + 0, 37,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.xml_expr_), _Internal::kOneofCaseOffset + 0, 38,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_format_), _Internal::kOneofCaseOffset + 0, 39,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_returning_), _Internal::kOneofCaseOffset + 0, 40,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_value_expr_), _Internal::kOneofCaseOffset + 0, 41,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_constructor_expr_), _Internal::kOneofCaseOffset + 0, 42,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_is_predicate_), _Internal::kOneofCaseOffset + 0, 43,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_behavior_), _Internal::kOneofCaseOffset + 0, 44,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_expr_), _Internal::kOneofCaseOffset + 0, 45,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_path_), _Internal::kOneofCaseOffset + 0, 46,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_path_scan_), _Internal::kOneofCaseOffset + 0, 47,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_sibling_join_), _Internal::kOneofCaseOffset + 0, 48,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NullTest null_test = 50 [json_name = "NullTest"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.null_test_), _Internal::kOneofCaseOffset + 0, 49,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.boolean_test_), _Internal::kOneofCaseOffset + 0, 50,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.merge_action_), _Internal::kOneofCaseOffset + 0, 51,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.coerce_to_domain_), _Internal::kOneofCaseOffset + 0, 52,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.coerce_to_domain_value_), _Internal::kOneofCaseOffset + 0, 53,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.set_to_default_), _Internal::kOneofCaseOffset + 0, 54,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.current_of_expr_), _Internal::kOneofCaseOffset + 0, 55,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.next_value_expr_), _Internal::kOneofCaseOffset + 0, 56,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.inference_elem_), _Internal::kOneofCaseOffset + 0, 57,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.target_entry_), _Internal::kOneofCaseOffset + 0, 58,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_tbl_ref_), _Internal::kOneofCaseOffset + 0, 59,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.join_expr_), _Internal::kOneofCaseOffset + 0, 60,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.from_expr_), _Internal::kOneofCaseOffset + 0, 61,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.on_conflict_expr_), _Internal::kOneofCaseOffset + 0, 62,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Query query = 64 [json_name = "Query"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.query_), _Internal::kOneofCaseOffset + 0, 63,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName type_name = 65 [json_name = "TypeName"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.type_name_), _Internal::kOneofCaseOffset + 0, 64,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.column_ref_), _Internal::kOneofCaseOffset + 0, 65,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.param_ref_), _Internal::kOneofCaseOffset + 0, 66,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_expr_), _Internal::kOneofCaseOffset + 0, 67,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.type_cast_), _Internal::kOneofCaseOffset + 0, 68,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.collate_clause_), _Internal::kOneofCaseOffset + 0, 69,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.role_spec_), _Internal::kOneofCaseOffset + 0, 70,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.func_call_), _Internal::kOneofCaseOffset + 0, 71,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.A_Star a_star = 73 [json_name = "A_Star"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_star_), _Internal::kOneofCaseOffset + 0, 72,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvDefault)},
    // .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_indices_), _Internal::kOneofCaseOffset + 0, 73,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_indirection_), _Internal::kOneofCaseOffset + 0, 74,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_array_expr_), _Internal::kOneofCaseOffset + 0, 75,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.res_target_), _Internal::kOneofCaseOffset + 0, 76,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.multi_assign_ref_), _Internal::kOneofCaseOffset + 0, 77,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SortBy sort_by = 79 [json_name = "SortBy"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sort_by_), _Internal::kOneofCaseOffset + 0, 78,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.window_def_), _Internal::kOneofCaseOffset + 0, 79,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_subselect_), _Internal::kOneofCaseOffset + 0, 80,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_function_), _Internal::kOneofCaseOffset + 0, 81,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_table_func_), _Internal::kOneofCaseOffset + 0, 82,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_table_func_col_), _Internal::kOneofCaseOffset + 0, 83,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_table_sample_), _Internal::kOneofCaseOffset + 0, 84,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.column_def_), _Internal::kOneofCaseOffset + 0, 85,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.table_like_clause_), _Internal::kOneofCaseOffset + 0, 86,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.index_elem_), _Internal::kOneofCaseOffset + 0, 87,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DefElem def_elem = 89 [json_name = "DefElem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.def_elem_), _Internal::kOneofCaseOffset + 0, 88,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.locking_clause_), _Internal::kOneofCaseOffset + 0, 89,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.xml_serialize_), _Internal::kOneofCaseOffset + 0, 90,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.partition_elem_), _Internal::kOneofCaseOffset + 0, 91,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.partition_spec_), _Internal::kOneofCaseOffset + 0, 92,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.partition_bound_spec_), _Internal::kOneofCaseOffset + 0, 93,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.partition_range_datum_), _Internal::kOneofCaseOffset + 0, 94,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.single_partition_spec_), _Internal::kOneofCaseOffset + 0, 95,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvDefault)},
    // .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.partition_cmd_), _Internal::kOneofCaseOffset + 0, 96,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_tbl_entry_), _Internal::kOneofCaseOffset + 0, 97,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.rtepermission_info_), _Internal::kOneofCaseOffset + 0, 98,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.range_tbl_function_), _Internal::kOneofCaseOffset + 0, 99,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.table_sample_clause_), _Internal::kOneofCaseOffset + 0, 100,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.with_check_option_), _Internal::kOneofCaseOffset + 0, 101,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sort_group_clause_), _Internal::kOneofCaseOffset + 0, 102,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.grouping_set_), _Internal::kOneofCaseOffset + 0, 103,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.window_clause_), _Internal::kOneofCaseOffset + 0, 104,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.row_mark_clause_), _Internal::kOneofCaseOffset + 0, 105,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 107 [json_name = "WithClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.with_clause_), _Internal::kOneofCaseOffset + 0, 106,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.infer_clause_), _Internal::kOneofCaseOffset + 0, 107,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.on_conflict_clause_), _Internal::kOneofCaseOffset + 0, 108,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.ctesearch_clause_), _Internal::kOneofCaseOffset + 0, 109,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.ctecycle_clause_), _Internal::kOneofCaseOffset + 0, 110,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.common_table_expr_), _Internal::kOneofCaseOffset + 0, 111,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.merge_when_clause_), _Internal::kOneofCaseOffset + 0, 112,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.trigger_transition_), _Internal::kOneofCaseOffset + 0, 113,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_output_), _Internal::kOneofCaseOffset + 0, 114,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_argument_), _Internal::kOneofCaseOffset + 0, 115,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_func_expr_), _Internal::kOneofCaseOffset + 0, 116,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_path_spec_), _Internal::kOneofCaseOffset + 0, 117,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_), _Internal::kOneofCaseOffset + 0, 118,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_table_column_), _Internal::kOneofCaseOffset + 0, 119,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_key_value_), _Internal::kOneofCaseOffset + 0, 120,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_parse_expr_), _Internal::kOneofCaseOffset + 0, 121,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_scalar_expr_), _Internal::kOneofCaseOffset + 0, 122,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_serialize_expr_), _Internal::kOneofCaseOffset + 0, 123,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_object_constructor_), _Internal::kOneofCaseOffset + 0, 124,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_array_constructor_), _Internal::kOneofCaseOffset + 0, 125,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_array_query_constructor_), _Internal::kOneofCaseOffset + 0, 126,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_agg_constructor_), _Internal::kOneofCaseOffset + 0, 127,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_object_agg_), _Internal::kOneofCaseOffset + 0, 128,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.json_array_agg_), _Internal::kOneofCaseOffset + 0, 129,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.raw_stmt_), _Internal::kOneofCaseOffset + 0, 130,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.insert_stmt_), _Internal::kOneofCaseOffset + 0, 131,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.delete_stmt_), _Internal::kOneofCaseOffset + 0, 132,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.update_stmt_), _Internal::kOneofCaseOffset + 0, 133,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.merge_stmt_), _Internal::kOneofCaseOffset + 0, 134,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.select_stmt_), _Internal::kOneofCaseOffset + 0, 135,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.set_operation_stmt_), _Internal::kOneofCaseOffset + 0, 136,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.return_stmt_), _Internal::kOneofCaseOffset + 0, 137,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.plassign_stmt_), _Internal::kOneofCaseOffset + 0, 138,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_schema_stmt_), _Internal::kOneofCaseOffset + 0, 139,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_table_stmt_), _Internal::kOneofCaseOffset + 0, 140,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.replica_identity_stmt_), _Internal::kOneofCaseOffset + 0, 141,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_table_cmd_), _Internal::kOneofCaseOffset + 0, 142,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_collation_stmt_), _Internal::kOneofCaseOffset + 0, 143,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_domain_stmt_), _Internal::kOneofCaseOffset + 0, 144,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.grant_stmt_), _Internal::kOneofCaseOffset + 0, 145,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.object_with_args_), _Internal::kOneofCaseOffset + 0, 146,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.access_priv_), _Internal::kOneofCaseOffset + 0, 147,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.grant_role_stmt_), _Internal::kOneofCaseOffset + 0, 148,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_default_privileges_stmt_), _Internal::kOneofCaseOffset + 0, 149,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.copy_stmt_), _Internal::kOneofCaseOffset + 0, 150,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.variable_set_stmt_), _Internal::kOneofCaseOffset + 0, 151,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.variable_show_stmt_), _Internal::kOneofCaseOffset + 0, 152,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_stmt_), _Internal::kOneofCaseOffset + 0, 153,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Constraint constraint = 155 [json_name = "Constraint"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.constraint_), _Internal::kOneofCaseOffset + 0, 154,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_table_space_stmt_), _Internal::kOneofCaseOffset + 0, 155,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_table_space_stmt_), _Internal::kOneofCaseOffset + 0, 156,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_table_space_options_stmt_), _Internal::kOneofCaseOffset + 0, 157,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_table_move_all_stmt_), _Internal::kOneofCaseOffset + 0, 158,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_extension_stmt_), _Internal::kOneofCaseOffset + 0, 159,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_extension_stmt_), _Internal::kOneofCaseOffset + 0, 160,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_extension_contents_stmt_), _Internal::kOneofCaseOffset + 0, 161,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_fdw_stmt_), _Internal::kOneofCaseOffset + 0, 162,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_fdw_stmt_), _Internal::kOneofCaseOffset + 0, 163,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_foreign_server_stmt_), _Internal::kOneofCaseOffset + 0, 164,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_foreign_server_stmt_), _Internal::kOneofCaseOffset + 0, 165,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_foreign_table_stmt_), _Internal::kOneofCaseOffset + 0, 166,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_user_mapping_stmt_), _Internal::kOneofCaseOffset + 0, 167,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_user_mapping_stmt_), _Internal::kOneofCaseOffset + 0, 168,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_user_mapping_stmt_), _Internal::kOneofCaseOffset + 0, 169,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.import_foreign_schema_stmt_), _Internal::kOneofCaseOffset + 0, 170,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_policy_stmt_), _Internal::kOneofCaseOffset + 0, 171,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_policy_stmt_), _Internal::kOneofCaseOffset + 0, 172,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_am_stmt_), _Internal::kOneofCaseOffset + 0, 173,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_trig_stmt_), _Internal::kOneofCaseOffset + 0, 174,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_event_trig_stmt_), _Internal::kOneofCaseOffset + 0, 175,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_event_trig_stmt_), _Internal::kOneofCaseOffset + 0, 176,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_plang_stmt_), _Internal::kOneofCaseOffset + 0, 177,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_role_stmt_), _Internal::kOneofCaseOffset + 0, 178,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_role_stmt_), _Internal::kOneofCaseOffset + 0, 179,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_role_set_stmt_), _Internal::kOneofCaseOffset + 0, 180,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_role_stmt_), _Internal::kOneofCaseOffset + 0, 181,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_seq_stmt_), _Internal::kOneofCaseOffset + 0, 182,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_seq_stmt_), _Internal::kOneofCaseOffset + 0, 183,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.define_stmt_), _Internal::kOneofCaseOffset + 0, 184,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_domain_stmt_), _Internal::kOneofCaseOffset + 0, 185,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_op_class_stmt_), _Internal::kOneofCaseOffset + 0, 186,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_op_class_item_), _Internal::kOneofCaseOffset + 0, 187,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_op_family_stmt_), _Internal::kOneofCaseOffset + 0, 188,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_op_family_stmt_), _Internal::kOneofCaseOffset + 0, 189,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_stmt_), _Internal::kOneofCaseOffset + 0, 190,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.truncate_stmt_), _Internal::kOneofCaseOffset + 0, 191,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.comment_stmt_), _Internal::kOneofCaseOffset + 0, 192,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.sec_label_stmt_), _Internal::kOneofCaseOffset + 0, 193,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.declare_cursor_stmt_), _Internal::kOneofCaseOffset + 0, 194,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.close_portal_stmt_), _Internal::kOneofCaseOffset + 0, 195,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.fetch_stmt_), _Internal::kOneofCaseOffset + 0, 196,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.index_stmt_), _Internal::kOneofCaseOffset + 0, 197,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_stats_stmt_), _Internal::kOneofCaseOffset + 0, 198,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.stats_elem_), _Internal::kOneofCaseOffset + 0, 199,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_stats_stmt_), _Internal::kOneofCaseOffset + 0, 200,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_function_stmt_), _Internal::kOneofCaseOffset + 0, 201,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.function_parameter_), _Internal::kOneofCaseOffset + 0, 202,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_function_stmt_), _Internal::kOneofCaseOffset + 0, 203,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.do_stmt_), _Internal::kOneofCaseOffset + 0, 204,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.inline_code_block_), _Internal::kOneofCaseOffset + 0, 205,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.call_stmt_), _Internal::kOneofCaseOffset + 0, 206,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CallContext call_context = 208 [json_name = "CallContext"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.call_context_), _Internal::kOneofCaseOffset + 0, 207,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.rename_stmt_), _Internal::kOneofCaseOffset + 0, 208,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_object_depends_stmt_), _Internal::kOneofCaseOffset + 0, 209,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_object_schema_stmt_), _Internal::kOneofCaseOffset + 0, 210,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_owner_stmt_), _Internal::kOneofCaseOffset + 0, 211,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_operator_stmt_), _Internal::kOneofCaseOffset + 0, 212,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_type_stmt_), _Internal::kOneofCaseOffset + 0, 213,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.rule_stmt_), _Internal::kOneofCaseOffset + 0, 214,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.notify_stmt_), _Internal::kOneofCaseOffset + 0, 215,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.listen_stmt_), _Internal::kOneofCaseOffset + 0, 216,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.unlisten_stmt_), _Internal::kOneofCaseOffset + 0, 217,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.transaction_stmt_), _Internal::kOneofCaseOffset + 0, 218,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.composite_type_stmt_), _Internal::kOneofCaseOffset + 0, 219,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_enum_stmt_), _Internal::kOneofCaseOffset + 0, 220,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_range_stmt_), _Internal::kOneofCaseOffset + 0, 221,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_enum_stmt_), _Internal::kOneofCaseOffset + 0, 222,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.view_stmt_), _Internal::kOneofCaseOffset + 0, 223,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.load_stmt_), _Internal::kOneofCaseOffset + 0, 224,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.createdb_stmt_), _Internal::kOneofCaseOffset + 0, 225,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_database_stmt_), _Internal::kOneofCaseOffset + 0, 226,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_database_refresh_coll_stmt_), _Internal::kOneofCaseOffset + 0, 227,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_database_set_stmt_), _Internal::kOneofCaseOffset + 0, 228,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.dropdb_stmt_), _Internal::kOneofCaseOffset + 0, 229,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_system_stmt_), _Internal::kOneofCaseOffset + 0, 230,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.cluster_stmt_), _Internal::kOneofCaseOffset + 0, 231,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.vacuum_stmt_), _Internal::kOneofCaseOffset + 0, 232,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.vacuum_relation_), _Internal::kOneofCaseOffset + 0, 233,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.explain_stmt_), _Internal::kOneofCaseOffset + 0, 234,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_table_as_stmt_), _Internal::kOneofCaseOffset + 0, 235,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.refresh_mat_view_stmt_), _Internal::kOneofCaseOffset + 0, 236,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.check_point_stmt_), _Internal::kOneofCaseOffset + 0, 237,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvDefault)},
    // .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.discard_stmt_), _Internal::kOneofCaseOffset + 0, 238,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.lock_stmt_), _Internal::kOneofCaseOffset + 0, 239,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.constraints_set_stmt_), _Internal::kOneofCaseOffset + 0, 240,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.reindex_stmt_), _Internal::kOneofCaseOffset + 0, 241,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_conversion_stmt_), _Internal::kOneofCaseOffset + 0, 242,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_cast_stmt_), _Internal::kOneofCaseOffset + 0, 243,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_transform_stmt_), _Internal::kOneofCaseOffset + 0, 244,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.prepare_stmt_), _Internal::kOneofCaseOffset + 0, 245,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.execute_stmt_), _Internal::kOneofCaseOffset + 0, 246,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.deallocate_stmt_), _Internal::kOneofCaseOffset + 0, 247,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_owned_stmt_), _Internal::kOneofCaseOffset + 0, 248,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.reassign_owned_stmt_), _Internal::kOneofCaseOffset + 0, 249,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_tsdictionary_stmt_), _Internal::kOneofCaseOffset + 0, 250,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_tsconfiguration_stmt_), _Internal::kOneofCaseOffset + 0, 251,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.publication_table_), _Internal::kOneofCaseOffset + 0, 252,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.publication_obj_spec_), _Internal::kOneofCaseOffset + 0, 253,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_publication_stmt_), _Internal::kOneofCaseOffset + 0, 254,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_publication_stmt_), _Internal::kOneofCaseOffset + 0, 255,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.create_subscription_stmt_), _Internal::kOneofCaseOffset + 0, 256,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.alter_subscription_stmt_), _Internal::kOneofCaseOffset + 0, 257,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.drop_subscription_stmt_), _Internal::kOneofCaseOffset + 0, 258,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Integer integer = 260 [json_name = "Integer"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.integer_), _Internal::kOneofCaseOffset + 0, 259,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Float float = 261 [json_name = "Float"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.float__), _Internal::kOneofCaseOffset + 0, 260,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Boolean boolean = 262 [json_name = "Boolean"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.boolean_), _Internal::kOneofCaseOffset + 0, 261,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.String string = 263 [json_name = "String"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.string_), _Internal::kOneofCaseOffset + 0, 262,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BitString bit_string = 264 [json_name = "BitString"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.bit_string_), _Internal::kOneofCaseOffset + 0, 263,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.List list = 265 [json_name = "List"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.list_), _Internal::kOneofCaseOffset + 0, 264,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IntList int_list = 266 [json_name = "IntList"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.int_list_), _Internal::kOneofCaseOffset + 0, 265,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OidList oid_list = 267 [json_name = "OidList"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.oid_list_), _Internal::kOneofCaseOffset + 0, 266,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.A_Const a_const = 268 [json_name = "A_Const"];
    {PROTOBUF_FIELD_OFFSET(Node, _impl_.node_.a_const_), _Internal::kOneofCaseOffset + 0, 267,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::TableFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::IntoClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Var>()},
    {::_pbi::TcParser::GetTable<::pg_query::Param>()},
    {::_pbi::TcParser::GetTable<::pg_query::Aggref>()},
    {::_pbi::TcParser::GetTable<::pg_query::GroupingFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowFuncRunCondition>()},
    {::_pbi::TcParser::GetTable<::pg_query::MergeSupportFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::SubscriptingRef>()},
    {::_pbi::TcParser::GetTable<::pg_query::FuncExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::NamedArgExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::OpExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::DistinctExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::NullIfExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::ScalarArrayOpExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::BoolExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::SubLink>()},
    {::_pbi::TcParser::GetTable<::pg_query::SubPlan>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlternativeSubPlan>()},
    {::_pbi::TcParser::GetTable<::pg_query::FieldSelect>()},
    {::_pbi::TcParser::GetTable<::pg_query::FieldStore>()},
    {::_pbi::TcParser::GetTable<::pg_query::RelabelType>()},
    {::_pbi::TcParser::GetTable<::pg_query::CoerceViaIO>()},
    {::_pbi::TcParser::GetTable<::pg_query::ArrayCoerceExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::ConvertRowtypeExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::CollateExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::CaseExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::CaseWhen>()},
    {::_pbi::TcParser::GetTable<::pg_query::CaseTestExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::ArrayExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::RowExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::RowCompareExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::CoalesceExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::MinMaxExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::SQLValueFunction>()},
    {::_pbi::TcParser::GetTable<::pg_query::XmlExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonReturning>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonConstructorExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonIsPredicate>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePath>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePathScan>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTableSiblingJoin>()},
    {::_pbi::TcParser::GetTable<::pg_query::NullTest>()},
    {::_pbi::TcParser::GetTable<::pg_query::BooleanTest>()},
    {::_pbi::TcParser::GetTable<::pg_query::MergeAction>()},
    {::_pbi::TcParser::GetTable<::pg_query::CoerceToDomain>()},
    {::_pbi::TcParser::GetTable<::pg_query::CoerceToDomainValue>()},
    {::_pbi::TcParser::GetTable<::pg_query::SetToDefault>()},
    {::_pbi::TcParser::GetTable<::pg_query::CurrentOfExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::NextValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::InferenceElem>()},
    {::_pbi::TcParser::GetTable<::pg_query::TargetEntry>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTblRef>()},
    {::_pbi::TcParser::GetTable<::pg_query::JoinExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::FromExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::OnConflictExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::Query>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::ColumnRef>()},
    {::_pbi::TcParser::GetTable<::pg_query::ParamRef>()},
    {::_pbi::TcParser::GetTable<::pg_query::A_Expr>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeCast>()},
    {::_pbi::TcParser::GetTable<::pg_query::CollateClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::FuncCall>()},
    {::_pbi::FieldAuxDefaultMessage{}, &::pg_query::_A_Star_default_instance_},
    {::_pbi::TcParser::GetTable<::pg_query::A_Indices>()},
    {::_pbi::TcParser::GetTable<::pg_query::A_Indirection>()},
    {::_pbi::TcParser::GetTable<::pg_query::A_ArrayExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::ResTarget>()},
    {::_pbi::TcParser::GetTable<::pg_query::MultiAssignRef>()},
    {::_pbi::TcParser::GetTable<::pg_query::SortBy>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowDef>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeSubselect>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeFunction>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTableFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTableFuncCol>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTableSample>()},
    {::_pbi::TcParser::GetTable<::pg_query::ColumnDef>()},
    {::_pbi::TcParser::GetTable<::pg_query::TableLikeClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::IndexElem>()},
    {::_pbi::TcParser::GetTable<::pg_query::DefElem>()},
    {::_pbi::TcParser::GetTable<::pg_query::LockingClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::XmlSerialize>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionElem>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionBoundSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionRangeDatum>()},
    {::_pbi::FieldAuxDefaultMessage{}, &::pg_query::_SinglePartitionSpec_default_instance_},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionCmd>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTblEntry>()},
    {::_pbi::TcParser::GetTable<::pg_query::RTEPermissionInfo>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeTblFunction>()},
    {::_pbi::TcParser::GetTable<::pg_query::TableSampleClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithCheckOption>()},
    {::_pbi::TcParser::GetTable<::pg_query::SortGroupClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::GroupingSet>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::RowMarkClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::InferClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::OnConflictClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::CTESearchClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::CTECycleClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::CommonTableExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::MergeWhenClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::TriggerTransition>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonArgument>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFuncExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePathSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTable>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTableColumn>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonKeyValue>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonParseExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonScalarExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonSerializeExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonObjectConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonArrayConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonArrayQueryConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonAggConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonObjectAgg>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonArrayAgg>()},
    {::_pbi::TcParser::GetTable<::pg_query::RawStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::InsertStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DeleteStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::UpdateStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::MergeStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::SelectStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::SetOperationStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ReturnStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::PLAssignStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateSchemaStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTableStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ReplicaIdentityStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTableCmd>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterCollationStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterDomainStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::GrantStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
    {::_pbi::TcParser::GetTable<::pg_query::AccessPriv>()},
    {::_pbi::TcParser::GetTable<::pg_query::GrantRoleStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterDefaultPrivilegesStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CopyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::VariableSetStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::VariableShowStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::Constraint>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateTableSpaceStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropTableSpaceStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTableSpaceOptionsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTableMoveAllStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateExtensionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterExtensionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterExtensionContentsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateFdwStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterFdwStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateForeignServerStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterForeignServerStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateForeignTableStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateUserMappingStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterUserMappingStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropUserMappingStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ImportForeignSchemaStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreatePolicyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterPolicyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateAmStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateTrigStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateEventTrigStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterEventTrigStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreatePLangStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateRoleStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterRoleStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterRoleSetStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropRoleStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateSeqStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterSeqStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DefineStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateDomainStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateOpClassStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateOpClassItem>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateOpFamilyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterOpFamilyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::TruncateStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CommentStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::SecLabelStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DeclareCursorStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ClosePortalStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::FetchStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::IndexStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateStatsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::StatsElem>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterStatsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateFunctionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::FunctionParameter>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterFunctionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DoStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::InlineCodeBlock>()},
    {::_pbi::TcParser::GetTable<::pg_query::CallStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CallContext>()},
    {::_pbi::TcParser::GetTable<::pg_query::RenameStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterObjectDependsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterObjectSchemaStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterOwnerStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterOperatorStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTypeStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::RuleStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::NotifyStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ListenStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::UnlistenStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::TransactionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CompositeTypeStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateEnumStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateRangeStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterEnumStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ViewStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::LoadStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreatedbStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterDatabaseStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterDatabaseRefreshCollStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterDatabaseSetStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropdbStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterSystemStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ClusterStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::VacuumStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::VacuumRelation>()},
    {::_pbi::TcParser::GetTable<::pg_query::ExplainStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateTableAsStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::RefreshMatViewStmt>()},
    {::_pbi::FieldAuxDefaultMessage{}, &::pg_query::_CheckPointStmt_default_instance_},
    {::_pbi::TcParser::GetTable<::pg_query::DiscardStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::LockStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ConstraintsSetStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ReindexStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateConversionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateCastStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateTransformStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::PrepareStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ExecuteStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DeallocateStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropOwnedStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::ReassignOwnedStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTSDictionaryStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterTSConfigurationStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::PublicationTable>()},
    {::_pbi::TcParser::GetTable<::pg_query::PublicationObjSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreatePublicationStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterPublicationStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::CreateSubscriptionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::AlterSubscriptionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::DropSubscriptionStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::Integer>()},
    {::_pbi::TcParser::GetTable<::pg_query::Float>()},
    {::_pbi::TcParser::GetTable<::pg_query::Boolean>()},
    {::_pbi::TcParser::GetTable<::pg_query::String>()},
    {::_pbi::TcParser::GetTable<::pg_query::BitString>()},
    {::_pbi::TcParser::GetTable<::pg_query::List>()},
    {::_pbi::TcParser::GetTable<::pg_query::IntList>()},
    {::_pbi::TcParser::GetTable<::pg_query::OidList>()},
    {::_pbi::TcParser::GetTable<::pg_query::A_Const>()},
  }}, {{
  }},
};

::uint8_t* Node::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Node)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (node_case()) {
    case kAlias: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, _Internal::alias(this),
          _Internal::alias(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeVar: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, _Internal::range_var(this),
          _Internal::range_var(this).GetCachedSize(), target, stream);
      break;
    }
    case kTableFunc: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, _Internal::table_func(this),
          _Internal::table_func(this).GetCachedSize(), target, stream);
      break;
    }
    case kIntoClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, _Internal::into_clause(this),
          _Internal::into_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kVar: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, _Internal::var(this),
          _Internal::var(this).GetCachedSize(), target, stream);
      break;
    }
    case kParam: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          6, _Internal::param(this),
          _Internal::param(this).GetCachedSize(), target, stream);
      break;
    }
    case kAggref: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          7, _Internal::aggref(this),
          _Internal::aggref(this).GetCachedSize(), target, stream);
      break;
    }
    case kGroupingFunc: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          8, _Internal::grouping_func(this),
          _Internal::grouping_func(this).GetCachedSize(), target, stream);
      break;
    }
    case kWindowFunc: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          9, _Internal::window_func(this),
          _Internal::window_func(this).GetCachedSize(), target, stream);
      break;
    }
    case kWindowFuncRunCondition: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          10, _Internal::window_func_run_condition(this),
          _Internal::window_func_run_condition(this).GetCachedSize(), target, stream);
      break;
    }
    case kMergeSupportFunc: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          11, _Internal::merge_support_func(this),
          _Internal::merge_support_func(this).GetCachedSize(), target, stream);
      break;
    }
    case kSubscriptingRef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          12, _Internal::subscripting_ref(this),
          _Internal::subscripting_ref(this).GetCachedSize(), target, stream);
      break;
    }
    case kFuncExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          13, _Internal::func_expr(this),
          _Internal::func_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kNamedArgExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          14, _Internal::named_arg_expr(this),
          _Internal::named_arg_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kOpExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          15, _Internal::op_expr(this),
          _Internal::op_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kDistinctExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          16, _Internal::distinct_expr(this),
          _Internal::distinct_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kNullIfExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          17, _Internal::null_if_expr(this),
          _Internal::null_if_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kScalarArrayOpExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          18, _Internal::scalar_array_op_expr(this),
          _Internal::scalar_array_op_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kBoolExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          19, _Internal::bool_expr(this),
          _Internal::bool_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kSubLink: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          20, _Internal::sub_link(this),
          _Internal::sub_link(this).GetCachedSize(), target, stream);
      break;
    }
    case kSubPlan: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          21, _Internal::sub_plan(this),
          _Internal::sub_plan(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlternativeSubPlan: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          22, _Internal::alternative_sub_plan(this),
          _Internal::alternative_sub_plan(this).GetCachedSize(), target, stream);
      break;
    }
    case kFieldSelect: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          23, _Internal::field_select(this),
          _Internal::field_select(this).GetCachedSize(), target, stream);
      break;
    }
    case kFieldStore: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          24, _Internal::field_store(this),
          _Internal::field_store(this).GetCachedSize(), target, stream);
      break;
    }
    case kRelabelType: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          25, _Internal::relabel_type(this),
          _Internal::relabel_type(this).GetCachedSize(), target, stream);
      break;
    }
    case kCoerceViaIo: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          26, _Internal::coerce_via_io(this),
          _Internal::coerce_via_io(this).GetCachedSize(), target, stream);
      break;
    }
    case kArrayCoerceExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          27, _Internal::array_coerce_expr(this),
          _Internal::array_coerce_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kConvertRowtypeExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          28, _Internal::convert_rowtype_expr(this),
          _Internal::convert_rowtype_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kCollateExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          29, _Internal::collate_expr(this),
          _Internal::collate_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kCaseExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          30, _Internal::case_expr(this),
          _Internal::case_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kCaseWhen: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          31, _Internal::case_when(this),
          _Internal::case_when(this).GetCachedSize(), target, stream);
      break;
    }
    case kCaseTestExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          32, _Internal::case_test_expr(this),
          _Internal::case_test_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kArrayExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          33, _Internal::array_expr(this),
          _Internal::array_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kRowExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          34, _Internal::row_expr(this),
          _Internal::row_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kRowCompareExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          35, _Internal::row_compare_expr(this),
          _Internal::row_compare_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kCoalesceExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          36, _Internal::coalesce_expr(this),
          _Internal::coalesce_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kMinMaxExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          37, _Internal::min_max_expr(this),
          _Internal::min_max_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kSqlvalueFunction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          38, _Internal::sqlvalue_function(this),
          _Internal::sqlvalue_function(this).GetCachedSize(), target, stream);
      break;
    }
    case kXmlExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          39, _Internal::xml_expr(this),
          _Internal::xml_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonFormat: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          40, _Internal::json_format(this),
          _Internal::json_format(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonReturning: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          41, _Internal::json_returning(this),
          _Internal::json_returning(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonValueExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          42, _Internal::json_value_expr(this),
          _Internal::json_value_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonConstructorExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          43, _Internal::json_constructor_expr(this),
          _Internal::json_constructor_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonIsPredicate: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          44, _Internal::json_is_predicate(this),
          _Internal::json_is_predicate(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonBehavior: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          45, _Internal::json_behavior(this),
          _Internal::json_behavior(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          46, _Internal::json_expr(this),
          _Internal::json_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTablePath: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          47, _Internal::json_table_path(this),
          _Internal::json_table_path(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTablePathScan: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          48, _Internal::json_table_path_scan(this),
          _Internal::json_table_path_scan(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTableSiblingJoin: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          49, _Internal::json_table_sibling_join(this),
          _Internal::json_table_sibling_join(this).GetCachedSize(), target, stream);
      break;
    }
    case kNullTest: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          50, _Internal::null_test(this),
          _Internal::null_test(this).GetCachedSize(), target, stream);
      break;
    }
    case kBooleanTest: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          51, _Internal::boolean_test(this),
          _Internal::boolean_test(this).GetCachedSize(), target, stream);
      break;
    }
    case kMergeAction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          52, _Internal::merge_action(this),
          _Internal::merge_action(this).GetCachedSize(), target, stream);
      break;
    }
    case kCoerceToDomain: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          53, _Internal::coerce_to_domain(this),
          _Internal::coerce_to_domain(this).GetCachedSize(), target, stream);
      break;
    }
    case kCoerceToDomainValue: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          54, _Internal::coerce_to_domain_value(this),
          _Internal::coerce_to_domain_value(this).GetCachedSize(), target, stream);
      break;
    }
    case kSetToDefault: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          55, _Internal::set_to_default(this),
          _Internal::set_to_default(this).GetCachedSize(), target, stream);
      break;
    }
    case kCurrentOfExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          56, _Internal::current_of_expr(this),
          _Internal::current_of_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kNextValueExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          57, _Internal::next_value_expr(this),
          _Internal::next_value_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kInferenceElem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          58, _Internal::inference_elem(this),
          _Internal::inference_elem(this).GetCachedSize(), target, stream);
      break;
    }
    case kTargetEntry: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          59, _Internal::target_entry(this),
          _Internal::target_entry(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTblRef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          60, _Internal::range_tbl_ref(this),
          _Internal::range_tbl_ref(this).GetCachedSize(), target, stream);
      break;
    }
    case kJoinExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          61, _Internal::join_expr(this),
          _Internal::join_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kFromExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          62, _Internal::from_expr(this),
          _Internal::from_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kOnConflictExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          63, _Internal::on_conflict_expr(this),
          _Internal::on_conflict_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kQuery: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          64, _Internal::query(this),
          _Internal::query(this).GetCachedSize(), target, stream);
      break;
    }
    case kTypeName: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          65, _Internal::type_name(this),
          _Internal::type_name(this).GetCachedSize(), target, stream);
      break;
    }
    case kColumnRef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          66, _Internal::column_ref(this),
          _Internal::column_ref(this).GetCachedSize(), target, stream);
      break;
    }
    case kParamRef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          67, _Internal::param_ref(this),
          _Internal::param_ref(this).GetCachedSize(), target, stream);
      break;
    }
    case kAExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          68, _Internal::a_expr(this),
          _Internal::a_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kTypeCast: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          69, _Internal::type_cast(this),
          _Internal::type_cast(this).GetCachedSize(), target, stream);
      break;
    }
    case kCollateClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          70, _Internal::collate_clause(this),
          _Internal::collate_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kRoleSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          71, _Internal::role_spec(this),
          _Internal::role_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kFuncCall: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          72, _Internal::func_call(this),
          _Internal::func_call(this).GetCachedSize(), target, stream);
      break;
    }
    case kAStar: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          73, _Internal::a_star(this),
          _Internal::a_star(this).GetCachedSize(), target, stream);
      break;
    }
    case kAIndices: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          74, _Internal::a_indices(this),
          _Internal::a_indices(this).GetCachedSize(), target, stream);
      break;
    }
    case kAIndirection: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          75, _Internal::a_indirection(this),
          _Internal::a_indirection(this).GetCachedSize(), target, stream);
      break;
    }
    case kAArrayExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          76, _Internal::a_array_expr(this),
          _Internal::a_array_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kResTarget: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          77, _Internal::res_target(this),
          _Internal::res_target(this).GetCachedSize(), target, stream);
      break;
    }
    case kMultiAssignRef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          78, _Internal::multi_assign_ref(this),
          _Internal::multi_assign_ref(this).GetCachedSize(), target, stream);
      break;
    }
    case kSortBy: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          79, _Internal::sort_by(this),
          _Internal::sort_by(this).GetCachedSize(), target, stream);
      break;
    }
    case kWindowDef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          80, _Internal::window_def(this),
          _Internal::window_def(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeSubselect: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          81, _Internal::range_subselect(this),
          _Internal::range_subselect(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeFunction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          82, _Internal::range_function(this),
          _Internal::range_function(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTableFunc: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          83, _Internal::range_table_func(this),
          _Internal::range_table_func(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTableFuncCol: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          84, _Internal::range_table_func_col(this),
          _Internal::range_table_func_col(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTableSample: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          85, _Internal::range_table_sample(this),
          _Internal::range_table_sample(this).GetCachedSize(), target, stream);
      break;
    }
    case kColumnDef: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          86, _Internal::column_def(this),
          _Internal::column_def(this).GetCachedSize(), target, stream);
      break;
    }
    case kTableLikeClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          87, _Internal::table_like_clause(this),
          _Internal::table_like_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kIndexElem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          88, _Internal::index_elem(this),
          _Internal::index_elem(this).GetCachedSize(), target, stream);
      break;
    }
    case kDefElem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          89, _Internal::def_elem(this),
          _Internal::def_elem(this).GetCachedSize(), target, stream);
      break;
    }
    case kLockingClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          90, _Internal::locking_clause(this),
          _Internal::locking_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kXmlSerialize: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          91, _Internal::xml_serialize(this),
          _Internal::xml_serialize(this).GetCachedSize(), target, stream);
      break;
    }
    case kPartitionElem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          92, _Internal::partition_elem(this),
          _Internal::partition_elem(this).GetCachedSize(), target, stream);
      break;
    }
    case kPartitionSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          93, _Internal::partition_spec(this),
          _Internal::partition_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kPartitionBoundSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          94, _Internal::partition_bound_spec(this),
          _Internal::partition_bound_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kPartitionRangeDatum: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          95, _Internal::partition_range_datum(this),
          _Internal::partition_range_datum(this).GetCachedSize(), target, stream);
      break;
    }
    case kSinglePartitionSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          96, _Internal::single_partition_spec(this),
          _Internal::single_partition_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kPartitionCmd: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          97, _Internal::partition_cmd(this),
          _Internal::partition_cmd(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTblEntry: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          98, _Internal::range_tbl_entry(this),
          _Internal::range_tbl_entry(this).GetCachedSize(), target, stream);
      break;
    }
    case kRtepermissionInfo: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          99, _Internal::rtepermission_info(this),
          _Internal::rtepermission_info(this).GetCachedSize(), target, stream);
      break;
    }
    case kRangeTblFunction: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          100, _Internal::range_tbl_function(this),
          _Internal::range_tbl_function(this).GetCachedSize(), target, stream);
      break;
    }
    case kTableSampleClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          101, _Internal::table_sample_clause(this),
          _Internal::table_sample_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kWithCheckOption: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          102, _Internal::with_check_option(this),
          _Internal::with_check_option(this).GetCachedSize(), target, stream);
      break;
    }
    case kSortGroupClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          103, _Internal::sort_group_clause(this),
          _Internal::sort_group_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kGroupingSet: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          104, _Internal::grouping_set(this),
          _Internal::grouping_set(this).GetCachedSize(), target, stream);
      break;
    }
    case kWindowClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          105, _Internal::window_clause(this),
          _Internal::window_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kRowMarkClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          106, _Internal::row_mark_clause(this),
          _Internal::row_mark_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kWithClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          107, _Internal::with_clause(this),
          _Internal::with_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kInferClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          108, _Internal::infer_clause(this),
          _Internal::infer_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kOnConflictClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          109, _Internal::on_conflict_clause(this),
          _Internal::on_conflict_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kCtesearchClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          110, _Internal::ctesearch_clause(this),
          _Internal::ctesearch_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kCtecycleClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          111, _Internal::ctecycle_clause(this),
          _Internal::ctecycle_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kCommonTableExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          112, _Internal::common_table_expr(this),
          _Internal::common_table_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kMergeWhenClause: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          113, _Internal::merge_when_clause(this),
          _Internal::merge_when_clause(this).GetCachedSize(), target, stream);
      break;
    }
    case kTriggerTransition: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          114, _Internal::trigger_transition(this),
          _Internal::trigger_transition(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonOutput: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          115, _Internal::json_output(this),
          _Internal::json_output(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonArgument: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          116, _Internal::json_argument(this),
          _Internal::json_argument(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonFuncExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          117, _Internal::json_func_expr(this),
          _Internal::json_func_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTablePathSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          118, _Internal::json_table_path_spec(this),
          _Internal::json_table_path_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTable: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          119, _Internal::json_table(this),
          _Internal::json_table(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonTableColumn: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          120, _Internal::json_table_column(this),
          _Internal::json_table_column(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonKeyValue: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          121, _Internal::json_key_value(this),
          _Internal::json_key_value(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonParseExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          122, _Internal::json_parse_expr(this),
          _Internal::json_parse_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonScalarExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          123, _Internal::json_scalar_expr(this),
          _Internal::json_scalar_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonSerializeExpr: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          124, _Internal::json_serialize_expr(this),
          _Internal::json_serialize_expr(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonObjectConstructor: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          125, _Internal::json_object_constructor(this),
          _Internal::json_object_constructor(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonArrayConstructor: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          126, _Internal::json_array_constructor(this),
          _Internal::json_array_constructor(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonArrayQueryConstructor: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          127, _Internal::json_array_query_constructor(this),
          _Internal::json_array_query_constructor(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonAggConstructor: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          128, _Internal::json_agg_constructor(this),
          _Internal::json_agg_constructor(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonObjectAgg: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          129, _Internal::json_object_agg(this),
          _Internal::json_object_agg(this).GetCachedSize(), target, stream);
      break;
    }
    case kJsonArrayAgg: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          130, _Internal::json_array_agg(this),
          _Internal::json_array_agg(this).GetCachedSize(), target, stream);
      break;
    }
    case kRawStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          131, _Internal::raw_stmt(this),
          _Internal::raw_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kInsertStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          132, _Internal::insert_stmt(this),
          _Internal::insert_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDeleteStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          133, _Internal::delete_stmt(this),
          _Internal::delete_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kUpdateStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          134, _Internal::update_stmt(this),
          _Internal::update_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kMergeStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          135, _Internal::merge_stmt(this),
          _Internal::merge_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kSelectStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          136, _Internal::select_stmt(this),
          _Internal::select_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kSetOperationStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          137, _Internal::set_operation_stmt(this),
          _Internal::set_operation_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kReturnStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          138, _Internal::return_stmt(this),
          _Internal::return_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kPlassignStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          139, _Internal::plassign_stmt(this),
          _Internal::plassign_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateSchemaStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          140, _Internal::create_schema_stmt(this),
          _Internal::create_schema_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTableStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          141, _Internal::alter_table_stmt(this),
          _Internal::alter_table_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kReplicaIdentityStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          142, _Internal::replica_identity_stmt(this),
          _Internal::replica_identity_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTableCmd: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          143, _Internal::alter_table_cmd(this),
          _Internal::alter_table_cmd(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterCollationStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          144, _Internal::alter_collation_stmt(this),
          _Internal::alter_collation_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterDomainStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          145, _Internal::alter_domain_stmt(this),
          _Internal::alter_domain_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kGrantStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          146, _Internal::grant_stmt(this),
          _Internal::grant_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kObjectWithArgs: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          147, _Internal::object_with_args(this),
          _Internal::object_with_args(this).GetCachedSize(), target, stream);
      break;
    }
    case kAccessPriv: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          148, _Internal::access_priv(this),
          _Internal::access_priv(this).GetCachedSize(), target, stream);
      break;
    }
    case kGrantRoleStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          149, _Internal::grant_role_stmt(this),
          _Internal::grant_role_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          150, _Internal::alter_default_privileges_stmt(this),
          _Internal::alter_default_privileges_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCopyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          151, _Internal::copy_stmt(this),
          _Internal::copy_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kVariableSetStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          152, _Internal::variable_set_stmt(this),
          _Internal::variable_set_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kVariableShowStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          153, _Internal::variable_show_stmt(this),
          _Internal::variable_show_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          154, _Internal::create_stmt(this),
          _Internal::create_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kConstraint: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          155, _Internal::constraint(this),
          _Internal::constraint(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateTableSpaceStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          156, _Internal::create_table_space_stmt(this),
          _Internal::create_table_space_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropTableSpaceStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          157, _Internal::drop_table_space_stmt(this),
          _Internal::drop_table_space_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          158, _Internal::alter_table_space_options_stmt(this),
          _Internal::alter_table_space_options_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTableMoveAllStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          159, _Internal::alter_table_move_all_stmt(this),
          _Internal::alter_table_move_all_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateExtensionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          160, _Internal::create_extension_stmt(this),
          _Internal::create_extension_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterExtensionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          161, _Internal::alter_extension_stmt(this),
          _Internal::alter_extension_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterExtensionContentsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          162, _Internal::alter_extension_contents_stmt(this),
          _Internal::alter_extension_contents_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateFdwStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          163, _Internal::create_fdw_stmt(this),
          _Internal::create_fdw_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterFdwStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          164, _Internal::alter_fdw_stmt(this),
          _Internal::alter_fdw_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateForeignServerStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          165, _Internal::create_foreign_server_stmt(this),
          _Internal::create_foreign_server_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterForeignServerStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          166, _Internal::alter_foreign_server_stmt(this),
          _Internal::alter_foreign_server_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateForeignTableStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          167, _Internal::create_foreign_table_stmt(this),
          _Internal::create_foreign_table_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateUserMappingStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          168, _Internal::create_user_mapping_stmt(this),
          _Internal::create_user_mapping_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterUserMappingStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          169, _Internal::alter_user_mapping_stmt(this),
          _Internal::alter_user_mapping_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropUserMappingStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          170, _Internal::drop_user_mapping_stmt(this),
          _Internal::drop_user_mapping_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kImportForeignSchemaStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          171, _Internal::import_foreign_schema_stmt(this),
          _Internal::import_foreign_schema_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreatePolicyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          172, _Internal::create_policy_stmt(this),
          _Internal::create_policy_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterPolicyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          173, _Internal::alter_policy_stmt(this),
          _Internal::alter_policy_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateAmStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          174, _Internal::create_am_stmt(this),
          _Internal::create_am_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateTrigStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          175, _Internal::create_trig_stmt(this),
          _Internal::create_trig_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateEventTrigStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          176, _Internal::create_event_trig_stmt(this),
          _Internal::create_event_trig_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterEventTrigStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          177, _Internal::alter_event_trig_stmt(this),
          _Internal::alter_event_trig_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreatePlangStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          178, _Internal::create_plang_stmt(this),
          _Internal::create_plang_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateRoleStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          179, _Internal::create_role_stmt(this),
          _Internal::create_role_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterRoleStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          180, _Internal::alter_role_stmt(this),
          _Internal::alter_role_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterRoleSetStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          181, _Internal::alter_role_set_stmt(this),
          _Internal::alter_role_set_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropRoleStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          182, _Internal::drop_role_stmt(this),
          _Internal::drop_role_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateSeqStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          183, _Internal::create_seq_stmt(this),
          _Internal::create_seq_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterSeqStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          184, _Internal::alter_seq_stmt(this),
          _Internal::alter_seq_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDefineStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          185, _Internal::define_stmt(this),
          _Internal::define_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateDomainStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          186, _Internal::create_domain_stmt(this),
          _Internal::create_domain_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateOpClassStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          187, _Internal::create_op_class_stmt(this),
          _Internal::create_op_class_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateOpClassItem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          188, _Internal::create_op_class_item(this),
          _Internal::create_op_class_item(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateOpFamilyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          189, _Internal::create_op_family_stmt(this),
          _Internal::create_op_family_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterOpFamilyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          190, _Internal::alter_op_family_stmt(this),
          _Internal::alter_op_family_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          191, _Internal::drop_stmt(this),
          _Internal::drop_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kTruncateStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          192, _Internal::truncate_stmt(this),
          _Internal::truncate_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCommentStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          193, _Internal::comment_stmt(this),
          _Internal::comment_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kSecLabelStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          194, _Internal::sec_label_stmt(this),
          _Internal::sec_label_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDeclareCursorStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          195, _Internal::declare_cursor_stmt(this),
          _Internal::declare_cursor_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kClosePortalStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          196, _Internal::close_portal_stmt(this),
          _Internal::close_portal_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kFetchStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          197, _Internal::fetch_stmt(this),
          _Internal::fetch_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kIndexStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          198, _Internal::index_stmt(this),
          _Internal::index_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateStatsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          199, _Internal::create_stats_stmt(this),
          _Internal::create_stats_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kStatsElem: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          200, _Internal::stats_elem(this),
          _Internal::stats_elem(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterStatsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          201, _Internal::alter_stats_stmt(this),
          _Internal::alter_stats_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateFunctionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          202, _Internal::create_function_stmt(this),
          _Internal::create_function_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kFunctionParameter: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          203, _Internal::function_parameter(this),
          _Internal::function_parameter(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterFunctionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          204, _Internal::alter_function_stmt(this),
          _Internal::alter_function_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDoStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          205, _Internal::do_stmt(this),
          _Internal::do_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kInlineCodeBlock: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          206, _Internal::inline_code_block(this),
          _Internal::inline_code_block(this).GetCachedSize(), target, stream);
      break;
    }
    case kCallStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          207, _Internal::call_stmt(this),
          _Internal::call_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCallContext: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          208, _Internal::call_context(this),
          _Internal::call_context(this).GetCachedSize(), target, stream);
      break;
    }
    case kRenameStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          209, _Internal::rename_stmt(this),
          _Internal::rename_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterObjectDependsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          210, _Internal::alter_object_depends_stmt(this),
          _Internal::alter_object_depends_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterObjectSchemaStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          211, _Internal::alter_object_schema_stmt(this),
          _Internal::alter_object_schema_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterOwnerStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          212, _Internal::alter_owner_stmt(this),
          _Internal::alter_owner_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterOperatorStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          213, _Internal::alter_operator_stmt(this),
          _Internal::alter_operator_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTypeStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          214, _Internal::alter_type_stmt(this),
          _Internal::alter_type_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kRuleStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          215, _Internal::rule_stmt(this),
          _Internal::rule_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kNotifyStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          216, _Internal::notify_stmt(this),
          _Internal::notify_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kListenStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          217, _Internal::listen_stmt(this),
          _Internal::listen_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kUnlistenStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          218, _Internal::unlisten_stmt(this),
          _Internal::unlisten_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kTransactionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          219, _Internal::transaction_stmt(this),
          _Internal::transaction_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCompositeTypeStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          220, _Internal::composite_type_stmt(this),
          _Internal::composite_type_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateEnumStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          221, _Internal::create_enum_stmt(this),
          _Internal::create_enum_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateRangeStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          222, _Internal::create_range_stmt(this),
          _Internal::create_range_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterEnumStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          223, _Internal::alter_enum_stmt(this),
          _Internal::alter_enum_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kViewStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          224, _Internal::view_stmt(this),
          _Internal::view_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kLoadStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          225, _Internal::load_stmt(this),
          _Internal::load_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreatedbStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          226, _Internal::createdb_stmt(this),
          _Internal::createdb_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterDatabaseStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          227, _Internal::alter_database_stmt(this),
          _Internal::alter_database_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterDatabaseRefreshCollStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          228, _Internal::alter_database_refresh_coll_stmt(this),
          _Internal::alter_database_refresh_coll_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterDatabaseSetStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          229, _Internal::alter_database_set_stmt(this),
          _Internal::alter_database_set_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropdbStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          230, _Internal::dropdb_stmt(this),
          _Internal::dropdb_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterSystemStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          231, _Internal::alter_system_stmt(this),
          _Internal::alter_system_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kClusterStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          232, _Internal::cluster_stmt(this),
          _Internal::cluster_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kVacuumStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          233, _Internal::vacuum_stmt(this),
          _Internal::vacuum_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kVacuumRelation: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          234, _Internal::vacuum_relation(this),
          _Internal::vacuum_relation(this).GetCachedSize(), target, stream);
      break;
    }
    case kExplainStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          235, _Internal::explain_stmt(this),
          _Internal::explain_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateTableAsStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          236, _Internal::create_table_as_stmt(this),
          _Internal::create_table_as_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kRefreshMatViewStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          237, _Internal::refresh_mat_view_stmt(this),
          _Internal::refresh_mat_view_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCheckPointStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          238, _Internal::check_point_stmt(this),
          _Internal::check_point_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDiscardStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          239, _Internal::discard_stmt(this),
          _Internal::discard_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kLockStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          240, _Internal::lock_stmt(this),
          _Internal::lock_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kConstraintsSetStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          241, _Internal::constraints_set_stmt(this),
          _Internal::constraints_set_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kReindexStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          242, _Internal::reindex_stmt(this),
          _Internal::reindex_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateConversionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          243, _Internal::create_conversion_stmt(this),
          _Internal::create_conversion_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateCastStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          244, _Internal::create_cast_stmt(this),
          _Internal::create_cast_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateTransformStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          245, _Internal::create_transform_stmt(this),
          _Internal::create_transform_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kPrepareStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          246, _Internal::prepare_stmt(this),
          _Internal::prepare_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kExecuteStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          247, _Internal::execute_stmt(this),
          _Internal::execute_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDeallocateStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          248, _Internal::deallocate_stmt(this),
          _Internal::deallocate_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropOwnedStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          249, _Internal::drop_owned_stmt(this),
          _Internal::drop_owned_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kReassignOwnedStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          250, _Internal::reassign_owned_stmt(this),
          _Internal::reassign_owned_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTsdictionaryStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          251, _Internal::alter_tsdictionary_stmt(this),
          _Internal::alter_tsdictionary_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterTsconfigurationStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          252, _Internal::alter_tsconfiguration_stmt(this),
          _Internal::alter_tsconfiguration_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kPublicationTable: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          253, _Internal::publication_table(this),
          _Internal::publication_table(this).GetCachedSize(), target, stream);
      break;
    }
    case kPublicationObjSpec: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          254, _Internal::publication_obj_spec(this),
          _Internal::publication_obj_spec(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreatePublicationStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          255, _Internal::create_publication_stmt(this),
          _Internal::create_publication_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterPublicationStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          256, _Internal::alter_publication_stmt(this),
          _Internal::alter_publication_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kCreateSubscriptionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          257, _Internal::create_subscription_stmt(this),
          _Internal::create_subscription_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kAlterSubscriptionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          258, _Internal::alter_subscription_stmt(this),
          _Internal::alter_subscription_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kDropSubscriptionStmt: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          259, _Internal::drop_subscription_stmt(this),
          _Internal::drop_subscription_stmt(this).GetCachedSize(), target, stream);
      break;
    }
    case kInteger: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          260, _Internal::integer(this),
          _Internal::integer(this).GetCachedSize(), target, stream);
      break;
    }
    case kFloat: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          261, _Internal::float_(this),
          _Internal::float_(this).GetCachedSize(), target, stream);
      break;
    }
    case kBoolean: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          262, _Internal::boolean(this),
          _Internal::boolean(this).GetCachedSize(), target, stream);
      break;
    }
    case kString: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          263, _Internal::string(this),
          _Internal::string(this).GetCachedSize(), target, stream);
      break;
    }
    case kBitString: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          264, _Internal::bit_string(this),
          _Internal::bit_string(this).GetCachedSize(), target, stream);
      break;
    }
    case kList: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          265, _Internal::list(this),
          _Internal::list(this).GetCachedSize(), target, stream);
      break;
    }
    case kIntList: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          266, _Internal::int_list(this),
          _Internal::int_list(this).GetCachedSize(), target, stream);
      break;
    }
    case kOidList: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          267, _Internal::oid_list(this),
          _Internal::oid_list(this).GetCachedSize(), target, stream);
      break;
    }
    case kAConst: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          268, _Internal::a_const(this),
          _Internal::a_const(this).GetCachedSize(), target, stream);
      break;
    }
    default:
      break;
  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Node)
  return target;
}

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

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

  switch (node_case()) {
    // .pg_query.Alias alias = 1 [json_name = "Alias"];
    case kAlias: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alias_);
      break;
    }
    // .pg_query.RangeVar range_var = 2 [json_name = "RangeVar"];
    case kRangeVar: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_var_);
      break;
    }
    // .pg_query.TableFunc table_func = 3 [json_name = "TableFunc"];
    case kTableFunc: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.table_func_);
      break;
    }
    // .pg_query.IntoClause into_clause = 4 [json_name = "IntoClause"];
    case kIntoClause: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.into_clause_);
      break;
    }
    // .pg_query.Var var = 5 [json_name = "Var"];
    case kVar: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.var_);
      break;
    }
    // .pg_query.Param param = 6 [json_name = "Param"];
    case kParam: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.param_);
      break;
    }
    // .pg_query.Aggref aggref = 7 [json_name = "Aggref"];
    case kAggref: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.aggref_);
      break;
    }
    // .pg_query.GroupingFunc grouping_func = 8 [json_name = "GroupingFunc"];
    case kGroupingFunc: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.grouping_func_);
      break;
    }
    // .pg_query.WindowFunc window_func = 9 [json_name = "WindowFunc"];
    case kWindowFunc: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.window_func_);
      break;
    }
    // .pg_query.WindowFuncRunCondition window_func_run_condition = 10 [json_name = "WindowFuncRunCondition"];
    case kWindowFuncRunCondition: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.window_func_run_condition_);
      break;
    }
    // .pg_query.MergeSupportFunc merge_support_func = 11 [json_name = "MergeSupportFunc"];
    case kMergeSupportFunc: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.merge_support_func_);
      break;
    }
    // .pg_query.SubscriptingRef subscripting_ref = 12 [json_name = "SubscriptingRef"];
    case kSubscriptingRef: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.subscripting_ref_);
      break;
    }
    // .pg_query.FuncExpr func_expr = 13 [json_name = "FuncExpr"];
    case kFuncExpr: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.func_expr_);
      break;
    }
    // .pg_query.NamedArgExpr named_arg_expr = 14 [json_name = "NamedArgExpr"];
    case kNamedArgExpr: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.named_arg_expr_);
      break;
    }
    // .pg_query.OpExpr op_expr = 15 [json_name = "OpExpr"];
    case kOpExpr: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.op_expr_);
      break;
    }
    // .pg_query.DistinctExpr distinct_expr = 16 [json_name = "DistinctExpr"];
    case kDistinctExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.distinct_expr_);
      break;
    }
    // .pg_query.NullIfExpr null_if_expr = 17 [json_name = "NullIfExpr"];
    case kNullIfExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.null_if_expr_);
      break;
    }
    // .pg_query.ScalarArrayOpExpr scalar_array_op_expr = 18 [json_name = "ScalarArrayOpExpr"];
    case kScalarArrayOpExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.scalar_array_op_expr_);
      break;
    }
    // .pg_query.BoolExpr bool_expr = 19 [json_name = "BoolExpr"];
    case kBoolExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.bool_expr_);
      break;
    }
    // .pg_query.SubLink sub_link = 20 [json_name = "SubLink"];
    case kSubLink: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sub_link_);
      break;
    }
    // .pg_query.SubPlan sub_plan = 21 [json_name = "SubPlan"];
    case kSubPlan: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sub_plan_);
      break;
    }
    // .pg_query.AlternativeSubPlan alternative_sub_plan = 22 [json_name = "AlternativeSubPlan"];
    case kAlternativeSubPlan: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alternative_sub_plan_);
      break;
    }
    // .pg_query.FieldSelect field_select = 23 [json_name = "FieldSelect"];
    case kFieldSelect: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.field_select_);
      break;
    }
    // .pg_query.FieldStore field_store = 24 [json_name = "FieldStore"];
    case kFieldStore: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.field_store_);
      break;
    }
    // .pg_query.RelabelType relabel_type = 25 [json_name = "RelabelType"];
    case kRelabelType: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.relabel_type_);
      break;
    }
    // .pg_query.CoerceViaIO coerce_via_io = 26 [json_name = "CoerceViaIO"];
    case kCoerceViaIo: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.coerce_via_io_);
      break;
    }
    // .pg_query.ArrayCoerceExpr array_coerce_expr = 27 [json_name = "ArrayCoerceExpr"];
    case kArrayCoerceExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.array_coerce_expr_);
      break;
    }
    // .pg_query.ConvertRowtypeExpr convert_rowtype_expr = 28 [json_name = "ConvertRowtypeExpr"];
    case kConvertRowtypeExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.convert_rowtype_expr_);
      break;
    }
    // .pg_query.CollateExpr collate_expr = 29 [json_name = "CollateExpr"];
    case kCollateExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.collate_expr_);
      break;
    }
    // .pg_query.CaseExpr case_expr = 30 [json_name = "CaseExpr"];
    case kCaseExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.case_expr_);
      break;
    }
    // .pg_query.CaseWhen case_when = 31 [json_name = "CaseWhen"];
    case kCaseWhen: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.case_when_);
      break;
    }
    // .pg_query.CaseTestExpr case_test_expr = 32 [json_name = "CaseTestExpr"];
    case kCaseTestExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.case_test_expr_);
      break;
    }
    // .pg_query.ArrayExpr array_expr = 33 [json_name = "ArrayExpr"];
    case kArrayExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.array_expr_);
      break;
    }
    // .pg_query.RowExpr row_expr = 34 [json_name = "RowExpr"];
    case kRowExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.row_expr_);
      break;
    }
    // .pg_query.RowCompareExpr row_compare_expr = 35 [json_name = "RowCompareExpr"];
    case kRowCompareExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.row_compare_expr_);
      break;
    }
    // .pg_query.CoalesceExpr coalesce_expr = 36 [json_name = "CoalesceExpr"];
    case kCoalesceExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.coalesce_expr_);
      break;
    }
    // .pg_query.MinMaxExpr min_max_expr = 37 [json_name = "MinMaxExpr"];
    case kMinMaxExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.min_max_expr_);
      break;
    }
    // .pg_query.SQLValueFunction sqlvalue_function = 38 [json_name = "SQLValueFunction"];
    case kSqlvalueFunction: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sqlvalue_function_);
      break;
    }
    // .pg_query.XmlExpr xml_expr = 39 [json_name = "XmlExpr"];
    case kXmlExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.xml_expr_);
      break;
    }
    // .pg_query.JsonFormat json_format = 40 [json_name = "JsonFormat"];
    case kJsonFormat: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_format_);
      break;
    }
    // .pg_query.JsonReturning json_returning = 41 [json_name = "JsonReturning"];
    case kJsonReturning: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_returning_);
      break;
    }
    // .pg_query.JsonValueExpr json_value_expr = 42 [json_name = "JsonValueExpr"];
    case kJsonValueExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_value_expr_);
      break;
    }
    // .pg_query.JsonConstructorExpr json_constructor_expr = 43 [json_name = "JsonConstructorExpr"];
    case kJsonConstructorExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_constructor_expr_);
      break;
    }
    // .pg_query.JsonIsPredicate json_is_predicate = 44 [json_name = "JsonIsPredicate"];
    case kJsonIsPredicate: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_is_predicate_);
      break;
    }
    // .pg_query.JsonBehavior json_behavior = 45 [json_name = "JsonBehavior"];
    case kJsonBehavior: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_behavior_);
      break;
    }
    // .pg_query.JsonExpr json_expr = 46 [json_name = "JsonExpr"];
    case kJsonExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_expr_);
      break;
    }
    // .pg_query.JsonTablePath json_table_path = 47 [json_name = "JsonTablePath"];
    case kJsonTablePath: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_path_);
      break;
    }
    // .pg_query.JsonTablePathScan json_table_path_scan = 48 [json_name = "JsonTablePathScan"];
    case kJsonTablePathScan: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_path_scan_);
      break;
    }
    // .pg_query.JsonTableSiblingJoin json_table_sibling_join = 49 [json_name = "JsonTableSiblingJoin"];
    case kJsonTableSiblingJoin: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_sibling_join_);
      break;
    }
    // .pg_query.NullTest null_test = 50 [json_name = "NullTest"];
    case kNullTest: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.null_test_);
      break;
    }
    // .pg_query.BooleanTest boolean_test = 51 [json_name = "BooleanTest"];
    case kBooleanTest: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.boolean_test_);
      break;
    }
    // .pg_query.MergeAction merge_action = 52 [json_name = "MergeAction"];
    case kMergeAction: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.merge_action_);
      break;
    }
    // .pg_query.CoerceToDomain coerce_to_domain = 53 [json_name = "CoerceToDomain"];
    case kCoerceToDomain: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.coerce_to_domain_);
      break;
    }
    // .pg_query.CoerceToDomainValue coerce_to_domain_value = 54 [json_name = "CoerceToDomainValue"];
    case kCoerceToDomainValue: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.coerce_to_domain_value_);
      break;
    }
    // .pg_query.SetToDefault set_to_default = 55 [json_name = "SetToDefault"];
    case kSetToDefault: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.set_to_default_);
      break;
    }
    // .pg_query.CurrentOfExpr current_of_expr = 56 [json_name = "CurrentOfExpr"];
    case kCurrentOfExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.current_of_expr_);
      break;
    }
    // .pg_query.NextValueExpr next_value_expr = 57 [json_name = "NextValueExpr"];
    case kNextValueExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.next_value_expr_);
      break;
    }
    // .pg_query.InferenceElem inference_elem = 58 [json_name = "InferenceElem"];
    case kInferenceElem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.inference_elem_);
      break;
    }
    // .pg_query.TargetEntry target_entry = 59 [json_name = "TargetEntry"];
    case kTargetEntry: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.target_entry_);
      break;
    }
    // .pg_query.RangeTblRef range_tbl_ref = 60 [json_name = "RangeTblRef"];
    case kRangeTblRef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_tbl_ref_);
      break;
    }
    // .pg_query.JoinExpr join_expr = 61 [json_name = "JoinExpr"];
    case kJoinExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.join_expr_);
      break;
    }
    // .pg_query.FromExpr from_expr = 62 [json_name = "FromExpr"];
    case kFromExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.from_expr_);
      break;
    }
    // .pg_query.OnConflictExpr on_conflict_expr = 63 [json_name = "OnConflictExpr"];
    case kOnConflictExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.on_conflict_expr_);
      break;
    }
    // .pg_query.Query query = 64 [json_name = "Query"];
    case kQuery: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.query_);
      break;
    }
    // .pg_query.TypeName type_name = 65 [json_name = "TypeName"];
    case kTypeName: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.type_name_);
      break;
    }
    // .pg_query.ColumnRef column_ref = 66 [json_name = "ColumnRef"];
    case kColumnRef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.column_ref_);
      break;
    }
    // .pg_query.ParamRef param_ref = 67 [json_name = "ParamRef"];
    case kParamRef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.param_ref_);
      break;
    }
    // .pg_query.A_Expr a_expr = 68 [json_name = "A_Expr"];
    case kAExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_expr_);
      break;
    }
    // .pg_query.TypeCast type_cast = 69 [json_name = "TypeCast"];
    case kTypeCast: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.type_cast_);
      break;
    }
    // .pg_query.CollateClause collate_clause = 70 [json_name = "CollateClause"];
    case kCollateClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.collate_clause_);
      break;
    }
    // .pg_query.RoleSpec role_spec = 71 [json_name = "RoleSpec"];
    case kRoleSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.role_spec_);
      break;
    }
    // .pg_query.FuncCall func_call = 72 [json_name = "FuncCall"];
    case kFuncCall: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.func_call_);
      break;
    }
    // .pg_query.A_Star a_star = 73 [json_name = "A_Star"];
    case kAStar: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_star_);
      break;
    }
    // .pg_query.A_Indices a_indices = 74 [json_name = "A_Indices"];
    case kAIndices: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_indices_);
      break;
    }
    // .pg_query.A_Indirection a_indirection = 75 [json_name = "A_Indirection"];
    case kAIndirection: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_indirection_);
      break;
    }
    // .pg_query.A_ArrayExpr a_array_expr = 76 [json_name = "A_ArrayExpr"];
    case kAArrayExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_array_expr_);
      break;
    }
    // .pg_query.ResTarget res_target = 77 [json_name = "ResTarget"];
    case kResTarget: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.res_target_);
      break;
    }
    // .pg_query.MultiAssignRef multi_assign_ref = 78 [json_name = "MultiAssignRef"];
    case kMultiAssignRef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.multi_assign_ref_);
      break;
    }
    // .pg_query.SortBy sort_by = 79 [json_name = "SortBy"];
    case kSortBy: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sort_by_);
      break;
    }
    // .pg_query.WindowDef window_def = 80 [json_name = "WindowDef"];
    case kWindowDef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.window_def_);
      break;
    }
    // .pg_query.RangeSubselect range_subselect = 81 [json_name = "RangeSubselect"];
    case kRangeSubselect: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_subselect_);
      break;
    }
    // .pg_query.RangeFunction range_function = 82 [json_name = "RangeFunction"];
    case kRangeFunction: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_function_);
      break;
    }
    // .pg_query.RangeTableFunc range_table_func = 83 [json_name = "RangeTableFunc"];
    case kRangeTableFunc: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_table_func_);
      break;
    }
    // .pg_query.RangeTableFuncCol range_table_func_col = 84 [json_name = "RangeTableFuncCol"];
    case kRangeTableFuncCol: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_table_func_col_);
      break;
    }
    // .pg_query.RangeTableSample range_table_sample = 85 [json_name = "RangeTableSample"];
    case kRangeTableSample: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_table_sample_);
      break;
    }
    // .pg_query.ColumnDef column_def = 86 [json_name = "ColumnDef"];
    case kColumnDef: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.column_def_);
      break;
    }
    // .pg_query.TableLikeClause table_like_clause = 87 [json_name = "TableLikeClause"];
    case kTableLikeClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.table_like_clause_);
      break;
    }
    // .pg_query.IndexElem index_elem = 88 [json_name = "IndexElem"];
    case kIndexElem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.index_elem_);
      break;
    }
    // .pg_query.DefElem def_elem = 89 [json_name = "DefElem"];
    case kDefElem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.def_elem_);
      break;
    }
    // .pg_query.LockingClause locking_clause = 90 [json_name = "LockingClause"];
    case kLockingClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.locking_clause_);
      break;
    }
    // .pg_query.XmlSerialize xml_serialize = 91 [json_name = "XmlSerialize"];
    case kXmlSerialize: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.xml_serialize_);
      break;
    }
    // .pg_query.PartitionElem partition_elem = 92 [json_name = "PartitionElem"];
    case kPartitionElem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.partition_elem_);
      break;
    }
    // .pg_query.PartitionSpec partition_spec = 93 [json_name = "PartitionSpec"];
    case kPartitionSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.partition_spec_);
      break;
    }
    // .pg_query.PartitionBoundSpec partition_bound_spec = 94 [json_name = "PartitionBoundSpec"];
    case kPartitionBoundSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.partition_bound_spec_);
      break;
    }
    // .pg_query.PartitionRangeDatum partition_range_datum = 95 [json_name = "PartitionRangeDatum"];
    case kPartitionRangeDatum: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.partition_range_datum_);
      break;
    }
    // .pg_query.SinglePartitionSpec single_partition_spec = 96 [json_name = "SinglePartitionSpec"];
    case kSinglePartitionSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.single_partition_spec_);
      break;
    }
    // .pg_query.PartitionCmd partition_cmd = 97 [json_name = "PartitionCmd"];
    case kPartitionCmd: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.partition_cmd_);
      break;
    }
    // .pg_query.RangeTblEntry range_tbl_entry = 98 [json_name = "RangeTblEntry"];
    case kRangeTblEntry: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_tbl_entry_);
      break;
    }
    // .pg_query.RTEPermissionInfo rtepermission_info = 99 [json_name = "RTEPermissionInfo"];
    case kRtepermissionInfo: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.rtepermission_info_);
      break;
    }
    // .pg_query.RangeTblFunction range_tbl_function = 100 [json_name = "RangeTblFunction"];
    case kRangeTblFunction: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.range_tbl_function_);
      break;
    }
    // .pg_query.TableSampleClause table_sample_clause = 101 [json_name = "TableSampleClause"];
    case kTableSampleClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.table_sample_clause_);
      break;
    }
    // .pg_query.WithCheckOption with_check_option = 102 [json_name = "WithCheckOption"];
    case kWithCheckOption: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.with_check_option_);
      break;
    }
    // .pg_query.SortGroupClause sort_group_clause = 103 [json_name = "SortGroupClause"];
    case kSortGroupClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sort_group_clause_);
      break;
    }
    // .pg_query.GroupingSet grouping_set = 104 [json_name = "GroupingSet"];
    case kGroupingSet: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.grouping_set_);
      break;
    }
    // .pg_query.WindowClause window_clause = 105 [json_name = "WindowClause"];
    case kWindowClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.window_clause_);
      break;
    }
    // .pg_query.RowMarkClause row_mark_clause = 106 [json_name = "RowMarkClause"];
    case kRowMarkClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.row_mark_clause_);
      break;
    }
    // .pg_query.WithClause with_clause = 107 [json_name = "WithClause"];
    case kWithClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.with_clause_);
      break;
    }
    // .pg_query.InferClause infer_clause = 108 [json_name = "InferClause"];
    case kInferClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.infer_clause_);
      break;
    }
    // .pg_query.OnConflictClause on_conflict_clause = 109 [json_name = "OnConflictClause"];
    case kOnConflictClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.on_conflict_clause_);
      break;
    }
    // .pg_query.CTESearchClause ctesearch_clause = 110 [json_name = "CTESearchClause"];
    case kCtesearchClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.ctesearch_clause_);
      break;
    }
    // .pg_query.CTECycleClause ctecycle_clause = 111 [json_name = "CTECycleClause"];
    case kCtecycleClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.ctecycle_clause_);
      break;
    }
    // .pg_query.CommonTableExpr common_table_expr = 112 [json_name = "CommonTableExpr"];
    case kCommonTableExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.common_table_expr_);
      break;
    }
    // .pg_query.MergeWhenClause merge_when_clause = 113 [json_name = "MergeWhenClause"];
    case kMergeWhenClause: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.merge_when_clause_);
      break;
    }
    // .pg_query.TriggerTransition trigger_transition = 114 [json_name = "TriggerTransition"];
    case kTriggerTransition: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.trigger_transition_);
      break;
    }
    // .pg_query.JsonOutput json_output = 115 [json_name = "JsonOutput"];
    case kJsonOutput: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_output_);
      break;
    }
    // .pg_query.JsonArgument json_argument = 116 [json_name = "JsonArgument"];
    case kJsonArgument: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_argument_);
      break;
    }
    // .pg_query.JsonFuncExpr json_func_expr = 117 [json_name = "JsonFuncExpr"];
    case kJsonFuncExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_func_expr_);
      break;
    }
    // .pg_query.JsonTablePathSpec json_table_path_spec = 118 [json_name = "JsonTablePathSpec"];
    case kJsonTablePathSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_path_spec_);
      break;
    }
    // .pg_query.JsonTable json_table = 119 [json_name = "JsonTable"];
    case kJsonTable: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_);
      break;
    }
    // .pg_query.JsonTableColumn json_table_column = 120 [json_name = "JsonTableColumn"];
    case kJsonTableColumn: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_table_column_);
      break;
    }
    // .pg_query.JsonKeyValue json_key_value = 121 [json_name = "JsonKeyValue"];
    case kJsonKeyValue: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_key_value_);
      break;
    }
    // .pg_query.JsonParseExpr json_parse_expr = 122 [json_name = "JsonParseExpr"];
    case kJsonParseExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_parse_expr_);
      break;
    }
    // .pg_query.JsonScalarExpr json_scalar_expr = 123 [json_name = "JsonScalarExpr"];
    case kJsonScalarExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_scalar_expr_);
      break;
    }
    // .pg_query.JsonSerializeExpr json_serialize_expr = 124 [json_name = "JsonSerializeExpr"];
    case kJsonSerializeExpr: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_serialize_expr_);
      break;
    }
    // .pg_query.JsonObjectConstructor json_object_constructor = 125 [json_name = "JsonObjectConstructor"];
    case kJsonObjectConstructor: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_object_constructor_);
      break;
    }
    // .pg_query.JsonArrayConstructor json_array_constructor = 126 [json_name = "JsonArrayConstructor"];
    case kJsonArrayConstructor: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_array_constructor_);
      break;
    }
    // .pg_query.JsonArrayQueryConstructor json_array_query_constructor = 127 [json_name = "JsonArrayQueryConstructor"];
    case kJsonArrayQueryConstructor: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_array_query_constructor_);
      break;
    }
    // .pg_query.JsonAggConstructor json_agg_constructor = 128 [json_name = "JsonAggConstructor"];
    case kJsonAggConstructor: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_agg_constructor_);
      break;
    }
    // .pg_query.JsonObjectAgg json_object_agg = 129 [json_name = "JsonObjectAgg"];
    case kJsonObjectAgg: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_object_agg_);
      break;
    }
    // .pg_query.JsonArrayAgg json_array_agg = 130 [json_name = "JsonArrayAgg"];
    case kJsonArrayAgg: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.json_array_agg_);
      break;
    }
    // .pg_query.RawStmt raw_stmt = 131 [json_name = "RawStmt"];
    case kRawStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.raw_stmt_);
      break;
    }
    // .pg_query.InsertStmt insert_stmt = 132 [json_name = "InsertStmt"];
    case kInsertStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.insert_stmt_);
      break;
    }
    // .pg_query.DeleteStmt delete_stmt = 133 [json_name = "DeleteStmt"];
    case kDeleteStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.delete_stmt_);
      break;
    }
    // .pg_query.UpdateStmt update_stmt = 134 [json_name = "UpdateStmt"];
    case kUpdateStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.update_stmt_);
      break;
    }
    // .pg_query.MergeStmt merge_stmt = 135 [json_name = "MergeStmt"];
    case kMergeStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.merge_stmt_);
      break;
    }
    // .pg_query.SelectStmt select_stmt = 136 [json_name = "SelectStmt"];
    case kSelectStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.select_stmt_);
      break;
    }
    // .pg_query.SetOperationStmt set_operation_stmt = 137 [json_name = "SetOperationStmt"];
    case kSetOperationStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.set_operation_stmt_);
      break;
    }
    // .pg_query.ReturnStmt return_stmt = 138 [json_name = "ReturnStmt"];
    case kReturnStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.return_stmt_);
      break;
    }
    // .pg_query.PLAssignStmt plassign_stmt = 139 [json_name = "PLAssignStmt"];
    case kPlassignStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.plassign_stmt_);
      break;
    }
    // .pg_query.CreateSchemaStmt create_schema_stmt = 140 [json_name = "CreateSchemaStmt"];
    case kCreateSchemaStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_schema_stmt_);
      break;
    }
    // .pg_query.AlterTableStmt alter_table_stmt = 141 [json_name = "AlterTableStmt"];
    case kAlterTableStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_table_stmt_);
      break;
    }
    // .pg_query.ReplicaIdentityStmt replica_identity_stmt = 142 [json_name = "ReplicaIdentityStmt"];
    case kReplicaIdentityStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.replica_identity_stmt_);
      break;
    }
    // .pg_query.AlterTableCmd alter_table_cmd = 143 [json_name = "AlterTableCmd"];
    case kAlterTableCmd: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_table_cmd_);
      break;
    }
    // .pg_query.AlterCollationStmt alter_collation_stmt = 144 [json_name = "AlterCollationStmt"];
    case kAlterCollationStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_collation_stmt_);
      break;
    }
    // .pg_query.AlterDomainStmt alter_domain_stmt = 145 [json_name = "AlterDomainStmt"];
    case kAlterDomainStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_domain_stmt_);
      break;
    }
    // .pg_query.GrantStmt grant_stmt = 146 [json_name = "GrantStmt"];
    case kGrantStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.grant_stmt_);
      break;
    }
    // .pg_query.ObjectWithArgs object_with_args = 147 [json_name = "ObjectWithArgs"];
    case kObjectWithArgs: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.object_with_args_);
      break;
    }
    // .pg_query.AccessPriv access_priv = 148 [json_name = "AccessPriv"];
    case kAccessPriv: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.access_priv_);
      break;
    }
    // .pg_query.GrantRoleStmt grant_role_stmt = 149 [json_name = "GrantRoleStmt"];
    case kGrantRoleStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.grant_role_stmt_);
      break;
    }
    // .pg_query.AlterDefaultPrivilegesStmt alter_default_privileges_stmt = 150 [json_name = "AlterDefaultPrivilegesStmt"];
    case kAlterDefaultPrivilegesStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_default_privileges_stmt_);
      break;
    }
    // .pg_query.CopyStmt copy_stmt = 151 [json_name = "CopyStmt"];
    case kCopyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.copy_stmt_);
      break;
    }
    // .pg_query.VariableSetStmt variable_set_stmt = 152 [json_name = "VariableSetStmt"];
    case kVariableSetStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.variable_set_stmt_);
      break;
    }
    // .pg_query.VariableShowStmt variable_show_stmt = 153 [json_name = "VariableShowStmt"];
    case kVariableShowStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.variable_show_stmt_);
      break;
    }
    // .pg_query.CreateStmt create_stmt = 154 [json_name = "CreateStmt"];
    case kCreateStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_stmt_);
      break;
    }
    // .pg_query.Constraint constraint = 155 [json_name = "Constraint"];
    case kConstraint: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.constraint_);
      break;
    }
    // .pg_query.CreateTableSpaceStmt create_table_space_stmt = 156 [json_name = "CreateTableSpaceStmt"];
    case kCreateTableSpaceStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_table_space_stmt_);
      break;
    }
    // .pg_query.DropTableSpaceStmt drop_table_space_stmt = 157 [json_name = "DropTableSpaceStmt"];
    case kDropTableSpaceStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_table_space_stmt_);
      break;
    }
    // .pg_query.AlterTableSpaceOptionsStmt alter_table_space_options_stmt = 158 [json_name = "AlterTableSpaceOptionsStmt"];
    case kAlterTableSpaceOptionsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_table_space_options_stmt_);
      break;
    }
    // .pg_query.AlterTableMoveAllStmt alter_table_move_all_stmt = 159 [json_name = "AlterTableMoveAllStmt"];
    case kAlterTableMoveAllStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_table_move_all_stmt_);
      break;
    }
    // .pg_query.CreateExtensionStmt create_extension_stmt = 160 [json_name = "CreateExtensionStmt"];
    case kCreateExtensionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_extension_stmt_);
      break;
    }
    // .pg_query.AlterExtensionStmt alter_extension_stmt = 161 [json_name = "AlterExtensionStmt"];
    case kAlterExtensionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_extension_stmt_);
      break;
    }
    // .pg_query.AlterExtensionContentsStmt alter_extension_contents_stmt = 162 [json_name = "AlterExtensionContentsStmt"];
    case kAlterExtensionContentsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_extension_contents_stmt_);
      break;
    }
    // .pg_query.CreateFdwStmt create_fdw_stmt = 163 [json_name = "CreateFdwStmt"];
    case kCreateFdwStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_fdw_stmt_);
      break;
    }
    // .pg_query.AlterFdwStmt alter_fdw_stmt = 164 [json_name = "AlterFdwStmt"];
    case kAlterFdwStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_fdw_stmt_);
      break;
    }
    // .pg_query.CreateForeignServerStmt create_foreign_server_stmt = 165 [json_name = "CreateForeignServerStmt"];
    case kCreateForeignServerStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_foreign_server_stmt_);
      break;
    }
    // .pg_query.AlterForeignServerStmt alter_foreign_server_stmt = 166 [json_name = "AlterForeignServerStmt"];
    case kAlterForeignServerStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_foreign_server_stmt_);
      break;
    }
    // .pg_query.CreateForeignTableStmt create_foreign_table_stmt = 167 [json_name = "CreateForeignTableStmt"];
    case kCreateForeignTableStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_foreign_table_stmt_);
      break;
    }
    // .pg_query.CreateUserMappingStmt create_user_mapping_stmt = 168 [json_name = "CreateUserMappingStmt"];
    case kCreateUserMappingStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_user_mapping_stmt_);
      break;
    }
    // .pg_query.AlterUserMappingStmt alter_user_mapping_stmt = 169 [json_name = "AlterUserMappingStmt"];
    case kAlterUserMappingStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_user_mapping_stmt_);
      break;
    }
    // .pg_query.DropUserMappingStmt drop_user_mapping_stmt = 170 [json_name = "DropUserMappingStmt"];
    case kDropUserMappingStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_user_mapping_stmt_);
      break;
    }
    // .pg_query.ImportForeignSchemaStmt import_foreign_schema_stmt = 171 [json_name = "ImportForeignSchemaStmt"];
    case kImportForeignSchemaStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.import_foreign_schema_stmt_);
      break;
    }
    // .pg_query.CreatePolicyStmt create_policy_stmt = 172 [json_name = "CreatePolicyStmt"];
    case kCreatePolicyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_policy_stmt_);
      break;
    }
    // .pg_query.AlterPolicyStmt alter_policy_stmt = 173 [json_name = "AlterPolicyStmt"];
    case kAlterPolicyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_policy_stmt_);
      break;
    }
    // .pg_query.CreateAmStmt create_am_stmt = 174 [json_name = "CreateAmStmt"];
    case kCreateAmStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_am_stmt_);
      break;
    }
    // .pg_query.CreateTrigStmt create_trig_stmt = 175 [json_name = "CreateTrigStmt"];
    case kCreateTrigStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_trig_stmt_);
      break;
    }
    // .pg_query.CreateEventTrigStmt create_event_trig_stmt = 176 [json_name = "CreateEventTrigStmt"];
    case kCreateEventTrigStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_event_trig_stmt_);
      break;
    }
    // .pg_query.AlterEventTrigStmt alter_event_trig_stmt = 177 [json_name = "AlterEventTrigStmt"];
    case kAlterEventTrigStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_event_trig_stmt_);
      break;
    }
    // .pg_query.CreatePLangStmt create_plang_stmt = 178 [json_name = "CreatePLangStmt"];
    case kCreatePlangStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_plang_stmt_);
      break;
    }
    // .pg_query.CreateRoleStmt create_role_stmt = 179 [json_name = "CreateRoleStmt"];
    case kCreateRoleStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_role_stmt_);
      break;
    }
    // .pg_query.AlterRoleStmt alter_role_stmt = 180 [json_name = "AlterRoleStmt"];
    case kAlterRoleStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_role_stmt_);
      break;
    }
    // .pg_query.AlterRoleSetStmt alter_role_set_stmt = 181 [json_name = "AlterRoleSetStmt"];
    case kAlterRoleSetStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_role_set_stmt_);
      break;
    }
    // .pg_query.DropRoleStmt drop_role_stmt = 182 [json_name = "DropRoleStmt"];
    case kDropRoleStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_role_stmt_);
      break;
    }
    // .pg_query.CreateSeqStmt create_seq_stmt = 183 [json_name = "CreateSeqStmt"];
    case kCreateSeqStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_seq_stmt_);
      break;
    }
    // .pg_query.AlterSeqStmt alter_seq_stmt = 184 [json_name = "AlterSeqStmt"];
    case kAlterSeqStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_seq_stmt_);
      break;
    }
    // .pg_query.DefineStmt define_stmt = 185 [json_name = "DefineStmt"];
    case kDefineStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.define_stmt_);
      break;
    }
    // .pg_query.CreateDomainStmt create_domain_stmt = 186 [json_name = "CreateDomainStmt"];
    case kCreateDomainStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_domain_stmt_);
      break;
    }
    // .pg_query.CreateOpClassStmt create_op_class_stmt = 187 [json_name = "CreateOpClassStmt"];
    case kCreateOpClassStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_op_class_stmt_);
      break;
    }
    // .pg_query.CreateOpClassItem create_op_class_item = 188 [json_name = "CreateOpClassItem"];
    case kCreateOpClassItem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_op_class_item_);
      break;
    }
    // .pg_query.CreateOpFamilyStmt create_op_family_stmt = 189 [json_name = "CreateOpFamilyStmt"];
    case kCreateOpFamilyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_op_family_stmt_);
      break;
    }
    // .pg_query.AlterOpFamilyStmt alter_op_family_stmt = 190 [json_name = "AlterOpFamilyStmt"];
    case kAlterOpFamilyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_op_family_stmt_);
      break;
    }
    // .pg_query.DropStmt drop_stmt = 191 [json_name = "DropStmt"];
    case kDropStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_stmt_);
      break;
    }
    // .pg_query.TruncateStmt truncate_stmt = 192 [json_name = "TruncateStmt"];
    case kTruncateStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.truncate_stmt_);
      break;
    }
    // .pg_query.CommentStmt comment_stmt = 193 [json_name = "CommentStmt"];
    case kCommentStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.comment_stmt_);
      break;
    }
    // .pg_query.SecLabelStmt sec_label_stmt = 194 [json_name = "SecLabelStmt"];
    case kSecLabelStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.sec_label_stmt_);
      break;
    }
    // .pg_query.DeclareCursorStmt declare_cursor_stmt = 195 [json_name = "DeclareCursorStmt"];
    case kDeclareCursorStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.declare_cursor_stmt_);
      break;
    }
    // .pg_query.ClosePortalStmt close_portal_stmt = 196 [json_name = "ClosePortalStmt"];
    case kClosePortalStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.close_portal_stmt_);
      break;
    }
    // .pg_query.FetchStmt fetch_stmt = 197 [json_name = "FetchStmt"];
    case kFetchStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.fetch_stmt_);
      break;
    }
    // .pg_query.IndexStmt index_stmt = 198 [json_name = "IndexStmt"];
    case kIndexStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.index_stmt_);
      break;
    }
    // .pg_query.CreateStatsStmt create_stats_stmt = 199 [json_name = "CreateStatsStmt"];
    case kCreateStatsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_stats_stmt_);
      break;
    }
    // .pg_query.StatsElem stats_elem = 200 [json_name = "StatsElem"];
    case kStatsElem: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.stats_elem_);
      break;
    }
    // .pg_query.AlterStatsStmt alter_stats_stmt = 201 [json_name = "AlterStatsStmt"];
    case kAlterStatsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_stats_stmt_);
      break;
    }
    // .pg_query.CreateFunctionStmt create_function_stmt = 202 [json_name = "CreateFunctionStmt"];
    case kCreateFunctionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_function_stmt_);
      break;
    }
    // .pg_query.FunctionParameter function_parameter = 203 [json_name = "FunctionParameter"];
    case kFunctionParameter: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.function_parameter_);
      break;
    }
    // .pg_query.AlterFunctionStmt alter_function_stmt = 204 [json_name = "AlterFunctionStmt"];
    case kAlterFunctionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_function_stmt_);
      break;
    }
    // .pg_query.DoStmt do_stmt = 205 [json_name = "DoStmt"];
    case kDoStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.do_stmt_);
      break;
    }
    // .pg_query.InlineCodeBlock inline_code_block = 206 [json_name = "InlineCodeBlock"];
    case kInlineCodeBlock: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.inline_code_block_);
      break;
    }
    // .pg_query.CallStmt call_stmt = 207 [json_name = "CallStmt"];
    case kCallStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.call_stmt_);
      break;
    }
    // .pg_query.CallContext call_context = 208 [json_name = "CallContext"];
    case kCallContext: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.call_context_);
      break;
    }
    // .pg_query.RenameStmt rename_stmt = 209 [json_name = "RenameStmt"];
    case kRenameStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.rename_stmt_);
      break;
    }
    // .pg_query.AlterObjectDependsStmt alter_object_depends_stmt = 210 [json_name = "AlterObjectDependsStmt"];
    case kAlterObjectDependsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_object_depends_stmt_);
      break;
    }
    // .pg_query.AlterObjectSchemaStmt alter_object_schema_stmt = 211 [json_name = "AlterObjectSchemaStmt"];
    case kAlterObjectSchemaStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_object_schema_stmt_);
      break;
    }
    // .pg_query.AlterOwnerStmt alter_owner_stmt = 212 [json_name = "AlterOwnerStmt"];
    case kAlterOwnerStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_owner_stmt_);
      break;
    }
    // .pg_query.AlterOperatorStmt alter_operator_stmt = 213 [json_name = "AlterOperatorStmt"];
    case kAlterOperatorStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_operator_stmt_);
      break;
    }
    // .pg_query.AlterTypeStmt alter_type_stmt = 214 [json_name = "AlterTypeStmt"];
    case kAlterTypeStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_type_stmt_);
      break;
    }
    // .pg_query.RuleStmt rule_stmt = 215 [json_name = "RuleStmt"];
    case kRuleStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.rule_stmt_);
      break;
    }
    // .pg_query.NotifyStmt notify_stmt = 216 [json_name = "NotifyStmt"];
    case kNotifyStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.notify_stmt_);
      break;
    }
    // .pg_query.ListenStmt listen_stmt = 217 [json_name = "ListenStmt"];
    case kListenStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.listen_stmt_);
      break;
    }
    // .pg_query.UnlistenStmt unlisten_stmt = 218 [json_name = "UnlistenStmt"];
    case kUnlistenStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.unlisten_stmt_);
      break;
    }
    // .pg_query.TransactionStmt transaction_stmt = 219 [json_name = "TransactionStmt"];
    case kTransactionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.transaction_stmt_);
      break;
    }
    // .pg_query.CompositeTypeStmt composite_type_stmt = 220 [json_name = "CompositeTypeStmt"];
    case kCompositeTypeStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.composite_type_stmt_);
      break;
    }
    // .pg_query.CreateEnumStmt create_enum_stmt = 221 [json_name = "CreateEnumStmt"];
    case kCreateEnumStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_enum_stmt_);
      break;
    }
    // .pg_query.CreateRangeStmt create_range_stmt = 222 [json_name = "CreateRangeStmt"];
    case kCreateRangeStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_range_stmt_);
      break;
    }
    // .pg_query.AlterEnumStmt alter_enum_stmt = 223 [json_name = "AlterEnumStmt"];
    case kAlterEnumStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_enum_stmt_);
      break;
    }
    // .pg_query.ViewStmt view_stmt = 224 [json_name = "ViewStmt"];
    case kViewStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.view_stmt_);
      break;
    }
    // .pg_query.LoadStmt load_stmt = 225 [json_name = "LoadStmt"];
    case kLoadStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.load_stmt_);
      break;
    }
    // .pg_query.CreatedbStmt createdb_stmt = 226 [json_name = "CreatedbStmt"];
    case kCreatedbStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.createdb_stmt_);
      break;
    }
    // .pg_query.AlterDatabaseStmt alter_database_stmt = 227 [json_name = "AlterDatabaseStmt"];
    case kAlterDatabaseStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_database_stmt_);
      break;
    }
    // .pg_query.AlterDatabaseRefreshCollStmt alter_database_refresh_coll_stmt = 228 [json_name = "AlterDatabaseRefreshCollStmt"];
    case kAlterDatabaseRefreshCollStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_database_refresh_coll_stmt_);
      break;
    }
    // .pg_query.AlterDatabaseSetStmt alter_database_set_stmt = 229 [json_name = "AlterDatabaseSetStmt"];
    case kAlterDatabaseSetStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_database_set_stmt_);
      break;
    }
    // .pg_query.DropdbStmt dropdb_stmt = 230 [json_name = "DropdbStmt"];
    case kDropdbStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.dropdb_stmt_);
      break;
    }
    // .pg_query.AlterSystemStmt alter_system_stmt = 231 [json_name = "AlterSystemStmt"];
    case kAlterSystemStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_system_stmt_);
      break;
    }
    // .pg_query.ClusterStmt cluster_stmt = 232 [json_name = "ClusterStmt"];
    case kClusterStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.cluster_stmt_);
      break;
    }
    // .pg_query.VacuumStmt vacuum_stmt = 233 [json_name = "VacuumStmt"];
    case kVacuumStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.vacuum_stmt_);
      break;
    }
    // .pg_query.VacuumRelation vacuum_relation = 234 [json_name = "VacuumRelation"];
    case kVacuumRelation: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.vacuum_relation_);
      break;
    }
    // .pg_query.ExplainStmt explain_stmt = 235 [json_name = "ExplainStmt"];
    case kExplainStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.explain_stmt_);
      break;
    }
    // .pg_query.CreateTableAsStmt create_table_as_stmt = 236 [json_name = "CreateTableAsStmt"];
    case kCreateTableAsStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_table_as_stmt_);
      break;
    }
    // .pg_query.RefreshMatViewStmt refresh_mat_view_stmt = 237 [json_name = "RefreshMatViewStmt"];
    case kRefreshMatViewStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.refresh_mat_view_stmt_);
      break;
    }
    // .pg_query.CheckPointStmt check_point_stmt = 238 [json_name = "CheckPointStmt"];
    case kCheckPointStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.check_point_stmt_);
      break;
    }
    // .pg_query.DiscardStmt discard_stmt = 239 [json_name = "DiscardStmt"];
    case kDiscardStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.discard_stmt_);
      break;
    }
    // .pg_query.LockStmt lock_stmt = 240 [json_name = "LockStmt"];
    case kLockStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.lock_stmt_);
      break;
    }
    // .pg_query.ConstraintsSetStmt constraints_set_stmt = 241 [json_name = "ConstraintsSetStmt"];
    case kConstraintsSetStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.constraints_set_stmt_);
      break;
    }
    // .pg_query.ReindexStmt reindex_stmt = 242 [json_name = "ReindexStmt"];
    case kReindexStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.reindex_stmt_);
      break;
    }
    // .pg_query.CreateConversionStmt create_conversion_stmt = 243 [json_name = "CreateConversionStmt"];
    case kCreateConversionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_conversion_stmt_);
      break;
    }
    // .pg_query.CreateCastStmt create_cast_stmt = 244 [json_name = "CreateCastStmt"];
    case kCreateCastStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_cast_stmt_);
      break;
    }
    // .pg_query.CreateTransformStmt create_transform_stmt = 245 [json_name = "CreateTransformStmt"];
    case kCreateTransformStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_transform_stmt_);
      break;
    }
    // .pg_query.PrepareStmt prepare_stmt = 246 [json_name = "PrepareStmt"];
    case kPrepareStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.prepare_stmt_);
      break;
    }
    // .pg_query.ExecuteStmt execute_stmt = 247 [json_name = "ExecuteStmt"];
    case kExecuteStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.execute_stmt_);
      break;
    }
    // .pg_query.DeallocateStmt deallocate_stmt = 248 [json_name = "DeallocateStmt"];
    case kDeallocateStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.deallocate_stmt_);
      break;
    }
    // .pg_query.DropOwnedStmt drop_owned_stmt = 249 [json_name = "DropOwnedStmt"];
    case kDropOwnedStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_owned_stmt_);
      break;
    }
    // .pg_query.ReassignOwnedStmt reassign_owned_stmt = 250 [json_name = "ReassignOwnedStmt"];
    case kReassignOwnedStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.reassign_owned_stmt_);
      break;
    }
    // .pg_query.AlterTSDictionaryStmt alter_tsdictionary_stmt = 251 [json_name = "AlterTSDictionaryStmt"];
    case kAlterTsdictionaryStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_tsdictionary_stmt_);
      break;
    }
    // .pg_query.AlterTSConfigurationStmt alter_tsconfiguration_stmt = 252 [json_name = "AlterTSConfigurationStmt"];
    case kAlterTsconfigurationStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_tsconfiguration_stmt_);
      break;
    }
    // .pg_query.PublicationTable publication_table = 253 [json_name = "PublicationTable"];
    case kPublicationTable: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.publication_table_);
      break;
    }
    // .pg_query.PublicationObjSpec publication_obj_spec = 254 [json_name = "PublicationObjSpec"];
    case kPublicationObjSpec: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.publication_obj_spec_);
      break;
    }
    // .pg_query.CreatePublicationStmt create_publication_stmt = 255 [json_name = "CreatePublicationStmt"];
    case kCreatePublicationStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_publication_stmt_);
      break;
    }
    // .pg_query.AlterPublicationStmt alter_publication_stmt = 256 [json_name = "AlterPublicationStmt"];
    case kAlterPublicationStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_publication_stmt_);
      break;
    }
    // .pg_query.CreateSubscriptionStmt create_subscription_stmt = 257 [json_name = "CreateSubscriptionStmt"];
    case kCreateSubscriptionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.create_subscription_stmt_);
      break;
    }
    // .pg_query.AlterSubscriptionStmt alter_subscription_stmt = 258 [json_name = "AlterSubscriptionStmt"];
    case kAlterSubscriptionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.alter_subscription_stmt_);
      break;
    }
    // .pg_query.DropSubscriptionStmt drop_subscription_stmt = 259 [json_name = "DropSubscriptionStmt"];
    case kDropSubscriptionStmt: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.drop_subscription_stmt_);
      break;
    }
    // .pg_query.Integer integer = 260 [json_name = "Integer"];
    case kInteger: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.integer_);
      break;
    }
    // .pg_query.Float float = 261 [json_name = "Float"];
    case kFloat: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.float__);
      break;
    }
    // .pg_query.Boolean boolean = 262 [json_name = "Boolean"];
    case kBoolean: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.boolean_);
      break;
    }
    // .pg_query.String string = 263 [json_name = "String"];
    case kString: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.string_);
      break;
    }
    // .pg_query.BitString bit_string = 264 [json_name = "BitString"];
    case kBitString: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.bit_string_);
      break;
    }
    // .pg_query.List list = 265 [json_name = "List"];
    case kList: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.list_);
      break;
    }
    // .pg_query.IntList int_list = 266 [json_name = "IntList"];
    case kIntList: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.int_list_);
      break;
    }
    // .pg_query.OidList oid_list = 267 [json_name = "OidList"];
    case kOidList: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.oid_list_);
      break;
    }
    // .pg_query.A_Const a_const = 268 [json_name = "A_Const"];
    case kAConst: {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_.a_const_);
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Node::_class_data_ = {
    Node::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Node::GetClassData() const {
  return &_class_data_;
}

void Node::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Node*>(&to_msg);
  auto& from = static_cast<const Node&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Node)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  switch (from.node_case()) {
    case kAlias: {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
      break;
    }
    case kRangeVar: {
      _this->_internal_mutable_range_var()->::pg_query::RangeVar::MergeFrom(
          from._internal_range_var());
      break;
    }
    case kTableFunc: {
      _this->_internal_mutable_table_func()->::pg_query::TableFunc::MergeFrom(
          from._internal_table_func());
      break;
    }
    case kIntoClause: {
      _this->_internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(
          from._internal_into_clause());
      break;
    }
    case kVar: {
      _this->_internal_mutable_var()->::pg_query::Var::MergeFrom(
          from._internal_var());
      break;
    }
    case kParam: {
      _this->_internal_mutable_param()->::pg_query::Param::MergeFrom(
          from._internal_param());
      break;
    }
    case kAggref: {
      _this->_internal_mutable_aggref()->::pg_query::Aggref::MergeFrom(
          from._internal_aggref());
      break;
    }
    case kGroupingFunc: {
      _this->_internal_mutable_grouping_func()->::pg_query::GroupingFunc::MergeFrom(
          from._internal_grouping_func());
      break;
    }
    case kWindowFunc: {
      _this->_internal_mutable_window_func()->::pg_query::WindowFunc::MergeFrom(
          from._internal_window_func());
      break;
    }
    case kWindowFuncRunCondition: {
      _this->_internal_mutable_window_func_run_condition()->::pg_query::WindowFuncRunCondition::MergeFrom(
          from._internal_window_func_run_condition());
      break;
    }
    case kMergeSupportFunc: {
      _this->_internal_mutable_merge_support_func()->::pg_query::MergeSupportFunc::MergeFrom(
          from._internal_merge_support_func());
      break;
    }
    case kSubscriptingRef: {
      _this->_internal_mutable_subscripting_ref()->::pg_query::SubscriptingRef::MergeFrom(
          from._internal_subscripting_ref());
      break;
    }
    case kFuncExpr: {
      _this->_internal_mutable_func_expr()->::pg_query::FuncExpr::MergeFrom(
          from._internal_func_expr());
      break;
    }
    case kNamedArgExpr: {
      _this->_internal_mutable_named_arg_expr()->::pg_query::NamedArgExpr::MergeFrom(
          from._internal_named_arg_expr());
      break;
    }
    case kOpExpr: {
      _this->_internal_mutable_op_expr()->::pg_query::OpExpr::MergeFrom(
          from._internal_op_expr());
      break;
    }
    case kDistinctExpr: {
      _this->_internal_mutable_distinct_expr()->::pg_query::DistinctExpr::MergeFrom(
          from._internal_distinct_expr());
      break;
    }
    case kNullIfExpr: {
      _this->_internal_mutable_null_if_expr()->::pg_query::NullIfExpr::MergeFrom(
          from._internal_null_if_expr());
      break;
    }
    case kScalarArrayOpExpr: {
      _this->_internal_mutable_scalar_array_op_expr()->::pg_query::ScalarArrayOpExpr::MergeFrom(
          from._internal_scalar_array_op_expr());
      break;
    }
    case kBoolExpr: {
      _this->_internal_mutable_bool_expr()->::pg_query::BoolExpr::MergeFrom(
          from._internal_bool_expr());
      break;
    }
    case kSubLink: {
      _this->_internal_mutable_sub_link()->::pg_query::SubLink::MergeFrom(
          from._internal_sub_link());
      break;
    }
    case kSubPlan: {
      _this->_internal_mutable_sub_plan()->::pg_query::SubPlan::MergeFrom(
          from._internal_sub_plan());
      break;
    }
    case kAlternativeSubPlan: {
      _this->_internal_mutable_alternative_sub_plan()->::pg_query::AlternativeSubPlan::MergeFrom(
          from._internal_alternative_sub_plan());
      break;
    }
    case kFieldSelect: {
      _this->_internal_mutable_field_select()->::pg_query::FieldSelect::MergeFrom(
          from._internal_field_select());
      break;
    }
    case kFieldStore: {
      _this->_internal_mutable_field_store()->::pg_query::FieldStore::MergeFrom(
          from._internal_field_store());
      break;
    }
    case kRelabelType: {
      _this->_internal_mutable_relabel_type()->::pg_query::RelabelType::MergeFrom(
          from._internal_relabel_type());
      break;
    }
    case kCoerceViaIo: {
      _this->_internal_mutable_coerce_via_io()->::pg_query::CoerceViaIO::MergeFrom(
          from._internal_coerce_via_io());
      break;
    }
    case kArrayCoerceExpr: {
      _this->_internal_mutable_array_coerce_expr()->::pg_query::ArrayCoerceExpr::MergeFrom(
          from._internal_array_coerce_expr());
      break;
    }
    case kConvertRowtypeExpr: {
      _this->_internal_mutable_convert_rowtype_expr()->::pg_query::ConvertRowtypeExpr::MergeFrom(
          from._internal_convert_rowtype_expr());
      break;
    }
    case kCollateExpr: {
      _this->_internal_mutable_collate_expr()->::pg_query::CollateExpr::MergeFrom(
          from._internal_collate_expr());
      break;
    }
    case kCaseExpr: {
      _this->_internal_mutable_case_expr()->::pg_query::CaseExpr::MergeFrom(
          from._internal_case_expr());
      break;
    }
    case kCaseWhen: {
      _this->_internal_mutable_case_when()->::pg_query::CaseWhen::MergeFrom(
          from._internal_case_when());
      break;
    }
    case kCaseTestExpr: {
      _this->_internal_mutable_case_test_expr()->::pg_query::CaseTestExpr::MergeFrom(
          from._internal_case_test_expr());
      break;
    }
    case kArrayExpr: {
      _this->_internal_mutable_array_expr()->::pg_query::ArrayExpr::MergeFrom(
          from._internal_array_expr());
      break;
    }
    case kRowExpr: {
      _this->_internal_mutable_row_expr()->::pg_query::RowExpr::MergeFrom(
          from._internal_row_expr());
      break;
    }
    case kRowCompareExpr: {
      _this->_internal_mutable_row_compare_expr()->::pg_query::RowCompareExpr::MergeFrom(
          from._internal_row_compare_expr());
      break;
    }
    case kCoalesceExpr: {
      _this->_internal_mutable_coalesce_expr()->::pg_query::CoalesceExpr::MergeFrom(
          from._internal_coalesce_expr());
      break;
    }
    case kMinMaxExpr: {
      _this->_internal_mutable_min_max_expr()->::pg_query::MinMaxExpr::MergeFrom(
          from._internal_min_max_expr());
      break;
    }
    case kSqlvalueFunction: {
      _this->_internal_mutable_sqlvalue_function()->::pg_query::SQLValueFunction::MergeFrom(
          from._internal_sqlvalue_function());
      break;
    }
    case kXmlExpr: {
      _this->_internal_mutable_xml_expr()->::pg_query::XmlExpr::MergeFrom(
          from._internal_xml_expr());
      break;
    }
    case kJsonFormat: {
      _this->_internal_mutable_json_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_json_format());
      break;
    }
    case kJsonReturning: {
      _this->_internal_mutable_json_returning()->::pg_query::JsonReturning::MergeFrom(
          from._internal_json_returning());
      break;
    }
    case kJsonValueExpr: {
      _this->_internal_mutable_json_value_expr()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_json_value_expr());
      break;
    }
    case kJsonConstructorExpr: {
      _this->_internal_mutable_json_constructor_expr()->::pg_query::JsonConstructorExpr::MergeFrom(
          from._internal_json_constructor_expr());
      break;
    }
    case kJsonIsPredicate: {
      _this->_internal_mutable_json_is_predicate()->::pg_query::JsonIsPredicate::MergeFrom(
          from._internal_json_is_predicate());
      break;
    }
    case kJsonBehavior: {
      _this->_internal_mutable_json_behavior()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_json_behavior());
      break;
    }
    case kJsonExpr: {
      _this->_internal_mutable_json_expr()->::pg_query::JsonExpr::MergeFrom(
          from._internal_json_expr());
      break;
    }
    case kJsonTablePath: {
      _this->_internal_mutable_json_table_path()->::pg_query::JsonTablePath::MergeFrom(
          from._internal_json_table_path());
      break;
    }
    case kJsonTablePathScan: {
      _this->_internal_mutable_json_table_path_scan()->::pg_query::JsonTablePathScan::MergeFrom(
          from._internal_json_table_path_scan());
      break;
    }
    case kJsonTableSiblingJoin: {
      _this->_internal_mutable_json_table_sibling_join()->::pg_query::JsonTableSiblingJoin::MergeFrom(
          from._internal_json_table_sibling_join());
      break;
    }
    case kNullTest: {
      _this->_internal_mutable_null_test()->::pg_query::NullTest::MergeFrom(
          from._internal_null_test());
      break;
    }
    case kBooleanTest: {
      _this->_internal_mutable_boolean_test()->::pg_query::BooleanTest::MergeFrom(
          from._internal_boolean_test());
      break;
    }
    case kMergeAction: {
      _this->_internal_mutable_merge_action()->::pg_query::MergeAction::MergeFrom(
          from._internal_merge_action());
      break;
    }
    case kCoerceToDomain: {
      _this->_internal_mutable_coerce_to_domain()->::pg_query::CoerceToDomain::MergeFrom(
          from._internal_coerce_to_domain());
      break;
    }
    case kCoerceToDomainValue: {
      _this->_internal_mutable_coerce_to_domain_value()->::pg_query::CoerceToDomainValue::MergeFrom(
          from._internal_coerce_to_domain_value());
      break;
    }
    case kSetToDefault: {
      _this->_internal_mutable_set_to_default()->::pg_query::SetToDefault::MergeFrom(
          from._internal_set_to_default());
      break;
    }
    case kCurrentOfExpr: {
      _this->_internal_mutable_current_of_expr()->::pg_query::CurrentOfExpr::MergeFrom(
          from._internal_current_of_expr());
      break;
    }
    case kNextValueExpr: {
      _this->_internal_mutable_next_value_expr()->::pg_query::NextValueExpr::MergeFrom(
          from._internal_next_value_expr());
      break;
    }
    case kInferenceElem: {
      _this->_internal_mutable_inference_elem()->::pg_query::InferenceElem::MergeFrom(
          from._internal_inference_elem());
      break;
    }
    case kTargetEntry: {
      _this->_internal_mutable_target_entry()->::pg_query::TargetEntry::MergeFrom(
          from._internal_target_entry());
      break;
    }
    case kRangeTblRef: {
      _this->_internal_mutable_range_tbl_ref()->::pg_query::RangeTblRef::MergeFrom(
          from._internal_range_tbl_ref());
      break;
    }
    case kJoinExpr: {
      _this->_internal_mutable_join_expr()->::pg_query::JoinExpr::MergeFrom(
          from._internal_join_expr());
      break;
    }
    case kFromExpr: {
      _this->_internal_mutable_from_expr()->::pg_query::FromExpr::MergeFrom(
          from._internal_from_expr());
      break;
    }
    case kOnConflictExpr: {
      _this->_internal_mutable_on_conflict_expr()->::pg_query::OnConflictExpr::MergeFrom(
          from._internal_on_conflict_expr());
      break;
    }
    case kQuery: {
      _this->_internal_mutable_query()->::pg_query::Query::MergeFrom(
          from._internal_query());
      break;
    }
    case kTypeName: {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
      break;
    }
    case kColumnRef: {
      _this->_internal_mutable_column_ref()->::pg_query::ColumnRef::MergeFrom(
          from._internal_column_ref());
      break;
    }
    case kParamRef: {
      _this->_internal_mutable_param_ref()->::pg_query::ParamRef::MergeFrom(
          from._internal_param_ref());
      break;
    }
    case kAExpr: {
      _this->_internal_mutable_a_expr()->::pg_query::A_Expr::MergeFrom(
          from._internal_a_expr());
      break;
    }
    case kTypeCast: {
      _this->_internal_mutable_type_cast()->::pg_query::TypeCast::MergeFrom(
          from._internal_type_cast());
      break;
    }
    case kCollateClause: {
      _this->_internal_mutable_collate_clause()->::pg_query::CollateClause::MergeFrom(
          from._internal_collate_clause());
      break;
    }
    case kRoleSpec: {
      _this->_internal_mutable_role_spec()->::pg_query::RoleSpec::MergeFrom(
          from._internal_role_spec());
      break;
    }
    case kFuncCall: {
      _this->_internal_mutable_func_call()->::pg_query::FuncCall::MergeFrom(
          from._internal_func_call());
      break;
    }
    case kAStar: {
      _this->_internal_mutable_a_star()->::pg_query::A_Star::MergeFrom(
          from._internal_a_star());
      break;
    }
    case kAIndices: {
      _this->_internal_mutable_a_indices()->::pg_query::A_Indices::MergeFrom(
          from._internal_a_indices());
      break;
    }
    case kAIndirection: {
      _this->_internal_mutable_a_indirection()->::pg_query::A_Indirection::MergeFrom(
          from._internal_a_indirection());
      break;
    }
    case kAArrayExpr: {
      _this->_internal_mutable_a_array_expr()->::pg_query::A_ArrayExpr::MergeFrom(
          from._internal_a_array_expr());
      break;
    }
    case kResTarget: {
      _this->_internal_mutable_res_target()->::pg_query::ResTarget::MergeFrom(
          from._internal_res_target());
      break;
    }
    case kMultiAssignRef: {
      _this->_internal_mutable_multi_assign_ref()->::pg_query::MultiAssignRef::MergeFrom(
          from._internal_multi_assign_ref());
      break;
    }
    case kSortBy: {
      _this->_internal_mutable_sort_by()->::pg_query::SortBy::MergeFrom(
          from._internal_sort_by());
      break;
    }
    case kWindowDef: {
      _this->_internal_mutable_window_def()->::pg_query::WindowDef::MergeFrom(
          from._internal_window_def());
      break;
    }
    case kRangeSubselect: {
      _this->_internal_mutable_range_subselect()->::pg_query::RangeSubselect::MergeFrom(
          from._internal_range_subselect());
      break;
    }
    case kRangeFunction: {
      _this->_internal_mutable_range_function()->::pg_query::RangeFunction::MergeFrom(
          from._internal_range_function());
      break;
    }
    case kRangeTableFunc: {
      _this->_internal_mutable_range_table_func()->::pg_query::RangeTableFunc::MergeFrom(
          from._internal_range_table_func());
      break;
    }
    case kRangeTableFuncCol: {
      _this->_internal_mutable_range_table_func_col()->::pg_query::RangeTableFuncCol::MergeFrom(
          from._internal_range_table_func_col());
      break;
    }
    case kRangeTableSample: {
      _this->_internal_mutable_range_table_sample()->::pg_query::RangeTableSample::MergeFrom(
          from._internal_range_table_sample());
      break;
    }
    case kColumnDef: {
      _this->_internal_mutable_column_def()->::pg_query::ColumnDef::MergeFrom(
          from._internal_column_def());
      break;
    }
    case kTableLikeClause: {
      _this->_internal_mutable_table_like_clause()->::pg_query::TableLikeClause::MergeFrom(
          from._internal_table_like_clause());
      break;
    }
    case kIndexElem: {
      _this->_internal_mutable_index_elem()->::pg_query::IndexElem::MergeFrom(
          from._internal_index_elem());
      break;
    }
    case kDefElem: {
      _this->_internal_mutable_def_elem()->::pg_query::DefElem::MergeFrom(
          from._internal_def_elem());
      break;
    }
    case kLockingClause: {
      _this->_internal_mutable_locking_clause()->::pg_query::LockingClause::MergeFrom(
          from._internal_locking_clause());
      break;
    }
    case kXmlSerialize: {
      _this->_internal_mutable_xml_serialize()->::pg_query::XmlSerialize::MergeFrom(
          from._internal_xml_serialize());
      break;
    }
    case kPartitionElem: {
      _this->_internal_mutable_partition_elem()->::pg_query::PartitionElem::MergeFrom(
          from._internal_partition_elem());
      break;
    }
    case kPartitionSpec: {
      _this->_internal_mutable_partition_spec()->::pg_query::PartitionSpec::MergeFrom(
          from._internal_partition_spec());
      break;
    }
    case kPartitionBoundSpec: {
      _this->_internal_mutable_partition_bound_spec()->::pg_query::PartitionBoundSpec::MergeFrom(
          from._internal_partition_bound_spec());
      break;
    }
    case kPartitionRangeDatum: {
      _this->_internal_mutable_partition_range_datum()->::pg_query::PartitionRangeDatum::MergeFrom(
          from._internal_partition_range_datum());
      break;
    }
    case kSinglePartitionSpec: {
      _this->_internal_mutable_single_partition_spec()->::pg_query::SinglePartitionSpec::MergeFrom(
          from._internal_single_partition_spec());
      break;
    }
    case kPartitionCmd: {
      _this->_internal_mutable_partition_cmd()->::pg_query::PartitionCmd::MergeFrom(
          from._internal_partition_cmd());
      break;
    }
    case kRangeTblEntry: {
      _this->_internal_mutable_range_tbl_entry()->::pg_query::RangeTblEntry::MergeFrom(
          from._internal_range_tbl_entry());
      break;
    }
    case kRtepermissionInfo: {
      _this->_internal_mutable_rtepermission_info()->::pg_query::RTEPermissionInfo::MergeFrom(
          from._internal_rtepermission_info());
      break;
    }
    case kRangeTblFunction: {
      _this->_internal_mutable_range_tbl_function()->::pg_query::RangeTblFunction::MergeFrom(
          from._internal_range_tbl_function());
      break;
    }
    case kTableSampleClause: {
      _this->_internal_mutable_table_sample_clause()->::pg_query::TableSampleClause::MergeFrom(
          from._internal_table_sample_clause());
      break;
    }
    case kWithCheckOption: {
      _this->_internal_mutable_with_check_option()->::pg_query::WithCheckOption::MergeFrom(
          from._internal_with_check_option());
      break;
    }
    case kSortGroupClause: {
      _this->_internal_mutable_sort_group_clause()->::pg_query::SortGroupClause::MergeFrom(
          from._internal_sort_group_clause());
      break;
    }
    case kGroupingSet: {
      _this->_internal_mutable_grouping_set()->::pg_query::GroupingSet::MergeFrom(
          from._internal_grouping_set());
      break;
    }
    case kWindowClause: {
      _this->_internal_mutable_window_clause()->::pg_query::WindowClause::MergeFrom(
          from._internal_window_clause());
      break;
    }
    case kRowMarkClause: {
      _this->_internal_mutable_row_mark_clause()->::pg_query::RowMarkClause::MergeFrom(
          from._internal_row_mark_clause());
      break;
    }
    case kWithClause: {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
      break;
    }
    case kInferClause: {
      _this->_internal_mutable_infer_clause()->::pg_query::InferClause::MergeFrom(
          from._internal_infer_clause());
      break;
    }
    case kOnConflictClause: {
      _this->_internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(
          from._internal_on_conflict_clause());
      break;
    }
    case kCtesearchClause: {
      _this->_internal_mutable_ctesearch_clause()->::pg_query::CTESearchClause::MergeFrom(
          from._internal_ctesearch_clause());
      break;
    }
    case kCtecycleClause: {
      _this->_internal_mutable_ctecycle_clause()->::pg_query::CTECycleClause::MergeFrom(
          from._internal_ctecycle_clause());
      break;
    }
    case kCommonTableExpr: {
      _this->_internal_mutable_common_table_expr()->::pg_query::CommonTableExpr::MergeFrom(
          from._internal_common_table_expr());
      break;
    }
    case kMergeWhenClause: {
      _this->_internal_mutable_merge_when_clause()->::pg_query::MergeWhenClause::MergeFrom(
          from._internal_merge_when_clause());
      break;
    }
    case kTriggerTransition: {
      _this->_internal_mutable_trigger_transition()->::pg_query::TriggerTransition::MergeFrom(
          from._internal_trigger_transition());
      break;
    }
    case kJsonOutput: {
      _this->_internal_mutable_json_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_json_output());
      break;
    }
    case kJsonArgument: {
      _this->_internal_mutable_json_argument()->::pg_query::JsonArgument::MergeFrom(
          from._internal_json_argument());
      break;
    }
    case kJsonFuncExpr: {
      _this->_internal_mutable_json_func_expr()->::pg_query::JsonFuncExpr::MergeFrom(
          from._internal_json_func_expr());
      break;
    }
    case kJsonTablePathSpec: {
      _this->_internal_mutable_json_table_path_spec()->::pg_query::JsonTablePathSpec::MergeFrom(
          from._internal_json_table_path_spec());
      break;
    }
    case kJsonTable: {
      _this->_internal_mutable_json_table()->::pg_query::JsonTable::MergeFrom(
          from._internal_json_table());
      break;
    }
    case kJsonTableColumn: {
      _this->_internal_mutable_json_table_column()->::pg_query::JsonTableColumn::MergeFrom(
          from._internal_json_table_column());
      break;
    }
    case kJsonKeyValue: {
      _this->_internal_mutable_json_key_value()->::pg_query::JsonKeyValue::MergeFrom(
          from._internal_json_key_value());
      break;
    }
    case kJsonParseExpr: {
      _this->_internal_mutable_json_parse_expr()->::pg_query::JsonParseExpr::MergeFrom(
          from._internal_json_parse_expr());
      break;
    }
    case kJsonScalarExpr: {
      _this->_internal_mutable_json_scalar_expr()->::pg_query::JsonScalarExpr::MergeFrom(
          from._internal_json_scalar_expr());
      break;
    }
    case kJsonSerializeExpr: {
      _this->_internal_mutable_json_serialize_expr()->::pg_query::JsonSerializeExpr::MergeFrom(
          from._internal_json_serialize_expr());
      break;
    }
    case kJsonObjectConstructor: {
      _this->_internal_mutable_json_object_constructor()->::pg_query::JsonObjectConstructor::MergeFrom(
          from._internal_json_object_constructor());
      break;
    }
    case kJsonArrayConstructor: {
      _this->_internal_mutable_json_array_constructor()->::pg_query::JsonArrayConstructor::MergeFrom(
          from._internal_json_array_constructor());
      break;
    }
    case kJsonArrayQueryConstructor: {
      _this->_internal_mutable_json_array_query_constructor()->::pg_query::JsonArrayQueryConstructor::MergeFrom(
          from._internal_json_array_query_constructor());
      break;
    }
    case kJsonAggConstructor: {
      _this->_internal_mutable_json_agg_constructor()->::pg_query::JsonAggConstructor::MergeFrom(
          from._internal_json_agg_constructor());
      break;
    }
    case kJsonObjectAgg: {
      _this->_internal_mutable_json_object_agg()->::pg_query::JsonObjectAgg::MergeFrom(
          from._internal_json_object_agg());
      break;
    }
    case kJsonArrayAgg: {
      _this->_internal_mutable_json_array_agg()->::pg_query::JsonArrayAgg::MergeFrom(
          from._internal_json_array_agg());
      break;
    }
    case kRawStmt: {
      _this->_internal_mutable_raw_stmt()->::pg_query::RawStmt::MergeFrom(
          from._internal_raw_stmt());
      break;
    }
    case kInsertStmt: {
      _this->_internal_mutable_insert_stmt()->::pg_query::InsertStmt::MergeFrom(
          from._internal_insert_stmt());
      break;
    }
    case kDeleteStmt: {
      _this->_internal_mutable_delete_stmt()->::pg_query::DeleteStmt::MergeFrom(
          from._internal_delete_stmt());
      break;
    }
    case kUpdateStmt: {
      _this->_internal_mutable_update_stmt()->::pg_query::UpdateStmt::MergeFrom(
          from._internal_update_stmt());
      break;
    }
    case kMergeStmt: {
      _this->_internal_mutable_merge_stmt()->::pg_query::MergeStmt::MergeFrom(
          from._internal_merge_stmt());
      break;
    }
    case kSelectStmt: {
      _this->_internal_mutable_select_stmt()->::pg_query::SelectStmt::MergeFrom(
          from._internal_select_stmt());
      break;
    }
    case kSetOperationStmt: {
      _this->_internal_mutable_set_operation_stmt()->::pg_query::SetOperationStmt::MergeFrom(
          from._internal_set_operation_stmt());
      break;
    }
    case kReturnStmt: {
      _this->_internal_mutable_return_stmt()->::pg_query::ReturnStmt::MergeFrom(
          from._internal_return_stmt());
      break;
    }
    case kPlassignStmt: {
      _this->_internal_mutable_plassign_stmt()->::pg_query::PLAssignStmt::MergeFrom(
          from._internal_plassign_stmt());
      break;
    }
    case kCreateSchemaStmt: {
      _this->_internal_mutable_create_schema_stmt()->::pg_query::CreateSchemaStmt::MergeFrom(
          from._internal_create_schema_stmt());
      break;
    }
    case kAlterTableStmt: {
      _this->_internal_mutable_alter_table_stmt()->::pg_query::AlterTableStmt::MergeFrom(
          from._internal_alter_table_stmt());
      break;
    }
    case kReplicaIdentityStmt: {
      _this->_internal_mutable_replica_identity_stmt()->::pg_query::ReplicaIdentityStmt::MergeFrom(
          from._internal_replica_identity_stmt());
      break;
    }
    case kAlterTableCmd: {
      _this->_internal_mutable_alter_table_cmd()->::pg_query::AlterTableCmd::MergeFrom(
          from._internal_alter_table_cmd());
      break;
    }
    case kAlterCollationStmt: {
      _this->_internal_mutable_alter_collation_stmt()->::pg_query::AlterCollationStmt::MergeFrom(
          from._internal_alter_collation_stmt());
      break;
    }
    case kAlterDomainStmt: {
      _this->_internal_mutable_alter_domain_stmt()->::pg_query::AlterDomainStmt::MergeFrom(
          from._internal_alter_domain_stmt());
      break;
    }
    case kGrantStmt: {
      _this->_internal_mutable_grant_stmt()->::pg_query::GrantStmt::MergeFrom(
          from._internal_grant_stmt());
      break;
    }
    case kObjectWithArgs: {
      _this->_internal_mutable_object_with_args()->::pg_query::ObjectWithArgs::MergeFrom(
          from._internal_object_with_args());
      break;
    }
    case kAccessPriv: {
      _this->_internal_mutable_access_priv()->::pg_query::AccessPriv::MergeFrom(
          from._internal_access_priv());
      break;
    }
    case kGrantRoleStmt: {
      _this->_internal_mutable_grant_role_stmt()->::pg_query::GrantRoleStmt::MergeFrom(
          from._internal_grant_role_stmt());
      break;
    }
    case kAlterDefaultPrivilegesStmt: {
      _this->_internal_mutable_alter_default_privileges_stmt()->::pg_query::AlterDefaultPrivilegesStmt::MergeFrom(
          from._internal_alter_default_privileges_stmt());
      break;
    }
    case kCopyStmt: {
      _this->_internal_mutable_copy_stmt()->::pg_query::CopyStmt::MergeFrom(
          from._internal_copy_stmt());
      break;
    }
    case kVariableSetStmt: {
      _this->_internal_mutable_variable_set_stmt()->::pg_query::VariableSetStmt::MergeFrom(
          from._internal_variable_set_stmt());
      break;
    }
    case kVariableShowStmt: {
      _this->_internal_mutable_variable_show_stmt()->::pg_query::VariableShowStmt::MergeFrom(
          from._internal_variable_show_stmt());
      break;
    }
    case kCreateStmt: {
      _this->_internal_mutable_create_stmt()->::pg_query::CreateStmt::MergeFrom(
          from._internal_create_stmt());
      break;
    }
    case kConstraint: {
      _this->_internal_mutable_constraint()->::pg_query::Constraint::MergeFrom(
          from._internal_constraint());
      break;
    }
    case kCreateTableSpaceStmt: {
      _this->_internal_mutable_create_table_space_stmt()->::pg_query::CreateTableSpaceStmt::MergeFrom(
          from._internal_create_table_space_stmt());
      break;
    }
    case kDropTableSpaceStmt: {
      _this->_internal_mutable_drop_table_space_stmt()->::pg_query::DropTableSpaceStmt::MergeFrom(
          from._internal_drop_table_space_stmt());
      break;
    }
    case kAlterTableSpaceOptionsStmt: {
      _this->_internal_mutable_alter_table_space_options_stmt()->::pg_query::AlterTableSpaceOptionsStmt::MergeFrom(
          from._internal_alter_table_space_options_stmt());
      break;
    }
    case kAlterTableMoveAllStmt: {
      _this->_internal_mutable_alter_table_move_all_stmt()->::pg_query::AlterTableMoveAllStmt::MergeFrom(
          from._internal_alter_table_move_all_stmt());
      break;
    }
    case kCreateExtensionStmt: {
      _this->_internal_mutable_create_extension_stmt()->::pg_query::CreateExtensionStmt::MergeFrom(
          from._internal_create_extension_stmt());
      break;
    }
    case kAlterExtensionStmt: {
      _this->_internal_mutable_alter_extension_stmt()->::pg_query::AlterExtensionStmt::MergeFrom(
          from._internal_alter_extension_stmt());
      break;
    }
    case kAlterExtensionContentsStmt: {
      _this->_internal_mutable_alter_extension_contents_stmt()->::pg_query::AlterExtensionContentsStmt::MergeFrom(
          from._internal_alter_extension_contents_stmt());
      break;
    }
    case kCreateFdwStmt: {
      _this->_internal_mutable_create_fdw_stmt()->::pg_query::CreateFdwStmt::MergeFrom(
          from._internal_create_fdw_stmt());
      break;
    }
    case kAlterFdwStmt: {
      _this->_internal_mutable_alter_fdw_stmt()->::pg_query::AlterFdwStmt::MergeFrom(
          from._internal_alter_fdw_stmt());
      break;
    }
    case kCreateForeignServerStmt: {
      _this->_internal_mutable_create_foreign_server_stmt()->::pg_query::CreateForeignServerStmt::MergeFrom(
          from._internal_create_foreign_server_stmt());
      break;
    }
    case kAlterForeignServerStmt: {
      _this->_internal_mutable_alter_foreign_server_stmt()->::pg_query::AlterForeignServerStmt::MergeFrom(
          from._internal_alter_foreign_server_stmt());
      break;
    }
    case kCreateForeignTableStmt: {
      _this->_internal_mutable_create_foreign_table_stmt()->::pg_query::CreateForeignTableStmt::MergeFrom(
          from._internal_create_foreign_table_stmt());
      break;
    }
    case kCreateUserMappingStmt: {
      _this->_internal_mutable_create_user_mapping_stmt()->::pg_query::CreateUserMappingStmt::MergeFrom(
          from._internal_create_user_mapping_stmt());
      break;
    }
    case kAlterUserMappingStmt: {
      _this->_internal_mutable_alter_user_mapping_stmt()->::pg_query::AlterUserMappingStmt::MergeFrom(
          from._internal_alter_user_mapping_stmt());
      break;
    }
    case kDropUserMappingStmt: {
      _this->_internal_mutable_drop_user_mapping_stmt()->::pg_query::DropUserMappingStmt::MergeFrom(
          from._internal_drop_user_mapping_stmt());
      break;
    }
    case kImportForeignSchemaStmt: {
      _this->_internal_mutable_import_foreign_schema_stmt()->::pg_query::ImportForeignSchemaStmt::MergeFrom(
          from._internal_import_foreign_schema_stmt());
      break;
    }
    case kCreatePolicyStmt: {
      _this->_internal_mutable_create_policy_stmt()->::pg_query::CreatePolicyStmt::MergeFrom(
          from._internal_create_policy_stmt());
      break;
    }
    case kAlterPolicyStmt: {
      _this->_internal_mutable_alter_policy_stmt()->::pg_query::AlterPolicyStmt::MergeFrom(
          from._internal_alter_policy_stmt());
      break;
    }
    case kCreateAmStmt: {
      _this->_internal_mutable_create_am_stmt()->::pg_query::CreateAmStmt::MergeFrom(
          from._internal_create_am_stmt());
      break;
    }
    case kCreateTrigStmt: {
      _this->_internal_mutable_create_trig_stmt()->::pg_query::CreateTrigStmt::MergeFrom(
          from._internal_create_trig_stmt());
      break;
    }
    case kCreateEventTrigStmt: {
      _this->_internal_mutable_create_event_trig_stmt()->::pg_query::CreateEventTrigStmt::MergeFrom(
          from._internal_create_event_trig_stmt());
      break;
    }
    case kAlterEventTrigStmt: {
      _this->_internal_mutable_alter_event_trig_stmt()->::pg_query::AlterEventTrigStmt::MergeFrom(
          from._internal_alter_event_trig_stmt());
      break;
    }
    case kCreatePlangStmt: {
      _this->_internal_mutable_create_plang_stmt()->::pg_query::CreatePLangStmt::MergeFrom(
          from._internal_create_plang_stmt());
      break;
    }
    case kCreateRoleStmt: {
      _this->_internal_mutable_create_role_stmt()->::pg_query::CreateRoleStmt::MergeFrom(
          from._internal_create_role_stmt());
      break;
    }
    case kAlterRoleStmt: {
      _this->_internal_mutable_alter_role_stmt()->::pg_query::AlterRoleStmt::MergeFrom(
          from._internal_alter_role_stmt());
      break;
    }
    case kAlterRoleSetStmt: {
      _this->_internal_mutable_alter_role_set_stmt()->::pg_query::AlterRoleSetStmt::MergeFrom(
          from._internal_alter_role_set_stmt());
      break;
    }
    case kDropRoleStmt: {
      _this->_internal_mutable_drop_role_stmt()->::pg_query::DropRoleStmt::MergeFrom(
          from._internal_drop_role_stmt());
      break;
    }
    case kCreateSeqStmt: {
      _this->_internal_mutable_create_seq_stmt()->::pg_query::CreateSeqStmt::MergeFrom(
          from._internal_create_seq_stmt());
      break;
    }
    case kAlterSeqStmt: {
      _this->_internal_mutable_alter_seq_stmt()->::pg_query::AlterSeqStmt::MergeFrom(
          from._internal_alter_seq_stmt());
      break;
    }
    case kDefineStmt: {
      _this->_internal_mutable_define_stmt()->::pg_query::DefineStmt::MergeFrom(
          from._internal_define_stmt());
      break;
    }
    case kCreateDomainStmt: {
      _this->_internal_mutable_create_domain_stmt()->::pg_query::CreateDomainStmt::MergeFrom(
          from._internal_create_domain_stmt());
      break;
    }
    case kCreateOpClassStmt: {
      _this->_internal_mutable_create_op_class_stmt()->::pg_query::CreateOpClassStmt::MergeFrom(
          from._internal_create_op_class_stmt());
      break;
    }
    case kCreateOpClassItem: {
      _this->_internal_mutable_create_op_class_item()->::pg_query::CreateOpClassItem::MergeFrom(
          from._internal_create_op_class_item());
      break;
    }
    case kCreateOpFamilyStmt: {
      _this->_internal_mutable_create_op_family_stmt()->::pg_query::CreateOpFamilyStmt::MergeFrom(
          from._internal_create_op_family_stmt());
      break;
    }
    case kAlterOpFamilyStmt: {
      _this->_internal_mutable_alter_op_family_stmt()->::pg_query::AlterOpFamilyStmt::MergeFrom(
          from._internal_alter_op_family_stmt());
      break;
    }
    case kDropStmt: {
      _this->_internal_mutable_drop_stmt()->::pg_query::DropStmt::MergeFrom(
          from._internal_drop_stmt());
      break;
    }
    case kTruncateStmt: {
      _this->_internal_mutable_truncate_stmt()->::pg_query::TruncateStmt::MergeFrom(
          from._internal_truncate_stmt());
      break;
    }
    case kCommentStmt: {
      _this->_internal_mutable_comment_stmt()->::pg_query::CommentStmt::MergeFrom(
          from._internal_comment_stmt());
      break;
    }
    case kSecLabelStmt: {
      _this->_internal_mutable_sec_label_stmt()->::pg_query::SecLabelStmt::MergeFrom(
          from._internal_sec_label_stmt());
      break;
    }
    case kDeclareCursorStmt: {
      _this->_internal_mutable_declare_cursor_stmt()->::pg_query::DeclareCursorStmt::MergeFrom(
          from._internal_declare_cursor_stmt());
      break;
    }
    case kClosePortalStmt: {
      _this->_internal_mutable_close_portal_stmt()->::pg_query::ClosePortalStmt::MergeFrom(
          from._internal_close_portal_stmt());
      break;
    }
    case kFetchStmt: {
      _this->_internal_mutable_fetch_stmt()->::pg_query::FetchStmt::MergeFrom(
          from._internal_fetch_stmt());
      break;
    }
    case kIndexStmt: {
      _this->_internal_mutable_index_stmt()->::pg_query::IndexStmt::MergeFrom(
          from._internal_index_stmt());
      break;
    }
    case kCreateStatsStmt: {
      _this->_internal_mutable_create_stats_stmt()->::pg_query::CreateStatsStmt::MergeFrom(
          from._internal_create_stats_stmt());
      break;
    }
    case kStatsElem: {
      _this->_internal_mutable_stats_elem()->::pg_query::StatsElem::MergeFrom(
          from._internal_stats_elem());
      break;
    }
    case kAlterStatsStmt: {
      _this->_internal_mutable_alter_stats_stmt()->::pg_query::AlterStatsStmt::MergeFrom(
          from._internal_alter_stats_stmt());
      break;
    }
    case kCreateFunctionStmt: {
      _this->_internal_mutable_create_function_stmt()->::pg_query::CreateFunctionStmt::MergeFrom(
          from._internal_create_function_stmt());
      break;
    }
    case kFunctionParameter: {
      _this->_internal_mutable_function_parameter()->::pg_query::FunctionParameter::MergeFrom(
          from._internal_function_parameter());
      break;
    }
    case kAlterFunctionStmt: {
      _this->_internal_mutable_alter_function_stmt()->::pg_query::AlterFunctionStmt::MergeFrom(
          from._internal_alter_function_stmt());
      break;
    }
    case kDoStmt: {
      _this->_internal_mutable_do_stmt()->::pg_query::DoStmt::MergeFrom(
          from._internal_do_stmt());
      break;
    }
    case kInlineCodeBlock: {
      _this->_internal_mutable_inline_code_block()->::pg_query::InlineCodeBlock::MergeFrom(
          from._internal_inline_code_block());
      break;
    }
    case kCallStmt: {
      _this->_internal_mutable_call_stmt()->::pg_query::CallStmt::MergeFrom(
          from._internal_call_stmt());
      break;
    }
    case kCallContext: {
      _this->_internal_mutable_call_context()->::pg_query::CallContext::MergeFrom(
          from._internal_call_context());
      break;
    }
    case kRenameStmt: {
      _this->_internal_mutable_rename_stmt()->::pg_query::RenameStmt::MergeFrom(
          from._internal_rename_stmt());
      break;
    }
    case kAlterObjectDependsStmt: {
      _this->_internal_mutable_alter_object_depends_stmt()->::pg_query::AlterObjectDependsStmt::MergeFrom(
          from._internal_alter_object_depends_stmt());
      break;
    }
    case kAlterObjectSchemaStmt: {
      _this->_internal_mutable_alter_object_schema_stmt()->::pg_query::AlterObjectSchemaStmt::MergeFrom(
          from._internal_alter_object_schema_stmt());
      break;
    }
    case kAlterOwnerStmt: {
      _this->_internal_mutable_alter_owner_stmt()->::pg_query::AlterOwnerStmt::MergeFrom(
          from._internal_alter_owner_stmt());
      break;
    }
    case kAlterOperatorStmt: {
      _this->_internal_mutable_alter_operator_stmt()->::pg_query::AlterOperatorStmt::MergeFrom(
          from._internal_alter_operator_stmt());
      break;
    }
    case kAlterTypeStmt: {
      _this->_internal_mutable_alter_type_stmt()->::pg_query::AlterTypeStmt::MergeFrom(
          from._internal_alter_type_stmt());
      break;
    }
    case kRuleStmt: {
      _this->_internal_mutable_rule_stmt()->::pg_query::RuleStmt::MergeFrom(
          from._internal_rule_stmt());
      break;
    }
    case kNotifyStmt: {
      _this->_internal_mutable_notify_stmt()->::pg_query::NotifyStmt::MergeFrom(
          from._internal_notify_stmt());
      break;
    }
    case kListenStmt: {
      _this->_internal_mutable_listen_stmt()->::pg_query::ListenStmt::MergeFrom(
          from._internal_listen_stmt());
      break;
    }
    case kUnlistenStmt: {
      _this->_internal_mutable_unlisten_stmt()->::pg_query::UnlistenStmt::MergeFrom(
          from._internal_unlisten_stmt());
      break;
    }
    case kTransactionStmt: {
      _this->_internal_mutable_transaction_stmt()->::pg_query::TransactionStmt::MergeFrom(
          from._internal_transaction_stmt());
      break;
    }
    case kCompositeTypeStmt: {
      _this->_internal_mutable_composite_type_stmt()->::pg_query::CompositeTypeStmt::MergeFrom(
          from._internal_composite_type_stmt());
      break;
    }
    case kCreateEnumStmt: {
      _this->_internal_mutable_create_enum_stmt()->::pg_query::CreateEnumStmt::MergeFrom(
          from._internal_create_enum_stmt());
      break;
    }
    case kCreateRangeStmt: {
      _this->_internal_mutable_create_range_stmt()->::pg_query::CreateRangeStmt::MergeFrom(
          from._internal_create_range_stmt());
      break;
    }
    case kAlterEnumStmt: {
      _this->_internal_mutable_alter_enum_stmt()->::pg_query::AlterEnumStmt::MergeFrom(
          from._internal_alter_enum_stmt());
      break;
    }
    case kViewStmt: {
      _this->_internal_mutable_view_stmt()->::pg_query::ViewStmt::MergeFrom(
          from._internal_view_stmt());
      break;
    }
    case kLoadStmt: {
      _this->_internal_mutable_load_stmt()->::pg_query::LoadStmt::MergeFrom(
          from._internal_load_stmt());
      break;
    }
    case kCreatedbStmt: {
      _this->_internal_mutable_createdb_stmt()->::pg_query::CreatedbStmt::MergeFrom(
          from._internal_createdb_stmt());
      break;
    }
    case kAlterDatabaseStmt: {
      _this->_internal_mutable_alter_database_stmt()->::pg_query::AlterDatabaseStmt::MergeFrom(
          from._internal_alter_database_stmt());
      break;
    }
    case kAlterDatabaseRefreshCollStmt: {
      _this->_internal_mutable_alter_database_refresh_coll_stmt()->::pg_query::AlterDatabaseRefreshCollStmt::MergeFrom(
          from._internal_alter_database_refresh_coll_stmt());
      break;
    }
    case kAlterDatabaseSetStmt: {
      _this->_internal_mutable_alter_database_set_stmt()->::pg_query::AlterDatabaseSetStmt::MergeFrom(
          from._internal_alter_database_set_stmt());
      break;
    }
    case kDropdbStmt: {
      _this->_internal_mutable_dropdb_stmt()->::pg_query::DropdbStmt::MergeFrom(
          from._internal_dropdb_stmt());
      break;
    }
    case kAlterSystemStmt: {
      _this->_internal_mutable_alter_system_stmt()->::pg_query::AlterSystemStmt::MergeFrom(
          from._internal_alter_system_stmt());
      break;
    }
    case kClusterStmt: {
      _this->_internal_mutable_cluster_stmt()->::pg_query::ClusterStmt::MergeFrom(
          from._internal_cluster_stmt());
      break;
    }
    case kVacuumStmt: {
      _this->_internal_mutable_vacuum_stmt()->::pg_query::VacuumStmt::MergeFrom(
          from._internal_vacuum_stmt());
      break;
    }
    case kVacuumRelation: {
      _this->_internal_mutable_vacuum_relation()->::pg_query::VacuumRelation::MergeFrom(
          from._internal_vacuum_relation());
      break;
    }
    case kExplainStmt: {
      _this->_internal_mutable_explain_stmt()->::pg_query::ExplainStmt::MergeFrom(
          from._internal_explain_stmt());
      break;
    }
    case kCreateTableAsStmt: {
      _this->_internal_mutable_create_table_as_stmt()->::pg_query::CreateTableAsStmt::MergeFrom(
          from._internal_create_table_as_stmt());
      break;
    }
    case kRefreshMatViewStmt: {
      _this->_internal_mutable_refresh_mat_view_stmt()->::pg_query::RefreshMatViewStmt::MergeFrom(
          from._internal_refresh_mat_view_stmt());
      break;
    }
    case kCheckPointStmt: {
      _this->_internal_mutable_check_point_stmt()->::pg_query::CheckPointStmt::MergeFrom(
          from._internal_check_point_stmt());
      break;
    }
    case kDiscardStmt: {
      _this->_internal_mutable_discard_stmt()->::pg_query::DiscardStmt::MergeFrom(
          from._internal_discard_stmt());
      break;
    }
    case kLockStmt: {
      _this->_internal_mutable_lock_stmt()->::pg_query::LockStmt::MergeFrom(
          from._internal_lock_stmt());
      break;
    }
    case kConstraintsSetStmt: {
      _this->_internal_mutable_constraints_set_stmt()->::pg_query::ConstraintsSetStmt::MergeFrom(
          from._internal_constraints_set_stmt());
      break;
    }
    case kReindexStmt: {
      _this->_internal_mutable_reindex_stmt()->::pg_query::ReindexStmt::MergeFrom(
          from._internal_reindex_stmt());
      break;
    }
    case kCreateConversionStmt: {
      _this->_internal_mutable_create_conversion_stmt()->::pg_query::CreateConversionStmt::MergeFrom(
          from._internal_create_conversion_stmt());
      break;
    }
    case kCreateCastStmt: {
      _this->_internal_mutable_create_cast_stmt()->::pg_query::CreateCastStmt::MergeFrom(
          from._internal_create_cast_stmt());
      break;
    }
    case kCreateTransformStmt: {
      _this->_internal_mutable_create_transform_stmt()->::pg_query::CreateTransformStmt::MergeFrom(
          from._internal_create_transform_stmt());
      break;
    }
    case kPrepareStmt: {
      _this->_internal_mutable_prepare_stmt()->::pg_query::PrepareStmt::MergeFrom(
          from._internal_prepare_stmt());
      break;
    }
    case kExecuteStmt: {
      _this->_internal_mutable_execute_stmt()->::pg_query::ExecuteStmt::MergeFrom(
          from._internal_execute_stmt());
      break;
    }
    case kDeallocateStmt: {
      _this->_internal_mutable_deallocate_stmt()->::pg_query::DeallocateStmt::MergeFrom(
          from._internal_deallocate_stmt());
      break;
    }
    case kDropOwnedStmt: {
      _this->_internal_mutable_drop_owned_stmt()->::pg_query::DropOwnedStmt::MergeFrom(
          from._internal_drop_owned_stmt());
      break;
    }
    case kReassignOwnedStmt: {
      _this->_internal_mutable_reassign_owned_stmt()->::pg_query::ReassignOwnedStmt::MergeFrom(
          from._internal_reassign_owned_stmt());
      break;
    }
    case kAlterTsdictionaryStmt: {
      _this->_internal_mutable_alter_tsdictionary_stmt()->::pg_query::AlterTSDictionaryStmt::MergeFrom(
          from._internal_alter_tsdictionary_stmt());
      break;
    }
    case kAlterTsconfigurationStmt: {
      _this->_internal_mutable_alter_tsconfiguration_stmt()->::pg_query::AlterTSConfigurationStmt::MergeFrom(
          from._internal_alter_tsconfiguration_stmt());
      break;
    }
    case kPublicationTable: {
      _this->_internal_mutable_publication_table()->::pg_query::PublicationTable::MergeFrom(
          from._internal_publication_table());
      break;
    }
    case kPublicationObjSpec: {
      _this->_internal_mutable_publication_obj_spec()->::pg_query::PublicationObjSpec::MergeFrom(
          from._internal_publication_obj_spec());
      break;
    }
    case kCreatePublicationStmt: {
      _this->_internal_mutable_create_publication_stmt()->::pg_query::CreatePublicationStmt::MergeFrom(
          from._internal_create_publication_stmt());
      break;
    }
    case kAlterPublicationStmt: {
      _this->_internal_mutable_alter_publication_stmt()->::pg_query::AlterPublicationStmt::MergeFrom(
          from._internal_alter_publication_stmt());
      break;
    }
    case kCreateSubscriptionStmt: {
      _this->_internal_mutable_create_subscription_stmt()->::pg_query::CreateSubscriptionStmt::MergeFrom(
          from._internal_create_subscription_stmt());
      break;
    }
    case kAlterSubscriptionStmt: {
      _this->_internal_mutable_alter_subscription_stmt()->::pg_query::AlterSubscriptionStmt::MergeFrom(
          from._internal_alter_subscription_stmt());
      break;
    }
    case kDropSubscriptionStmt: {
      _this->_internal_mutable_drop_subscription_stmt()->::pg_query::DropSubscriptionStmt::MergeFrom(
          from._internal_drop_subscription_stmt());
      break;
    }
    case kInteger: {
      _this->_internal_mutable_integer()->::pg_query::Integer::MergeFrom(
          from._internal_integer());
      break;
    }
    case kFloat: {
      _this->_internal_mutable_float_()->::pg_query::Float::MergeFrom(
          from._internal_float_());
      break;
    }
    case kBoolean: {
      _this->_internal_mutable_boolean()->::pg_query::Boolean::MergeFrom(
          from._internal_boolean());
      break;
    }
    case kString: {
      _this->_internal_mutable_string()->::pg_query::String::MergeFrom(
          from._internal_string());
      break;
    }
    case kBitString: {
      _this->_internal_mutable_bit_string()->::pg_query::BitString::MergeFrom(
          from._internal_bit_string());
      break;
    }
    case kList: {
      _this->_internal_mutable_list()->::pg_query::List::MergeFrom(
          from._internal_list());
      break;
    }
    case kIntList: {
      _this->_internal_mutable_int_list()->::pg_query::IntList::MergeFrom(
          from._internal_int_list());
      break;
    }
    case kOidList: {
      _this->_internal_mutable_oid_list()->::pg_query::OidList::MergeFrom(
          from._internal_oid_list());
      break;
    }
    case kAConst: {
      _this->_internal_mutable_a_const()->::pg_query::A_Const::MergeFrom(
          from._internal_a_const());
      break;
    }
    case NODE_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Node::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Node::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Node::InternalSwap(Node* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.node_, other->_impl_.node_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata Node::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[2]);
}
// ===================================================================

class Integer::_Internal {
 public:
};

Integer::Integer(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Integer)
}
Integer::Integer(
    ::google::protobuf::Arena* arena, const Integer& from)
    : Integer(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE Integer::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void Integer::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.ival_ = {};
}
Integer::~Integer() {
  // @@protoc_insertion_point(destructor:pg_query.Integer)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Integer::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Integer::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Integer)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.ival_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Integer::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> Integer::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_Integer_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 ival = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Integer, _impl_.ival_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(Integer, _impl_.ival_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 ival = 1;
    {PROTOBUF_FIELD_OFFSET(Integer, _impl_.ival_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* Integer::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Integer)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 ival = 1;
  if (this->_internal_ival() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_ival(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Integer)
  return target;
}

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

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

  // int32 ival = 1;
  if (this->_internal_ival() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_ival());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Integer::_class_data_ = {
    Integer::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Integer::GetClassData() const {
  return &_class_data_;
}

void Integer::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Integer*>(&to_msg);
  auto& from = static_cast<const Integer&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Integer)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_ival() != 0) {
    _this->_internal_set_ival(from._internal_ival());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Integer::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Integer::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Integer::InternalSwap(Integer* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.ival_, other->_impl_.ival_);
}

::google::protobuf::Metadata Integer::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[3]);
}
// ===================================================================

class Float::_Internal {
 public:
};

Float::Float(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Float)
}
inline PROTOBUF_NDEBUG_INLINE Float::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : fval_(arena, from.fval_),
        _cached_size_{0} {}

Float::Float(
    ::google::protobuf::Arena* arena,
    const Float& from)
    : ::google::protobuf::Message(arena) {
  Float* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.Float)
}
inline PROTOBUF_NDEBUG_INLINE Float::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : fval_(arena),
        _cached_size_{0} {}

inline void Float::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Float::~Float() {
  // @@protoc_insertion_point(destructor:pg_query.Float)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Float::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.fval_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Float::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Float)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.fval_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Float::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 27, 2> Float::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_Float_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string fval = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Float, _impl_.fval_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string fval = 1;
    {PROTOBUF_FIELD_OFFSET(Float, _impl_.fval_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\16\4\0\0\0\0\0\0"
    "pg_query.Float"
    "fval"
  }},
};

::uint8_t* Float::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Float)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string fval = 1;
  if (!this->_internal_fval().empty()) {
    const std::string& _s = this->_internal_fval();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Float.fval");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Float)
  return target;
}

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

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

  // string fval = 1;
  if (!this->_internal_fval().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Float::_class_data_ = {
    Float::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Float::GetClassData() const {
  return &_class_data_;
}

void Float::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Float*>(&to_msg);
  auto& from = static_cast<const Float&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Float)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_fval().empty()) {
    _this->_internal_set_fval(from._internal_fval());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Float::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Float::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Float::InternalSwap(Float* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fval_, &other->_impl_.fval_, arena);
}

::google::protobuf::Metadata Float::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[4]);
}
// ===================================================================

class Boolean::_Internal {
 public:
};

Boolean::Boolean(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Boolean)
}
Boolean::Boolean(
    ::google::protobuf::Arena* arena, const Boolean& from)
    : Boolean(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE Boolean::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void Boolean::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.boolval_ = {};
}
Boolean::~Boolean() {
  // @@protoc_insertion_point(destructor:pg_query.Boolean)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Boolean::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Boolean::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Boolean)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.boolval_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Boolean::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> Boolean::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_Boolean_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool boolval = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Boolean, _impl_.boolval_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(Boolean, _impl_.boolval_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool boolval = 1;
    {PROTOBUF_FIELD_OFFSET(Boolean, _impl_.boolval_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* Boolean::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Boolean)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool boolval = 1;
  if (this->_internal_boolval() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_boolval(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Boolean)
  return target;
}

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

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

  // bool boolval = 1;
  if (this->_internal_boolval() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Boolean::_class_data_ = {
    Boolean::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Boolean::GetClassData() const {
  return &_class_data_;
}

void Boolean::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Boolean*>(&to_msg);
  auto& from = static_cast<const Boolean&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Boolean)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_boolval() != 0) {
    _this->_internal_set_boolval(from._internal_boolval());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Boolean::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Boolean::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Boolean::InternalSwap(Boolean* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.boolval_, other->_impl_.boolval_);
}

::google::protobuf::Metadata Boolean::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[5]);
}
// ===================================================================

class String::_Internal {
 public:
};

String::String(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.String)
}
inline PROTOBUF_NDEBUG_INLINE String::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : sval_(arena, from.sval_),
        _cached_size_{0} {}

String::String(
    ::google::protobuf::Arena* arena,
    const String& from)
    : ::google::protobuf::Message(arena) {
  String* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.String)
}
inline PROTOBUF_NDEBUG_INLINE String::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : sval_(arena),
        _cached_size_{0} {}

inline void String::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
String::~String() {
  // @@protoc_insertion_point(destructor:pg_query.String)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void String::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.sval_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void String::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.String)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.sval_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* String::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 28, 2> String::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_String_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string sval = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(String, _impl_.sval_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string sval = 1;
    {PROTOBUF_FIELD_OFFSET(String, _impl_.sval_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\17\4\0\0\0\0\0\0"
    "pg_query.String"
    "sval"
  }},
};

::uint8_t* String::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.String)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string sval = 1;
  if (!this->_internal_sval().empty()) {
    const std::string& _s = this->_internal_sval();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.String.sval");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.String)
  return target;
}

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

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

  // string sval = 1;
  if (!this->_internal_sval().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_sval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData String::_class_data_ = {
    String::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* String::GetClassData() const {
  return &_class_data_;
}

void String::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<String*>(&to_msg);
  auto& from = static_cast<const String&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.String)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_sval().empty()) {
    _this->_internal_set_sval(from._internal_sval());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool String::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* String::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void String::InternalSwap(String* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.sval_, &other->_impl_.sval_, arena);
}

::google::protobuf::Metadata String::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[6]);
}
// ===================================================================

class BitString::_Internal {
 public:
};

BitString::BitString(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BitString)
}
inline PROTOBUF_NDEBUG_INLINE BitString::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : bsval_(arena, from.bsval_),
        _cached_size_{0} {}

BitString::BitString(
    ::google::protobuf::Arena* arena,
    const BitString& from)
    : ::google::protobuf::Message(arena) {
  BitString* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.BitString)
}
inline PROTOBUF_NDEBUG_INLINE BitString::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : bsval_(arena),
        _cached_size_{0} {}

inline void BitString::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
BitString::~BitString() {
  // @@protoc_insertion_point(destructor:pg_query.BitString)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BitString::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.bsval_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void BitString::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.BitString)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.bsval_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BitString::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 32, 2> BitString::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_BitString_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string bsval = 1;
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(BitString, _impl_.bsval_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string bsval = 1;
    {PROTOBUF_FIELD_OFFSET(BitString, _impl_.bsval_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\22\5\0\0\0\0\0\0"
    "pg_query.BitString"
    "bsval"
  }},
};

::uint8_t* BitString::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BitString)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string bsval = 1;
  if (!this->_internal_bsval().empty()) {
    const std::string& _s = this->_internal_bsval();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.BitString.bsval");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.BitString)
  return target;
}

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

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

  // string bsval = 1;
  if (!this->_internal_bsval().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_bsval());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData BitString::_class_data_ = {
    BitString::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* BitString::GetClassData() const {
  return &_class_data_;
}

void BitString::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<BitString*>(&to_msg);
  auto& from = static_cast<const BitString&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BitString)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_bsval().empty()) {
    _this->_internal_set_bsval(from._internal_bsval());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool BitString::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* BitString::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void BitString::InternalSwap(BitString* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.bsval_, &other->_impl_.bsval_, arena);
}

::google::protobuf::Metadata BitString::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[7]);
}
// ===================================================================

class List::_Internal {
 public:
};

List::List(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.List)
}
inline PROTOBUF_NDEBUG_INLINE List::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : items_{visibility, arena, from.items_},
        _cached_size_{0} {}

List::List(
    ::google::protobuf::Arena* arena,
    const List& from)
    : ::google::protobuf::Message(arena) {
  List* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.List)
}
inline PROTOBUF_NDEBUG_INLINE List::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : items_{visibility, arena},
        _cached_size_{0} {}

inline void List::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
List::~List() {
  // @@protoc_insertion_point(destructor:pg_query.List)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void List::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void List::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.List)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.items_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* List::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> List::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_List_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node items = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(List, _impl_.items_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node items = 1;
    {PROTOBUF_FIELD_OFFSET(List, _impl_.items_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* List::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.List)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.List)
  return target;
}

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

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

  // repeated .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData List::_class_data_ = {
    List::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* List::GetClassData() const {
  return &_class_data_;
}

void List::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<List*>(&to_msg);
  auto& from = static_cast<const List&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.List)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_items()->MergeFrom(
      from._internal_items());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool List::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* List::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void List::InternalSwap(List* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::google::protobuf::Metadata List::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[8]);
}
// ===================================================================

class OidList::_Internal {
 public:
};

OidList::OidList(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OidList)
}
inline PROTOBUF_NDEBUG_INLINE OidList::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : items_{visibility, arena, from.items_},
        _cached_size_{0} {}

OidList::OidList(
    ::google::protobuf::Arena* arena,
    const OidList& from)
    : ::google::protobuf::Message(arena) {
  OidList* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.OidList)
}
inline PROTOBUF_NDEBUG_INLINE OidList::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : items_{visibility, arena},
        _cached_size_{0} {}

inline void OidList::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
OidList::~OidList() {
  // @@protoc_insertion_point(destructor:pg_query.OidList)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void OidList::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void OidList::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OidList)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.items_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* OidList::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> OidList::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_OidList_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node items = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(OidList, _impl_.items_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node items = 1;
    {PROTOBUF_FIELD_OFFSET(OidList, _impl_.items_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* OidList::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OidList)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.OidList)
  return target;
}

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

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

  // repeated .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData OidList::_class_data_ = {
    OidList::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* OidList::GetClassData() const {
  return &_class_data_;
}

void OidList::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<OidList*>(&to_msg);
  auto& from = static_cast<const OidList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OidList)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_items()->MergeFrom(
      from._internal_items());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool OidList::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* OidList::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void OidList::InternalSwap(OidList* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::google::protobuf::Metadata OidList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[9]);
}
// ===================================================================

class IntList::_Internal {
 public:
};

IntList::IntList(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IntList)
}
inline PROTOBUF_NDEBUG_INLINE IntList::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : items_{visibility, arena, from.items_},
        _cached_size_{0} {}

IntList::IntList(
    ::google::protobuf::Arena* arena,
    const IntList& from)
    : ::google::protobuf::Message(arena) {
  IntList* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.IntList)
}
inline PROTOBUF_NDEBUG_INLINE IntList::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : items_{visibility, arena},
        _cached_size_{0} {}

inline void IntList::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
IntList::~IntList() {
  // @@protoc_insertion_point(destructor:pg_query.IntList)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void IntList::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void IntList::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IntList)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.items_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* IntList::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> IntList::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_IntList_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node items = 1;
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(IntList, _impl_.items_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node items = 1;
    {PROTOBUF_FIELD_OFFSET(IntList, _impl_.items_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* IntList::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IntList)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node items = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.IntList)
  return target;
}

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

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

  // repeated .pg_query.Node items = 1;
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData IntList::_class_data_ = {
    IntList::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* IntList::GetClassData() const {
  return &_class_data_;
}

void IntList::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<IntList*>(&to_msg);
  auto& from = static_cast<const IntList&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IntList)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_items()->MergeFrom(
      from._internal_items());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool IntList::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* IntList::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void IntList::InternalSwap(IntList* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
}

::google::protobuf::Metadata IntList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[10]);
}
// ===================================================================

class A_Const::_Internal {
 public:
  static constexpr ::int32_t kOneofCaseOffset =
    PROTOBUF_FIELD_OFFSET(::pg_query::A_Const, _impl_._oneof_case_);
  static const ::pg_query::Integer& ival(const A_Const* msg);
  static const ::pg_query::Float& fval(const A_Const* msg);
  static const ::pg_query::Boolean& boolval(const A_Const* msg);
  static const ::pg_query::String& sval(const A_Const* msg);
  static const ::pg_query::BitString& bsval(const A_Const* msg);
};

const ::pg_query::Integer& A_Const::_Internal::ival(const A_Const* msg) {
  return *msg->_impl_.val_.ival_;
}
const ::pg_query::Float& A_Const::_Internal::fval(const A_Const* msg) {
  return *msg->_impl_.val_.fval_;
}
const ::pg_query::Boolean& A_Const::_Internal::boolval(const A_Const* msg) {
  return *msg->_impl_.val_.boolval_;
}
const ::pg_query::String& A_Const::_Internal::sval(const A_Const* msg) {
  return *msg->_impl_.val_.sval_;
}
const ::pg_query::BitString& A_Const::_Internal::bsval(const A_Const* msg) {
  return *msg->_impl_.val_.bsval_;
}
void A_Const::set_allocated_ival(::pg_query::Integer* ival) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_val();
  if (ival) {
    ::google::protobuf::Arena* submessage_arena = ival->GetArena();
    if (message_arena != submessage_arena) {
      ival = ::google::protobuf::internal::GetOwnedMessage(message_arena, ival, submessage_arena);
    }
    set_has_ival();
    _impl_.val_.ival_ = ival;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.ival)
}
void A_Const::set_allocated_fval(::pg_query::Float* fval) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_val();
  if (fval) {
    ::google::protobuf::Arena* submessage_arena = fval->GetArena();
    if (message_arena != submessage_arena) {
      fval = ::google::protobuf::internal::GetOwnedMessage(message_arena, fval, submessage_arena);
    }
    set_has_fval();
    _impl_.val_.fval_ = fval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.fval)
}
void A_Const::set_allocated_boolval(::pg_query::Boolean* boolval) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_val();
  if (boolval) {
    ::google::protobuf::Arena* submessage_arena = boolval->GetArena();
    if (message_arena != submessage_arena) {
      boolval = ::google::protobuf::internal::GetOwnedMessage(message_arena, boolval, submessage_arena);
    }
    set_has_boolval();
    _impl_.val_.boolval_ = boolval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.boolval)
}
void A_Const::set_allocated_sval(::pg_query::String* sval) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_val();
  if (sval) {
    ::google::protobuf::Arena* submessage_arena = sval->GetArena();
    if (message_arena != submessage_arena) {
      sval = ::google::protobuf::internal::GetOwnedMessage(message_arena, sval, submessage_arena);
    }
    set_has_sval();
    _impl_.val_.sval_ = sval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.sval)
}
void A_Const::set_allocated_bsval(::pg_query::BitString* bsval) {
  ::google::protobuf::Arena* message_arena = GetArena();
  clear_val();
  if (bsval) {
    ::google::protobuf::Arena* submessage_arena = bsval->GetArena();
    if (message_arena != submessage_arena) {
      bsval = ::google::protobuf::internal::GetOwnedMessage(message_arena, bsval, submessage_arena);
    }
    set_has_bsval();
    _impl_.val_.bsval_ = bsval;
  }
  // @@protoc_insertion_point(field_set_allocated:pg_query.A_Const.bsval)
}
A_Const::A_Const(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Const)
}
inline PROTOBUF_NDEBUG_INLINE A_Const::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : val_{},
        _cached_size_{0},
        _oneof_case_{from._oneof_case_[0]} {}

A_Const::A_Const(
    ::google::protobuf::Arena* arena,
    const A_Const& from)
    : ::google::protobuf::Message(arena) {
  A_Const* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, isnull_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, isnull_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, isnull_) +
               sizeof(Impl_::location_));
  switch (val_case()) {
    case VAL_NOT_SET:
      break;
      case kIval:
        _impl_.val_.ival_ = CreateMaybeMessage<::pg_query::Integer>(arena, *from._impl_.val_.ival_);
        break;
      case kFval:
        _impl_.val_.fval_ = CreateMaybeMessage<::pg_query::Float>(arena, *from._impl_.val_.fval_);
        break;
      case kBoolval:
        _impl_.val_.boolval_ = CreateMaybeMessage<::pg_query::Boolean>(arena, *from._impl_.val_.boolval_);
        break;
      case kSval:
        _impl_.val_.sval_ = CreateMaybeMessage<::pg_query::String>(arena, *from._impl_.val_.sval_);
        break;
      case kBsval:
        _impl_.val_.bsval_ = CreateMaybeMessage<::pg_query::BitString>(arena, *from._impl_.val_.bsval_);
        break;
  }

  // @@protoc_insertion_point(copy_constructor:pg_query.A_Const)
}
inline PROTOBUF_NDEBUG_INLINE A_Const::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : val_{},
        _cached_size_{0},
        _oneof_case_{} {}

inline void A_Const::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, isnull_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, isnull_) +
               sizeof(Impl_::location_));
}
A_Const::~A_Const() {
  // @@protoc_insertion_point(destructor:pg_query.A_Const)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void A_Const::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  if (has_val()) {
    clear_val();
  }
  _impl_.~Impl_();
}

void A_Const::clear_val() {
// @@protoc_insertion_point(one_of_clear_start:pg_query.A_Const)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  switch (val_case()) {
    case kIval: {
      if (GetArena() == nullptr) {
        delete _impl_.val_.ival_;
      }
      break;
    }
    case kFval: {
      if (GetArena() == nullptr) {
        delete _impl_.val_.fval_;
      }
      break;
    }
    case kBoolval: {
      if (GetArena() == nullptr) {
        delete _impl_.val_.boolval_;
      }
      break;
    }
    case kSval: {
      if (GetArena() == nullptr) {
        delete _impl_.val_.sval_;
      }
      break;
    }
    case kBsval: {
      if (GetArena() == nullptr) {
        delete _impl_.val_.bsval_;
      }
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  _impl_._oneof_case_[0] = VAL_NOT_SET;
}


PROTOBUF_NOINLINE void A_Const::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Const)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.isnull_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.isnull_)) + sizeof(_impl_.location_));
  clear_val();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* A_Const::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 7, 5, 0, 2> A_Const::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    11, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965728,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_A_Const_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool isnull = 10;
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(A_Const, _impl_.isnull_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(A_Const, _impl_.isnull_)}},
    // int32 location = 11;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(A_Const, _impl_.location_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(A_Const, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Integer ival = 1;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.val_.ival_), _Internal::kOneofCaseOffset + 0, 0,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Float fval = 2;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.val_.fval_), _Internal::kOneofCaseOffset + 0, 1,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Boolean boolval = 3;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.val_.boolval_), _Internal::kOneofCaseOffset + 0, 2,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.String sval = 4;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.val_.sval_), _Internal::kOneofCaseOffset + 0, 3,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BitString bsval = 5;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.val_.bsval_), _Internal::kOneofCaseOffset + 0, 4,
    (0 | ::_fl::kFcOneof | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool isnull = 10;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.isnull_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 11;
    {PROTOBUF_FIELD_OFFSET(A_Const, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Integer>()},
    {::_pbi::TcParser::GetTable<::pg_query::Float>()},
    {::_pbi::TcParser::GetTable<::pg_query::Boolean>()},
    {::_pbi::TcParser::GetTable<::pg_query::String>()},
    {::_pbi::TcParser::GetTable<::pg_query::BitString>()},
  }}, {{
  }},
};

::uint8_t* A_Const::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Const)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  switch (val_case()) {
    case kIval: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          1, _Internal::ival(this),
          _Internal::ival(this).GetCachedSize(), target, stream);
      break;
    }
    case kFval: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          2, _Internal::fval(this),
          _Internal::fval(this).GetCachedSize(), target, stream);
      break;
    }
    case kBoolval: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          3, _Internal::boolval(this),
          _Internal::boolval(this).GetCachedSize(), target, stream);
      break;
    }
    case kSval: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          4, _Internal::sval(this),
          _Internal::sval(this).GetCachedSize(), target, stream);
      break;
    }
    case kBsval: {
      target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
          5, _Internal::bsval(this),
          _Internal::bsval(this).GetCachedSize(), target, stream);
      break;
    }
    default:
      break;
  }
  // bool isnull = 10;
  if (this->_internal_isnull() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this->_internal_isnull(), target);
  }

  // int32 location = 11;
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_Const)
  return target;
}

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

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

  // bool isnull = 10;
  if (this->_internal_isnull() != 0) {
    total_size += 2;
  }

  // int32 location = 11;
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  switch (val_case()) {
    // .pg_query.Integer ival = 1;
    case kIval: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_.ival_);
      break;
    }
    // .pg_query.Float fval = 2;
    case kFval: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_.fval_);
      break;
    }
    // .pg_query.Boolean boolval = 3;
    case kBoolval: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_.boolval_);
      break;
    }
    // .pg_query.String sval = 4;
    case kSval: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_.sval_);
      break;
    }
    // .pg_query.BitString bsval = 5;
    case kBsval: {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_.bsval_);
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData A_Const::_class_data_ = {
    A_Const::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* A_Const::GetClassData() const {
  return &_class_data_;
}

void A_Const::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<A_Const*>(&to_msg);
  auto& from = static_cast<const A_Const&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Const)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_isnull() != 0) {
    _this->_internal_set_isnull(from._internal_isnull());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  switch (from.val_case()) {
    case kIval: {
      _this->_internal_mutable_ival()->::pg_query::Integer::MergeFrom(
          from._internal_ival());
      break;
    }
    case kFval: {
      _this->_internal_mutable_fval()->::pg_query::Float::MergeFrom(
          from._internal_fval());
      break;
    }
    case kBoolval: {
      _this->_internal_mutable_boolval()->::pg_query::Boolean::MergeFrom(
          from._internal_boolval());
      break;
    }
    case kSval: {
      _this->_internal_mutable_sval()->::pg_query::String::MergeFrom(
          from._internal_sval());
      break;
    }
    case kBsval: {
      _this->_internal_mutable_bsval()->::pg_query::BitString::MergeFrom(
          from._internal_bsval());
      break;
    }
    case VAL_NOT_SET: {
      break;
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool A_Const::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* A_Const::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void A_Const::InternalSwap(A_Const* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Const, _impl_.location_)
      + sizeof(A_Const::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(A_Const, _impl_.isnull_)>(
          reinterpret_cast<char*>(&_impl_.isnull_),
          reinterpret_cast<char*>(&other->_impl_.isnull_));
  swap(_impl_.val_, other->_impl_.val_);
  swap(_impl_._oneof_case_[0], other->_impl_._oneof_case_[0]);
}

::google::protobuf::Metadata A_Const::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[11]);
}
// ===================================================================

class Alias::_Internal {
 public:
};

Alias::Alias(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Alias)
}
inline PROTOBUF_NDEBUG_INLINE Alias::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : colnames_{visibility, arena, from.colnames_},
        aliasname_(arena, from.aliasname_),
        _cached_size_{0} {}

Alias::Alias(
    ::google::protobuf::Arena* arena,
    const Alias& from)
    : ::google::protobuf::Message(arena) {
  Alias* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.Alias)
}
inline PROTOBUF_NDEBUG_INLINE Alias::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : colnames_{visibility, arena},
        aliasname_(arena),
        _cached_size_{0} {}

inline void Alias::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
Alias::~Alias() {
  // @@protoc_insertion_point(destructor:pg_query.Alias)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Alias::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.aliasname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Alias::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Alias)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.colnames_.Clear();
  _impl_.aliasname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Alias::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 32, 2> Alias::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Alias_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Alias, _impl_.colnames_)}},
    // string aliasname = 1 [json_name = "aliasname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(Alias, _impl_.aliasname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string aliasname = 1 [json_name = "aliasname"];
    {PROTOBUF_FIELD_OFFSET(Alias, _impl_.aliasname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
    {PROTOBUF_FIELD_OFFSET(Alias, _impl_.colnames_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\16\11\0\0\0\0\0\0"
    "pg_query.Alias"
    "aliasname"
  }},
};

::uint8_t* Alias::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Alias)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string aliasname = 1 [json_name = "aliasname"];
  if (!this->_internal_aliasname().empty()) {
    const std::string& _s = this->_internal_aliasname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Alias.aliasname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_colnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Alias)
  return target;
}

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

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

  // repeated .pg_query.Node colnames = 2 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->_internal_colnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string aliasname = 1 [json_name = "aliasname"];
  if (!this->_internal_aliasname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_aliasname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Alias::_class_data_ = {
    Alias::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Alias::GetClassData() const {
  return &_class_data_;
}

void Alias::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Alias*>(&to_msg);
  auto& from = static_cast<const Alias&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Alias)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_colnames()->MergeFrom(
      from._internal_colnames());
  if (!from._internal_aliasname().empty()) {
    _this->_internal_set_aliasname(from._internal_aliasname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Alias::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Alias::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Alias::InternalSwap(Alias* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.aliasname_, &other->_impl_.aliasname_, arena);
}

::google::protobuf::Metadata Alias::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[12]);
}
// ===================================================================

class RangeVar::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeVar>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeVar, _impl_._has_bits_);
  static const ::pg_query::Alias& alias(const RangeVar* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Alias& RangeVar::_Internal::alias(const RangeVar* msg) {
  return *msg->_impl_.alias_;
}
RangeVar::RangeVar(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeVar)
}
inline PROTOBUF_NDEBUG_INLINE RangeVar::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        catalogname_(arena, from.catalogname_),
        schemaname_(arena, from.schemaname_),
        relname_(arena, from.relname_),
        relpersistence_(arena, from.relpersistence_) {}

RangeVar::RangeVar(
    ::google::protobuf::Arena* arena,
    const RangeVar& from)
    : ::google::protobuf::Message(arena) {
  RangeVar* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.alias_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, inh_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, inh_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, inh_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeVar)
}
inline PROTOBUF_NDEBUG_INLINE RangeVar::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        catalogname_(arena),
        schemaname_(arena),
        relname_(arena),
        relpersistence_(arena) {}

inline void RangeVar::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, alias_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, alias_) +
               sizeof(Impl_::location_));
}
RangeVar::~RangeVar() {
  // @@protoc_insertion_point(destructor:pg_query.RangeVar)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeVar::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.catalogname_.Destroy();
  _impl_.schemaname_.Destroy();
  _impl_.relname_.Destroy();
  _impl_.relpersistence_.Destroy();
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeVar::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeVar)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.catalogname_.ClearToEmpty();
  _impl_.schemaname_.ClearToEmpty();
  _impl_.relname_.ClearToEmpty();
  _impl_.relpersistence_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.alias_ != nullptr);
    _impl_.alias_->Clear();
  }
  ::memset(&_impl_.inh_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.inh_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeVar::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 68, 2> RangeVar::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeVar, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeVar_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string catalogname = 1 [json_name = "catalogname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.catalogname_)}},
    // string schemaname = 2 [json_name = "schemaname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.schemaname_)}},
    // string relname = 3 [json_name = "relname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.relname_)}},
    // bool inh = 4 [json_name = "inh"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeVar, _impl_.inh_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.inh_)}},
    // string relpersistence = 5 [json_name = "relpersistence"];
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.relpersistence_)}},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.alias_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeVar, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string catalogname = 1 [json_name = "catalogname"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.catalogname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string schemaname = 2 [json_name = "schemaname"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.schemaname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string relname = 3 [json_name = "relname"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.relname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool inh = 4 [json_name = "inh"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.inh_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string relpersistence = 5 [json_name = "relpersistence"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.relpersistence_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.alias_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
  }}, {{
    "\21\13\12\7\0\16\0\0"
    "pg_query.RangeVar"
    "catalogname"
    "schemaname"
    "relname"
    "relpersistence"
  }},
};

::uint8_t* RangeVar::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeVar)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string catalogname = 1 [json_name = "catalogname"];
  if (!this->_internal_catalogname().empty()) {
    const std::string& _s = this->_internal_catalogname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeVar.catalogname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string schemaname = 2 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    const std::string& _s = this->_internal_schemaname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeVar.schemaname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string relname = 3 [json_name = "relname"];
  if (!this->_internal_relname().empty()) {
    const std::string& _s = this->_internal_relname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeVar.relname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // bool inh = 4 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_inh(), target);
  }

  // string relpersistence = 5 [json_name = "relpersistence"];
  if (!this->_internal_relpersistence().empty()) {
    const std::string& _s = this->_internal_relpersistence();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeVar.relpersistence");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeVar)
  return target;
}

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

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

  // string catalogname = 1 [json_name = "catalogname"];
  if (!this->_internal_catalogname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_catalogname());
  }

  // string schemaname = 2 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_schemaname());
  }

  // string relname = 3 [json_name = "relname"];
  if (!this->_internal_relname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_relname());
  }

  // string relpersistence = 5 [json_name = "relpersistence"];
  if (!this->_internal_relpersistence().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_relpersistence());
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
  }

  // bool inh = 4 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    total_size += 2;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeVar::_class_data_ = {
    RangeVar::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeVar::GetClassData() const {
  return &_class_data_;
}

void RangeVar::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeVar*>(&to_msg);
  auto& from = static_cast<const RangeVar&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeVar)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_catalogname().empty()) {
    _this->_internal_set_catalogname(from._internal_catalogname());
  }
  if (!from._internal_schemaname().empty()) {
    _this->_internal_set_schemaname(from._internal_schemaname());
  }
  if (!from._internal_relname().empty()) {
    _this->_internal_set_relname(from._internal_relname());
  }
  if (!from._internal_relpersistence().empty()) {
    _this->_internal_set_relpersistence(from._internal_relpersistence());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_inh() != 0) {
    _this->_internal_set_inh(from._internal_inh());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeVar::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeVar::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeVar::InternalSwap(RangeVar* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.catalogname_, &other->_impl_.catalogname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.schemaname_, &other->_impl_.schemaname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.relname_, &other->_impl_.relname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.relpersistence_, &other->_impl_.relpersistence_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.location_)
      + sizeof(RangeVar::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeVar, _impl_.alias_)>(
          reinterpret_cast<char*>(&_impl_.alias_),
          reinterpret_cast<char*>(&other->_impl_.alias_));
}

::google::protobuf::Metadata RangeVar::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[13]);
}
// ===================================================================

class TableFunc::_Internal {
 public:
  using HasBits = decltype(std::declval<TableFunc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TableFunc, _impl_._has_bits_);
  static const ::pg_query::Node& docexpr(const TableFunc* msg);
  static void set_has_docexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& rowexpr(const TableFunc* msg);
  static void set_has_rowexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& plan(const TableFunc* msg);
  static void set_has_plan(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& TableFunc::_Internal::docexpr(const TableFunc* msg) {
  return *msg->_impl_.docexpr_;
}
const ::pg_query::Node& TableFunc::_Internal::rowexpr(const TableFunc* msg) {
  return *msg->_impl_.rowexpr_;
}
const ::pg_query::Node& TableFunc::_Internal::plan(const TableFunc* msg) {
  return *msg->_impl_.plan_;
}
TableFunc::TableFunc(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableFunc)
}
inline PROTOBUF_NDEBUG_INLINE TableFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        ns_uris_{visibility, arena, from.ns_uris_},
        ns_names_{visibility, arena, from.ns_names_},
        colnames_{visibility, arena, from.colnames_},
        coltypes_{visibility, arena, from.coltypes_},
        coltypmods_{visibility, arena, from.coltypmods_},
        colcollations_{visibility, arena, from.colcollations_},
        colexprs_{visibility, arena, from.colexprs_},
        coldefexprs_{visibility, arena, from.coldefexprs_},
        colvalexprs_{visibility, arena, from.colvalexprs_},
        passingvalexprs_{visibility, arena, from.passingvalexprs_},
        notnulls_{visibility, arena, from.notnulls_},
        _notnulls_cached_byte_size_{0} {}

TableFunc::TableFunc(
    ::google::protobuf::Arena* arena,
    const TableFunc& from)
    : ::google::protobuf::Message(arena) {
  TableFunc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.docexpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.docexpr_)
                : nullptr;
  _impl_.rowexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rowexpr_)
                : nullptr;
  _impl_.plan_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.plan_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, functype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, functype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, functype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TableFunc)
}
inline PROTOBUF_NDEBUG_INLINE TableFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        ns_uris_{visibility, arena},
        ns_names_{visibility, arena},
        colnames_{visibility, arena},
        coltypes_{visibility, arena},
        coltypmods_{visibility, arena},
        colcollations_{visibility, arena},
        colexprs_{visibility, arena},
        coldefexprs_{visibility, arena},
        colvalexprs_{visibility, arena},
        passingvalexprs_{visibility, arena},
        notnulls_{visibility, arena},
        _notnulls_cached_byte_size_{0} {}

inline void TableFunc::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, docexpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, docexpr_) +
               sizeof(Impl_::location_));
}
TableFunc::~TableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.TableFunc)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TableFunc::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.docexpr_;
  delete _impl_.rowexpr_;
  delete _impl_.plan_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TableFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableFunc)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.ns_uris_.Clear();
  _impl_.ns_names_.Clear();
  _impl_.colnames_.Clear();
  _impl_.coltypes_.Clear();
  _impl_.coltypmods_.Clear();
  _impl_.colcollations_.Clear();
  _impl_.colexprs_.Clear();
  _impl_.coldefexprs_.Clear();
  _impl_.colvalexprs_.Clear();
  _impl_.passingvalexprs_.Clear();
  _impl_.notnulls_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.docexpr_ != nullptr);
      _impl_.docexpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.rowexpr_ != nullptr);
      _impl_.rowexpr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.plan_ != nullptr);
      _impl_.plan_->Clear();
    }
  }
  ::memset(&_impl_.functype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.functype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TableFunc::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 17, 13, 0, 2> TableFunc::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TableFunc, _impl_._has_bits_),
    0, // no _extensions_
    17, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294836224,  // skipmap
    offsetof(decltype(_table_), field_entries),
    17,  // num_field_entries
    13,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TableFunc_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.TableFuncType functype = 1 [json_name = "functype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TableFunc, _impl_.functype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.functype_)}},
    // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ns_uris_)}},
    // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ns_names_)}},
    // .pg_query.Node docexpr = 4 [json_name = "docexpr"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 2, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.docexpr_)}},
    // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 3, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.rowexpr_)}},
    // repeated .pg_query.Node colnames = 6 [json_name = "colnames"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 4, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colnames_)}},
    // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 5, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coltypes_)}},
    // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 6, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coltypmods_)}},
    // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 7, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colcollations_)}},
    // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"];
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 8, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colexprs_)}},
    // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"];
    {::_pbi::TcParser::FastMtR1,
     {90, 63, 9, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coldefexprs_)}},
    // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"];
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 10, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colvalexprs_)}},
    // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"];
    {::_pbi::TcParser::FastMtR1,
     {106, 63, 11, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.passingvalexprs_)}},
    // repeated uint64 notnulls = 14 [json_name = "notnulls"];
    {::_pbi::TcParser::FastV64P1,
     {114, 63, 0, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.notnulls_)}},
    // .pg_query.Node plan = 15 [json_name = "plan"];
    {::_pbi::TcParser::FastMtS1,
     {122, 2, 12, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.plan_)}},
    // int32 ordinalitycol = 16 [json_name = "ordinalitycol"];
    {::_pbi::TcParser::FastV32S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ordinalitycol_)}},
    // int32 location = 17 [json_name = "location"];
    {::_pbi::TcParser::FastV32S2,
     {392, 63, 0, PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.TableFuncType functype = 1 [json_name = "functype"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.functype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ns_uris_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ns_names_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node docexpr = 4 [json_name = "docexpr"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.docexpr_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.rowexpr_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node colnames = 6 [json_name = "colnames"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colnames_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coltypes_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coltypmods_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colcollations_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colexprs_), -1, 8,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.coldefexprs_), -1, 9,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.colvalexprs_), -1, 10,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.passingvalexprs_), -1, 11,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated uint64 notnulls = 14 [json_name = "notnulls"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.notnulls_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    // .pg_query.Node plan = 15 [json_name = "plan"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.plan_), _Internal::kHasBitsOffset + 2, 12,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 ordinalitycol = 16 [json_name = "ordinalitycol"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.ordinalitycol_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 17 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* TableFunc::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableFunc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.TableFuncType functype = 1 [json_name = "functype"];
  if (this->_internal_functype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_functype(), target);
  }

  // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ns_uris_size()); i < n; i++) {
    const auto& repfield = this->_internal_ns_uris().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ns_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_ns_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node docexpr = 4 [json_name = "docexpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::docexpr(this),
        _Internal::docexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::rowexpr(this),
        _Internal::rowexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colnames = 6 [json_name = "colnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_colnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_colcollations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colexprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_colexprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coldefexprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_coldefexprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colvalexprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_colvalexprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_passingvalexprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_passingvalexprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated uint64 notnulls = 14 [json_name = "notnulls"];
  {
    int byte_size = _impl_._notnulls_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          14, _internal_notnulls(), byte_size, target);
    }
  }

  // .pg_query.Node plan = 15 [json_name = "plan"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, _Internal::plan(this),
        _Internal::plan(this).GetCachedSize(), target, stream);
  }

  // int32 ordinalitycol = 16 [json_name = "ordinalitycol"];
  if (this->_internal_ordinalitycol() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        16, this->_internal_ordinalitycol(), target);
  }

  // int32 location = 17 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        17, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TableFunc)
  return target;
}

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

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

  // repeated .pg_query.Node ns_uris = 2 [json_name = "ns_uris"];
  total_size += 1UL * this->_internal_ns_uris_size();
  for (const auto& msg : this->_internal_ns_uris()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node ns_names = 3 [json_name = "ns_names"];
  total_size += 1UL * this->_internal_ns_names_size();
  for (const auto& msg : this->_internal_ns_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colnames = 6 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->_internal_colnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coltypes = 7 [json_name = "coltypes"];
  total_size += 1UL * this->_internal_coltypes_size();
  for (const auto& msg : this->_internal_coltypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coltypmods = 8 [json_name = "coltypmods"];
  total_size += 1UL * this->_internal_coltypmods_size();
  for (const auto& msg : this->_internal_coltypmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colcollations = 9 [json_name = "colcollations"];
  total_size += 1UL * this->_internal_colcollations_size();
  for (const auto& msg : this->_internal_colcollations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colexprs = 10 [json_name = "colexprs"];
  total_size += 1UL * this->_internal_colexprs_size();
  for (const auto& msg : this->_internal_colexprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coldefexprs = 11 [json_name = "coldefexprs"];
  total_size += 1UL * this->_internal_coldefexprs_size();
  for (const auto& msg : this->_internal_coldefexprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colvalexprs = 12 [json_name = "colvalexprs"];
  total_size += 1UL * this->_internal_colvalexprs_size();
  for (const auto& msg : this->_internal_colvalexprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node passingvalexprs = 13 [json_name = "passingvalexprs"];
  total_size += 1UL * this->_internal_passingvalexprs_size();
  for (const auto& msg : this->_internal_passingvalexprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated uint64 notnulls = 14 [json_name = "notnulls"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_notnulls())
    ;
    _impl_._notnulls_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node docexpr = 4 [json_name = "docexpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.docexpr_);
    }

    // .pg_query.Node rowexpr = 5 [json_name = "rowexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rowexpr_);
    }

    // .pg_query.Node plan = 15 [json_name = "plan"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.plan_);
    }

  }
  // .pg_query.TableFuncType functype = 1 [json_name = "functype"];
  if (this->_internal_functype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_functype());
  }

  // int32 ordinalitycol = 16 [json_name = "ordinalitycol"];
  if (this->_internal_ordinalitycol() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_ordinalitycol());
  }

  // int32 location = 17 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TableFunc::_class_data_ = {
    TableFunc::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TableFunc::GetClassData() const {
  return &_class_data_;
}

void TableFunc::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TableFunc*>(&to_msg);
  auto& from = static_cast<const TableFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableFunc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_ns_uris()->MergeFrom(
      from._internal_ns_uris());
  _this->_internal_mutable_ns_names()->MergeFrom(
      from._internal_ns_names());
  _this->_internal_mutable_colnames()->MergeFrom(
      from._internal_colnames());
  _this->_internal_mutable_coltypes()->MergeFrom(
      from._internal_coltypes());
  _this->_internal_mutable_coltypmods()->MergeFrom(
      from._internal_coltypmods());
  _this->_internal_mutable_colcollations()->MergeFrom(
      from._internal_colcollations());
  _this->_internal_mutable_colexprs()->MergeFrom(
      from._internal_colexprs());
  _this->_internal_mutable_coldefexprs()->MergeFrom(
      from._internal_coldefexprs());
  _this->_internal_mutable_colvalexprs()->MergeFrom(
      from._internal_colvalexprs());
  _this->_internal_mutable_passingvalexprs()->MergeFrom(
      from._internal_passingvalexprs());
  _this->_internal_mutable_notnulls()->MergeFrom(from._internal_notnulls());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_docexpr()->::pg_query::Node::MergeFrom(
          from._internal_docexpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(
          from._internal_rowexpr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_plan()->::pg_query::Node::MergeFrom(
          from._internal_plan());
    }
  }
  if (from._internal_functype() != 0) {
    _this->_internal_set_functype(from._internal_functype());
  }
  if (from._internal_ordinalitycol() != 0) {
    _this->_internal_set_ordinalitycol(from._internal_ordinalitycol());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TableFunc::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TableFunc::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TableFunc::InternalSwap(TableFunc* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.ns_uris_.InternalSwap(&other->_impl_.ns_uris_);
  _impl_.ns_names_.InternalSwap(&other->_impl_.ns_names_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  _impl_.coltypes_.InternalSwap(&other->_impl_.coltypes_);
  _impl_.coltypmods_.InternalSwap(&other->_impl_.coltypmods_);
  _impl_.colcollations_.InternalSwap(&other->_impl_.colcollations_);
  _impl_.colexprs_.InternalSwap(&other->_impl_.colexprs_);
  _impl_.coldefexprs_.InternalSwap(&other->_impl_.coldefexprs_);
  _impl_.colvalexprs_.InternalSwap(&other->_impl_.colvalexprs_);
  _impl_.passingvalexprs_.InternalSwap(&other->_impl_.passingvalexprs_);
  _impl_.notnulls_.InternalSwap(&other->_impl_.notnulls_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.location_)
      + sizeof(TableFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TableFunc, _impl_.docexpr_)>(
          reinterpret_cast<char*>(&_impl_.docexpr_),
          reinterpret_cast<char*>(&other->_impl_.docexpr_));
}

::google::protobuf::Metadata TableFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[14]);
}
// ===================================================================

class IntoClause::_Internal {
 public:
  using HasBits = decltype(std::declval<IntoClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(IntoClause, _impl_._has_bits_);
  static const ::pg_query::RangeVar& rel(const IntoClause* msg);
  static void set_has_rel(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& view_query(const IntoClause* msg);
  static void set_has_view_query(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& IntoClause::_Internal::rel(const IntoClause* msg) {
  return *msg->_impl_.rel_;
}
const ::pg_query::Node& IntoClause::_Internal::view_query(const IntoClause* msg) {
  return *msg->_impl_.view_query_;
}
IntoClause::IntoClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IntoClause)
}
inline PROTOBUF_NDEBUG_INLINE IntoClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        col_names_{visibility, arena, from.col_names_},
        options_{visibility, arena, from.options_},
        access_method_(arena, from.access_method_),
        table_space_name_(arena, from.table_space_name_) {}

IntoClause::IntoClause(
    ::google::protobuf::Arena* arena,
    const IntoClause& from)
    : ::google::protobuf::Message(arena) {
  IntoClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.rel_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.rel_)
                : nullptr;
  _impl_.view_query_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.view_query_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, on_commit_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, on_commit_),
           offsetof(Impl_, skip_data_) -
               offsetof(Impl_, on_commit_) +
               sizeof(Impl_::skip_data_));

  // @@protoc_insertion_point(copy_constructor:pg_query.IntoClause)
}
inline PROTOBUF_NDEBUG_INLINE IntoClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        col_names_{visibility, arena},
        options_{visibility, arena},
        access_method_(arena),
        table_space_name_(arena) {}

inline void IntoClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, rel_),
           0,
           offsetof(Impl_, skip_data_) -
               offsetof(Impl_, rel_) +
               sizeof(Impl_::skip_data_));
}
IntoClause::~IntoClause() {
  // @@protoc_insertion_point(destructor:pg_query.IntoClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void IntoClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.access_method_.Destroy();
  _impl_.table_space_name_.Destroy();
  delete _impl_.rel_;
  delete _impl_.view_query_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void IntoClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IntoClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.col_names_.Clear();
  _impl_.options_.Clear();
  _impl_.access_method_.ClearToEmpty();
  _impl_.table_space_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.rel_ != nullptr);
      _impl_.rel_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.view_query_ != nullptr);
      _impl_.view_query_->Clear();
    }
  }
  ::memset(&_impl_.on_commit_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.skip_data_) -
      reinterpret_cast<char*>(&_impl_.on_commit_)) + sizeof(_impl_.skip_data_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* IntoClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 4, 65, 2> IntoClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(IntoClause, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_IntoClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool skip_data = 8 [json_name = "skipData"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(IntoClause, _impl_.skip_data_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.skip_data_)}},
    // .pg_query.RangeVar rel = 1 [json_name = "rel"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.rel_)}},
    // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.col_names_)}},
    // string access_method = 3 [json_name = "accessMethod"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.access_method_)}},
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.options_)}},
    // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IntoClause, _impl_.on_commit_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.on_commit_)}},
    // string table_space_name = 6 [json_name = "tableSpaceName"];
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.table_space_name_)}},
    // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 3, PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.view_query_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar rel = 1 [json_name = "rel"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.rel_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.col_names_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string access_method = 3 [json_name = "accessMethod"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.access_method_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.options_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.on_commit_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string table_space_name = 6 [json_name = "tableSpaceName"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.table_space_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.view_query_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool skip_data = 8 [json_name = "skipData"];
    {PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.skip_data_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\0\0\15\0\0\20\0\0\0\0\0\0\0\0\0"
    "pg_query.IntoClause"
    "access_method"
    "table_space_name"
  }},
};

::uint8_t* IntoClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IntoClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar rel = 1 [json_name = "rel"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::rel(this),
        _Internal::rel(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    const std::string& _s = this->_internal_access_method();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IntoClause.access_method");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->_internal_on_commit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_on_commit(), target);
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (!this->_internal_table_space_name().empty()) {
    const std::string& _s = this->_internal_table_space_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IntoClause.table_space_name");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::view_query(this),
        _Internal::view_query(this).GetCachedSize(), target, stream);
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_skip_data(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.IntoClause)
  return target;
}

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

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

  // repeated .pg_query.Node col_names = 2 [json_name = "colNames"];
  total_size += 1UL * this->_internal_col_names_size();
  for (const auto& msg : this->_internal_col_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_access_method());
  }

  // string table_space_name = 6 [json_name = "tableSpaceName"];
  if (!this->_internal_table_space_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_table_space_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar rel = 1 [json_name = "rel"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rel_);
    }

    // .pg_query.Node view_query = 7 [json_name = "viewQuery"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.view_query_);
    }

  }
  // .pg_query.OnCommitAction on_commit = 5 [json_name = "onCommit"];
  if (this->_internal_on_commit() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_on_commit());
  }

  // bool skip_data = 8 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData IntoClause::_class_data_ = {
    IntoClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* IntoClause::GetClassData() const {
  return &_class_data_;
}

void IntoClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<IntoClause*>(&to_msg);
  auto& from = static_cast<const IntoClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IntoClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_col_names()->MergeFrom(
      from._internal_col_names());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_table_space_name().empty()) {
    _this->_internal_set_table_space_name(from._internal_table_space_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_rel()->::pg_query::RangeVar::MergeFrom(
          from._internal_rel());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_view_query()->::pg_query::Node::MergeFrom(
          from._internal_view_query());
    }
  }
  if (from._internal_on_commit() != 0) {
    _this->_internal_set_on_commit(from._internal_on_commit());
  }
  if (from._internal_skip_data() != 0) {
    _this->_internal_set_skip_data(from._internal_skip_data());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool IntoClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* IntoClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void IntoClause::InternalSwap(IntoClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.col_names_.InternalSwap(&other->_impl_.col_names_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.access_method_, &other->_impl_.access_method_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.table_space_name_, &other->_impl_.table_space_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.skip_data_)
      + sizeof(IntoClause::_impl_.skip_data_)
      - PROTOBUF_FIELD_OFFSET(IntoClause, _impl_.rel_)>(
          reinterpret_cast<char*>(&_impl_.rel_),
          reinterpret_cast<char*>(&other->_impl_.rel_));
}

::google::protobuf::Metadata IntoClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[15]);
}
// ===================================================================

class Var::_Internal {
 public:
  using HasBits = decltype(std::declval<Var>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Var, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const Var* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& Var::_Internal::xpr(const Var* msg) {
  return *msg->_impl_.xpr_;
}
Var::Var(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Var)
}
inline PROTOBUF_NDEBUG_INLINE Var::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        varnullingrels_{visibility, arena, from.varnullingrels_},
        _varnullingrels_cached_byte_size_{0} {}

Var::Var(
    ::google::protobuf::Arena* arena,
    const Var& from)
    : ::google::protobuf::Message(arena) {
  Var* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, varno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, varno_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, varno_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.Var)
}
inline PROTOBUF_NDEBUG_INLINE Var::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        varnullingrels_{visibility, arena},
        _varnullingrels_cached_byte_size_{0} {}

inline void Var::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
Var::~Var() {
  // @@protoc_insertion_point(destructor:pg_query.Var)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Var::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Var::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Var)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.varnullingrels_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.varno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.varno_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Var::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 9, 1, 0, 2> Var::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Var, _impl_._has_bits_),
    0, // no _extensions_
    9, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966784,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Var_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.xpr_)}},
    // int32 varno = 2 [json_name = "varno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.varno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.varno_)}},
    // int32 varattno = 3 [json_name = "varattno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.varattno_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.varattno_)}},
    // uint32 vartype = 4 [json_name = "vartype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.vartype_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.vartype_)}},
    // int32 vartypmod = 5 [json_name = "vartypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.vartypmod_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.vartypmod_)}},
    // uint32 varcollid = 6 [json_name = "varcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.varcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.varcollid_)}},
    // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"];
    {::_pbi::TcParser::FastV64P1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.varnullingrels_)}},
    // uint32 varlevelsup = 8 [json_name = "varlevelsup"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.varlevelsup_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.varlevelsup_)}},
    // int32 location = 9 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Var, _impl_.location_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(Var, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 varno = 2 [json_name = "varno"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.varno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 varattno = 3 [json_name = "varattno"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.varattno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 vartype = 4 [json_name = "vartype"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.vartype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 vartypmod = 5 [json_name = "vartypmod"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.vartypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 varcollid = 6 [json_name = "varcollid"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.varcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.varnullingrels_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    // uint32 varlevelsup = 8 [json_name = "varlevelsup"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.varlevelsup_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 9 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(Var, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* Var::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Var)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // int32 varno = 2 [json_name = "varno"];
  if (this->_internal_varno() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_varno(), target);
  }

  // int32 varattno = 3 [json_name = "varattno"];
  if (this->_internal_varattno() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_varattno(), target);
  }

  // uint32 vartype = 4 [json_name = "vartype"];
  if (this->_internal_vartype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_vartype(), target);
  }

  // int32 vartypmod = 5 [json_name = "vartypmod"];
  if (this->_internal_vartypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_vartypmod(), target);
  }

  // uint32 varcollid = 6 [json_name = "varcollid"];
  if (this->_internal_varcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_varcollid(), target);
  }

  // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"];
  {
    int byte_size = _impl_._varnullingrels_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          7, _internal_varnullingrels(), byte_size, target);
    }
  }

  // uint32 varlevelsup = 8 [json_name = "varlevelsup"];
  if (this->_internal_varlevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this->_internal_varlevelsup(), target);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<9>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Var)
  return target;
}

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

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

  // repeated uint64 varnullingrels = 7 [json_name = "varnullingrels"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_varnullingrels())
    ;
    _impl_._varnullingrels_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // int32 varno = 2 [json_name = "varno"];
  if (this->_internal_varno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_varno());
  }

  // int32 varattno = 3 [json_name = "varattno"];
  if (this->_internal_varattno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_varattno());
  }

  // uint32 vartype = 4 [json_name = "vartype"];
  if (this->_internal_vartype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_vartype());
  }

  // int32 vartypmod = 5 [json_name = "vartypmod"];
  if (this->_internal_vartypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_vartypmod());
  }

  // uint32 varcollid = 6 [json_name = "varcollid"];
  if (this->_internal_varcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_varcollid());
  }

  // uint32 varlevelsup = 8 [json_name = "varlevelsup"];
  if (this->_internal_varlevelsup() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_varlevelsup());
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Var::_class_data_ = {
    Var::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Var::GetClassData() const {
  return &_class_data_;
}

void Var::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Var*>(&to_msg);
  auto& from = static_cast<const Var&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Var)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_varnullingrels()->MergeFrom(from._internal_varnullingrels());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_varno() != 0) {
    _this->_internal_set_varno(from._internal_varno());
  }
  if (from._internal_varattno() != 0) {
    _this->_internal_set_varattno(from._internal_varattno());
  }
  if (from._internal_vartype() != 0) {
    _this->_internal_set_vartype(from._internal_vartype());
  }
  if (from._internal_vartypmod() != 0) {
    _this->_internal_set_vartypmod(from._internal_vartypmod());
  }
  if (from._internal_varcollid() != 0) {
    _this->_internal_set_varcollid(from._internal_varcollid());
  }
  if (from._internal_varlevelsup() != 0) {
    _this->_internal_set_varlevelsup(from._internal_varlevelsup());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Var::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Var::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Var::InternalSwap(Var* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.varnullingrels_.InternalSwap(&other->_impl_.varnullingrels_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Var, _impl_.location_)
      + sizeof(Var::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Var, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata Var::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[16]);
}
// ===================================================================

class Param::_Internal {
 public:
  using HasBits = decltype(std::declval<Param>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Param, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const Param* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& Param::_Internal::xpr(const Param* msg) {
  return *msg->_impl_.xpr_;
}
Param::Param(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Param)
}
inline PROTOBUF_NDEBUG_INLINE Param::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

Param::Param(
    ::google::protobuf::Arena* arena,
    const Param& from)
    : ::google::protobuf::Message(arena) {
  Param* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, paramkind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, paramkind_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, paramkind_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.Param)
}
inline PROTOBUF_NDEBUG_INLINE Param::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void Param::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
Param::~Param() {
  // @@protoc_insertion_point(destructor:pg_query.Param)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Param::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Param::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Param)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.paramkind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.paramkind_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Param::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 1, 0, 2> Param::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Param, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Param_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.xpr_)}},
    // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.paramkind_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.paramkind_)}},
    // int32 paramid = 3 [json_name = "paramid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.paramid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.paramid_)}},
    // uint32 paramtype = 4 [json_name = "paramtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.paramtype_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.paramtype_)}},
    // int32 paramtypmod = 5 [json_name = "paramtypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.paramtypmod_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.paramtypmod_)}},
    // uint32 paramcollid = 6 [json_name = "paramcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.paramcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.paramcollid_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Param, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(Param, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.paramkind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 paramid = 3 [json_name = "paramid"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.paramid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 paramtype = 4 [json_name = "paramtype"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.paramtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 paramtypmod = 5 [json_name = "paramtypmod"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.paramtypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 paramcollid = 6 [json_name = "paramcollid"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.paramcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(Param, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* Param::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Param)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
  if (this->_internal_paramkind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_paramkind(), target);
  }

  // int32 paramid = 3 [json_name = "paramid"];
  if (this->_internal_paramid() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_paramid(), target);
  }

  // uint32 paramtype = 4 [json_name = "paramtype"];
  if (this->_internal_paramtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_paramtype(), target);
  }

  // int32 paramtypmod = 5 [json_name = "paramtypmod"];
  if (this->_internal_paramtypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_paramtypmod(), target);
  }

  // uint32 paramcollid = 6 [json_name = "paramcollid"];
  if (this->_internal_paramcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_paramcollid(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Param)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // .pg_query.ParamKind paramkind = 2 [json_name = "paramkind"];
  if (this->_internal_paramkind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_paramkind());
  }

  // int32 paramid = 3 [json_name = "paramid"];
  if (this->_internal_paramid() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_paramid());
  }

  // uint32 paramtype = 4 [json_name = "paramtype"];
  if (this->_internal_paramtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_paramtype());
  }

  // int32 paramtypmod = 5 [json_name = "paramtypmod"];
  if (this->_internal_paramtypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_paramtypmod());
  }

  // uint32 paramcollid = 6 [json_name = "paramcollid"];
  if (this->_internal_paramcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_paramcollid());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Param::_class_data_ = {
    Param::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Param::GetClassData() const {
  return &_class_data_;
}

void Param::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Param*>(&to_msg);
  auto& from = static_cast<const Param&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Param)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_paramkind() != 0) {
    _this->_internal_set_paramkind(from._internal_paramkind());
  }
  if (from._internal_paramid() != 0) {
    _this->_internal_set_paramid(from._internal_paramid());
  }
  if (from._internal_paramtype() != 0) {
    _this->_internal_set_paramtype(from._internal_paramtype());
  }
  if (from._internal_paramtypmod() != 0) {
    _this->_internal_set_paramtypmod(from._internal_paramtypmod());
  }
  if (from._internal_paramcollid() != 0) {
    _this->_internal_set_paramcollid(from._internal_paramcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Param::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Param::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Param::InternalSwap(Param* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Param, _impl_.location_)
      + sizeof(Param::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Param, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata Param::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[17]);
}
// ===================================================================

class Aggref::_Internal {
 public:
  using HasBits = decltype(std::declval<Aggref>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Aggref, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const Aggref* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& aggfilter(const Aggref* msg);
  static void set_has_aggfilter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& Aggref::_Internal::xpr(const Aggref* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& Aggref::_Internal::aggfilter(const Aggref* msg) {
  return *msg->_impl_.aggfilter_;
}
Aggref::Aggref(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Aggref)
}
inline PROTOBUF_NDEBUG_INLINE Aggref::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        aggargtypes_{visibility, arena, from.aggargtypes_},
        aggdirectargs_{visibility, arena, from.aggdirectargs_},
        args_{visibility, arena, from.args_},
        aggorder_{visibility, arena, from.aggorder_},
        aggdistinct_{visibility, arena, from.aggdistinct_},
        aggkind_(arena, from.aggkind_) {}

Aggref::Aggref(
    ::google::protobuf::Arena* arena,
    const Aggref& from)
    : ::google::protobuf::Message(arena) {
  Aggref* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.aggfilter_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.aggfilter_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, aggfnoid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, aggfnoid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, aggfnoid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.Aggref)
}
inline PROTOBUF_NDEBUG_INLINE Aggref::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        aggargtypes_{visibility, arena},
        aggdirectargs_{visibility, arena},
        args_{visibility, arena},
        aggorder_{visibility, arena},
        aggdistinct_{visibility, arena},
        aggkind_(arena) {}

inline void Aggref::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
Aggref::~Aggref() {
  // @@protoc_insertion_point(destructor:pg_query.Aggref)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Aggref::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.aggkind_.Destroy();
  delete _impl_.xpr_;
  delete _impl_.aggfilter_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Aggref::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Aggref)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.aggargtypes_.Clear();
  _impl_.aggdirectargs_.Clear();
  _impl_.args_.Clear();
  _impl_.aggorder_.Clear();
  _impl_.aggdistinct_.Clear();
  _impl_.aggkind_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.aggfilter_ != nullptr);
      _impl_.aggfilter_->Clear();
    }
  }
  ::memset(&_impl_.aggfnoid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.aggfnoid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Aggref::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 19, 7, 47, 2> Aggref::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Aggref, _impl_._has_bits_),
    0, // no _extensions_
    19, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294443008,  // skipmap
    offsetof(decltype(_table_), field_entries),
    19,  // num_field_entries
    7,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Aggref_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.xpr_)}},
    // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Aggref, _impl_.aggfnoid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggfnoid_)}},
    // uint32 aggtype = 3 [json_name = "aggtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Aggref, _impl_.aggtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggtype_)}},
    // uint32 aggcollid = 4 [json_name = "aggcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Aggref, _impl_.aggcollid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggcollid_)}},
    // uint32 inputcollid = 5 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Aggref, _impl_.inputcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.inputcollid_)}},
    // repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 1, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggargtypes_)}},
    // repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 2, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggdirectargs_)}},
    // repeated .pg_query.Node args = 8 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 3, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.args_)}},
    // repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 4, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggorder_)}},
    // repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"];
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 5, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggdistinct_)}},
    // .pg_query.Node aggfilter = 11 [json_name = "aggfilter"];
    {::_pbi::TcParser::FastMtS1,
     {90, 1, 6, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggfilter_)}},
    // bool aggstar = 12 [json_name = "aggstar"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Aggref, _impl_.aggstar_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggstar_)}},
    // bool aggvariadic = 13 [json_name = "aggvariadic"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Aggref, _impl_.aggvariadic_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggvariadic_)}},
    // string aggkind = 14 [json_name = "aggkind"];
    {::_pbi::TcParser::FastUS1,
     {114, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggkind_)}},
    // uint32 agglevelsup = 15 [json_name = "agglevelsup"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Aggref, _impl_.agglevelsup_), 63>(),
     {120, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.agglevelsup_)}},
    // .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"];
    {::_pbi::TcParser::FastV32S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggsplit_)}},
    // int32 aggno = 17 [json_name = "aggno"];
    {::_pbi::TcParser::FastV32S2,
     {392, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggno_)}},
    // int32 aggtransno = 18 [json_name = "aggtransno"];
    {::_pbi::TcParser::FastV32S2,
     {400, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggtransno_)}},
    // int32 location = 19 [json_name = "location"];
    {::_pbi::TcParser::FastV32S2,
     {408, 63, 0, PROTOBUF_FIELD_OFFSET(Aggref, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggfnoid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 aggtype = 3 [json_name = "aggtype"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 aggcollid = 4 [json_name = "aggcollid"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 5 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggargtypes_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggdirectargs_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 8 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.args_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggorder_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggdistinct_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node aggfilter = 11 [json_name = "aggfilter"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggfilter_), _Internal::kHasBitsOffset + 1, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool aggstar = 12 [json_name = "aggstar"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggstar_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool aggvariadic = 13 [json_name = "aggvariadic"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggvariadic_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string aggkind = 14 [json_name = "aggkind"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggkind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 agglevelsup = 15 [json_name = "agglevelsup"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.agglevelsup_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggsplit_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 aggno = 17 [json_name = "aggno"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 aggtransno = 18 [json_name = "aggtransno"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.aggtransno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 19 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(Aggref, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\17\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\0\0\0\0\0\0"
    "pg_query.Aggref"
    "aggkind"
  }},
};

::uint8_t* Aggref::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Aggref)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->_internal_aggfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_aggfnoid(), target);
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->_internal_aggtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_aggtype(), target);
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->_internal_aggcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_aggcollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggargtypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggargtypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggdirectargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggdirectargs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 8 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggorder_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggorder().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aggdistinct_size()); i < n; i++) {
    const auto& repfield = this->_internal_aggdistinct().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node aggfilter = 11 [json_name = "aggfilter"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, _Internal::aggfilter(this),
        _Internal::aggfilter(this).GetCachedSize(), target, stream);
  }

  // bool aggstar = 12 [json_name = "aggstar"];
  if (this->_internal_aggstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_aggstar(), target);
  }

  // bool aggvariadic = 13 [json_name = "aggvariadic"];
  if (this->_internal_aggvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this->_internal_aggvariadic(), target);
  }

  // string aggkind = 14 [json_name = "aggkind"];
  if (!this->_internal_aggkind().empty()) {
    const std::string& _s = this->_internal_aggkind();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Aggref.aggkind");
    target = stream->WriteStringMaybeAliased(14, _s, target);
  }

  // uint32 agglevelsup = 15 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        15, this->_internal_agglevelsup(), target);
  }

  // .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"];
  if (this->_internal_aggsplit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        16, this->_internal_aggsplit(), target);
  }

  // int32 aggno = 17 [json_name = "aggno"];
  if (this->_internal_aggno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        17, this->_internal_aggno(), target);
  }

  // int32 aggtransno = 18 [json_name = "aggtransno"];
  if (this->_internal_aggtransno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        18, this->_internal_aggtransno(), target);
  }

  // int32 location = 19 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        19, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Aggref)
  return target;
}

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

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

  // repeated .pg_query.Node aggargtypes = 6 [json_name = "aggargtypes"];
  total_size += 1UL * this->_internal_aggargtypes_size();
  for (const auto& msg : this->_internal_aggargtypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node aggdirectargs = 7 [json_name = "aggdirectargs"];
  total_size += 1UL * this->_internal_aggdirectargs_size();
  for (const auto& msg : this->_internal_aggdirectargs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 8 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node aggorder = 9 [json_name = "aggorder"];
  total_size += 1UL * this->_internal_aggorder_size();
  for (const auto& msg : this->_internal_aggorder()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node aggdistinct = 10 [json_name = "aggdistinct"];
  total_size += 1UL * this->_internal_aggdistinct_size();
  for (const auto& msg : this->_internal_aggdistinct()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string aggkind = 14 [json_name = "aggkind"];
  if (!this->_internal_aggkind().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_aggkind());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node aggfilter = 11 [json_name = "aggfilter"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.aggfilter_);
    }

  }
  // uint32 aggfnoid = 2 [json_name = "aggfnoid"];
  if (this->_internal_aggfnoid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_aggfnoid());
  }

  // uint32 aggtype = 3 [json_name = "aggtype"];
  if (this->_internal_aggtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_aggtype());
  }

  // uint32 aggcollid = 4 [json_name = "aggcollid"];
  if (this->_internal_aggcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_aggcollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // bool aggstar = 12 [json_name = "aggstar"];
  if (this->_internal_aggstar() != 0) {
    total_size += 2;
  }

  // bool aggvariadic = 13 [json_name = "aggvariadic"];
  if (this->_internal_aggvariadic() != 0) {
    total_size += 2;
  }

  // uint32 agglevelsup = 15 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_agglevelsup());
  }

  // .pg_query.AggSplit aggsplit = 16 [json_name = "aggsplit"];
  if (this->_internal_aggsplit() != 0) {
    total_size += 2 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_aggsplit());
  }

  // int32 aggno = 17 [json_name = "aggno"];
  if (this->_internal_aggno() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_aggno());
  }

  // int32 aggtransno = 18 [json_name = "aggtransno"];
  if (this->_internal_aggtransno() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_aggtransno());
  }

  // int32 location = 19 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Aggref::_class_data_ = {
    Aggref::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Aggref::GetClassData() const {
  return &_class_data_;
}

void Aggref::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Aggref*>(&to_msg);
  auto& from = static_cast<const Aggref&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Aggref)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_aggargtypes()->MergeFrom(
      from._internal_aggargtypes());
  _this->_internal_mutable_aggdirectargs()->MergeFrom(
      from._internal_aggdirectargs());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_aggorder()->MergeFrom(
      from._internal_aggorder());
  _this->_internal_mutable_aggdistinct()->MergeFrom(
      from._internal_aggdistinct());
  if (!from._internal_aggkind().empty()) {
    _this->_internal_set_aggkind(from._internal_aggkind());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(
          from._internal_aggfilter());
    }
  }
  if (from._internal_aggfnoid() != 0) {
    _this->_internal_set_aggfnoid(from._internal_aggfnoid());
  }
  if (from._internal_aggtype() != 0) {
    _this->_internal_set_aggtype(from._internal_aggtype());
  }
  if (from._internal_aggcollid() != 0) {
    _this->_internal_set_aggcollid(from._internal_aggcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_aggstar() != 0) {
    _this->_internal_set_aggstar(from._internal_aggstar());
  }
  if (from._internal_aggvariadic() != 0) {
    _this->_internal_set_aggvariadic(from._internal_aggvariadic());
  }
  if (from._internal_agglevelsup() != 0) {
    _this->_internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from._internal_aggsplit() != 0) {
    _this->_internal_set_aggsplit(from._internal_aggsplit());
  }
  if (from._internal_aggno() != 0) {
    _this->_internal_set_aggno(from._internal_aggno());
  }
  if (from._internal_aggtransno() != 0) {
    _this->_internal_set_aggtransno(from._internal_aggtransno());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Aggref::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Aggref::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Aggref::InternalSwap(Aggref* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.aggargtypes_.InternalSwap(&other->_impl_.aggargtypes_);
  _impl_.aggdirectargs_.InternalSwap(&other->_impl_.aggdirectargs_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.aggorder_.InternalSwap(&other->_impl_.aggorder_);
  _impl_.aggdistinct_.InternalSwap(&other->_impl_.aggdistinct_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.aggkind_, &other->_impl_.aggkind_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Aggref, _impl_.location_)
      + sizeof(Aggref::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Aggref, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata Aggref::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[18]);
}
// ===================================================================

class GroupingFunc::_Internal {
 public:
  using HasBits = decltype(std::declval<GroupingFunc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const GroupingFunc* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& GroupingFunc::_Internal::xpr(const GroupingFunc* msg) {
  return *msg->_impl_.xpr_;
}
GroupingFunc::GroupingFunc(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingFunc)
}
inline PROTOBUF_NDEBUG_INLINE GroupingFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_},
        refs_{visibility, arena, from.refs_} {}

GroupingFunc::GroupingFunc(
    ::google::protobuf::Arena* arena,
    const GroupingFunc& from)
    : ::google::protobuf::Message(arena) {
  GroupingFunc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, agglevelsup_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, agglevelsup_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, agglevelsup_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingFunc)
}
inline PROTOBUF_NDEBUG_INLINE GroupingFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena},
        refs_{visibility, arena} {}

inline void GroupingFunc::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
GroupingFunc::~GroupingFunc() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingFunc)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GroupingFunc::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void GroupingFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GroupingFunc)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _impl_.refs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.agglevelsup_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.agglevelsup_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GroupingFunc::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> GroupingFunc::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GroupingFunc_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.xpr_)}},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.args_)}},
    // repeated .pg_query.Node refs = 3 [json_name = "refs"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.refs_)}},
    // uint32 agglevelsup = 4 [json_name = "agglevelsup"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GroupingFunc, _impl_.agglevelsup_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.agglevelsup_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GroupingFunc, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node refs = 3 [json_name = "refs"];
    {PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.refs_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 agglevelsup = 4 [json_name = "agglevelsup"];
    {PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.agglevelsup_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* GroupingFunc::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GroupingFunc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node refs = 3 [json_name = "refs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_refs_size()); i < n; i++) {
    const auto& repfield = this->_internal_refs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 agglevelsup = 4 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_agglevelsup(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.GroupingFunc)
  return target;
}

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

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

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node refs = 3 [json_name = "refs"];
  total_size += 1UL * this->_internal_refs_size();
  for (const auto& msg : this->_internal_refs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 agglevelsup = 4 [json_name = "agglevelsup"];
  if (this->_internal_agglevelsup() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_agglevelsup());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData GroupingFunc::_class_data_ = {
    GroupingFunc::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* GroupingFunc::GetClassData() const {
  return &_class_data_;
}

void GroupingFunc::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<GroupingFunc*>(&to_msg);
  auto& from = static_cast<const GroupingFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GroupingFunc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_refs()->MergeFrom(
      from._internal_refs());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_agglevelsup() != 0) {
    _this->_internal_set_agglevelsup(from._internal_agglevelsup());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool GroupingFunc::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* GroupingFunc::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void GroupingFunc::InternalSwap(GroupingFunc* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.refs_.InternalSwap(&other->_impl_.refs_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.location_)
      + sizeof(GroupingFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(GroupingFunc, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata GroupingFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[19]);
}
// ===================================================================

class WindowFunc::_Internal {
 public:
  using HasBits = decltype(std::declval<WindowFunc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const WindowFunc* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& aggfilter(const WindowFunc* msg);
  static void set_has_aggfilter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& WindowFunc::_Internal::xpr(const WindowFunc* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& WindowFunc::_Internal::aggfilter(const WindowFunc* msg) {
  return *msg->_impl_.aggfilter_;
}
WindowFunc::WindowFunc(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowFunc)
}
inline PROTOBUF_NDEBUG_INLINE WindowFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_},
        run_condition_{visibility, arena, from.run_condition_} {}

WindowFunc::WindowFunc(
    ::google::protobuf::Arena* arena,
    const WindowFunc& from)
    : ::google::protobuf::Message(arena) {
  WindowFunc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.aggfilter_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.aggfilter_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, winfnoid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, winfnoid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, winfnoid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WindowFunc)
}
inline PROTOBUF_NDEBUG_INLINE WindowFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena},
        run_condition_{visibility, arena} {}

inline void WindowFunc::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
WindowFunc::~WindowFunc() {
  // @@protoc_insertion_point(destructor:pg_query.WindowFunc)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WindowFunc::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.aggfilter_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WindowFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowFunc)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _impl_.run_condition_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.aggfilter_ != nullptr);
      _impl_.aggfilter_->Clear();
    }
  }
  ::memset(&_impl_.winfnoid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.winfnoid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WindowFunc::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 12, 4, 0, 2> WindowFunc::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_._has_bits_),
    0, // no _extensions_
    12, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294963200,  // skipmap
    offsetof(decltype(_table_), field_entries),
    12,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WindowFunc_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.xpr_)}},
    // uint32 winfnoid = 2 [json_name = "winfnoid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.winfnoid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winfnoid_)}},
    // uint32 wintype = 3 [json_name = "wintype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.wintype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.wintype_)}},
    // uint32 wincollid = 4 [json_name = "wincollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.wincollid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.wincollid_)}},
    // uint32 inputcollid = 5 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.inputcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 1, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.args_)}},
    // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 2, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.aggfilter_)}},
    // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 3, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.run_condition_)}},
    // uint32 winref = 9 [json_name = "winref"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.winref_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winref_)}},
    // bool winstar = 10 [json_name = "winstar"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowFunc, _impl_.winstar_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winstar_)}},
    // bool winagg = 11 [json_name = "winagg"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowFunc, _impl_.winagg_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winagg_)}},
    // int32 location = 12 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFunc, _impl_.location_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 winfnoid = 2 [json_name = "winfnoid"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winfnoid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 wintype = 3 [json_name = "wintype"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.wintype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 wincollid = 4 [json_name = "wincollid"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.wincollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 5 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.aggfilter_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.run_condition_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 winref = 9 [json_name = "winref"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winref_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool winstar = 10 [json_name = "winstar"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winstar_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool winagg = 11 [json_name = "winagg"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.winagg_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 12 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* WindowFunc::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowFunc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->_internal_winfnoid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_winfnoid(), target);
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->_internal_wintype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_wintype(), target);
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->_internal_wincollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_wincollid(), target);
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::aggfilter(this),
        _Internal::aggfilter(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_run_condition_size()); i < n; i++) {
    const auto& repfield = this->_internal_run_condition().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 winref = 9 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this->_internal_winref(), target);
  }

  // bool winstar = 10 [json_name = "winstar"];
  if (this->_internal_winstar() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this->_internal_winstar(), target);
  }

  // bool winagg = 11 [json_name = "winagg"];
  if (this->_internal_winagg() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_winagg(), target);
  }

  // int32 location = 12 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<12>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WindowFunc)
  return target;
}

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

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

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node run_condition = 8 [json_name = "runCondition"];
  total_size += 1UL * this->_internal_run_condition_size();
  for (const auto& msg : this->_internal_run_condition()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node aggfilter = 7 [json_name = "aggfilter"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.aggfilter_);
    }

  }
  // uint32 winfnoid = 2 [json_name = "winfnoid"];
  if (this->_internal_winfnoid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_winfnoid());
  }

  // uint32 wintype = 3 [json_name = "wintype"];
  if (this->_internal_wintype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_wintype());
  }

  // uint32 wincollid = 4 [json_name = "wincollid"];
  if (this->_internal_wincollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_wincollid());
  }

  // uint32 inputcollid = 5 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // uint32 winref = 9 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_winref());
  }

  // bool winstar = 10 [json_name = "winstar"];
  if (this->_internal_winstar() != 0) {
    total_size += 2;
  }

  // bool winagg = 11 [json_name = "winagg"];
  if (this->_internal_winagg() != 0) {
    total_size += 2;
  }

  // int32 location = 12 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WindowFunc::_class_data_ = {
    WindowFunc::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WindowFunc::GetClassData() const {
  return &_class_data_;
}

void WindowFunc::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WindowFunc*>(&to_msg);
  auto& from = static_cast<const WindowFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowFunc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_run_condition()->MergeFrom(
      from._internal_run_condition());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_aggfilter()->::pg_query::Node::MergeFrom(
          from._internal_aggfilter());
    }
  }
  if (from._internal_winfnoid() != 0) {
    _this->_internal_set_winfnoid(from._internal_winfnoid());
  }
  if (from._internal_wintype() != 0) {
    _this->_internal_set_wintype(from._internal_wintype());
  }
  if (from._internal_wincollid() != 0) {
    _this->_internal_set_wincollid(from._internal_wincollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_winref() != 0) {
    _this->_internal_set_winref(from._internal_winref());
  }
  if (from._internal_winstar() != 0) {
    _this->_internal_set_winstar(from._internal_winstar());
  }
  if (from._internal_winagg() != 0) {
    _this->_internal_set_winagg(from._internal_winagg());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WindowFunc::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WindowFunc::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WindowFunc::InternalSwap(WindowFunc* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.run_condition_.InternalSwap(&other->_impl_.run_condition_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.location_)
      + sizeof(WindowFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WindowFunc, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata WindowFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[20]);
}
// ===================================================================

class WindowFuncRunCondition::_Internal {
 public:
  using HasBits = decltype(std::declval<WindowFuncRunCondition>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const WindowFuncRunCondition* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const WindowFuncRunCondition* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& WindowFuncRunCondition::_Internal::xpr(const WindowFuncRunCondition* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& WindowFuncRunCondition::_Internal::arg(const WindowFuncRunCondition* msg) {
  return *msg->_impl_.arg_;
}
WindowFuncRunCondition::WindowFuncRunCondition(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowFuncRunCondition)
}
inline PROTOBUF_NDEBUG_INLINE WindowFuncRunCondition::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

WindowFuncRunCondition::WindowFuncRunCondition(
    ::google::protobuf::Arena* arena,
    const WindowFuncRunCondition& from)
    : ::google::protobuf::Message(arena) {
  WindowFuncRunCondition* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, opno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, opno_),
           offsetof(Impl_, wfunc_left_) -
               offsetof(Impl_, opno_) +
               sizeof(Impl_::wfunc_left_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WindowFuncRunCondition)
}
inline PROTOBUF_NDEBUG_INLINE WindowFuncRunCondition::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void WindowFuncRunCondition::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, wfunc_left_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::wfunc_left_));
}
WindowFuncRunCondition::~WindowFuncRunCondition() {
  // @@protoc_insertion_point(destructor:pg_query.WindowFuncRunCondition)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WindowFuncRunCondition::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WindowFuncRunCondition::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowFuncRunCondition)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.opno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.wfunc_left_) -
      reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.wfunc_left_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WindowFuncRunCondition::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> WindowFuncRunCondition::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WindowFuncRunCondition_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.xpr_)}},
    // uint32 opno = 2 [json_name = "opno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFuncRunCondition, _impl_.opno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.opno_)}},
    // uint32 inputcollid = 3 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowFuncRunCondition, _impl_.inputcollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.inputcollid_)}},
    // bool wfunc_left = 4 [json_name = "wfunc_left"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowFuncRunCondition, _impl_.wfunc_left_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.wfunc_left_)}},
    // .pg_query.Node arg = 5 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.arg_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 opno = 2 [json_name = "opno"];
    {PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.opno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 3 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool wfunc_left = 4 [json_name = "wfunc_left"];
    {PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.wfunc_left_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node arg = 5 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* WindowFuncRunCondition::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowFuncRunCondition)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_opno(), target);
  }

  // uint32 inputcollid = 3 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_inputcollid(), target);
  }

  // bool wfunc_left = 4 [json_name = "wfunc_left"];
  if (this->_internal_wfunc_left() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_wfunc_left(), target);
  }

  // .pg_query.Node arg = 5 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WindowFuncRunCondition)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 5 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opno());
  }

  // uint32 inputcollid = 3 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // bool wfunc_left = 4 [json_name = "wfunc_left"];
  if (this->_internal_wfunc_left() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WindowFuncRunCondition::_class_data_ = {
    WindowFuncRunCondition::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WindowFuncRunCondition::GetClassData() const {
  return &_class_data_;
}

void WindowFuncRunCondition::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WindowFuncRunCondition*>(&to_msg);
  auto& from = static_cast<const WindowFuncRunCondition&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowFuncRunCondition)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_wfunc_left() != 0) {
    _this->_internal_set_wfunc_left(from._internal_wfunc_left());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WindowFuncRunCondition::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WindowFuncRunCondition::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WindowFuncRunCondition::InternalSwap(WindowFuncRunCondition* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.wfunc_left_)
      + sizeof(WindowFuncRunCondition::_impl_.wfunc_left_)
      - PROTOBUF_FIELD_OFFSET(WindowFuncRunCondition, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata WindowFuncRunCondition::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[21]);
}
// ===================================================================

class MergeSupportFunc::_Internal {
 public:
  using HasBits = decltype(std::declval<MergeSupportFunc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const MergeSupportFunc* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& MergeSupportFunc::_Internal::xpr(const MergeSupportFunc* msg) {
  return *msg->_impl_.xpr_;
}
MergeSupportFunc::MergeSupportFunc(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeSupportFunc)
}
inline PROTOBUF_NDEBUG_INLINE MergeSupportFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

MergeSupportFunc::MergeSupportFunc(
    ::google::protobuf::Arena* arena,
    const MergeSupportFunc& from)
    : ::google::protobuf::Message(arena) {
  MergeSupportFunc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, msftype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, msftype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, msftype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.MergeSupportFunc)
}
inline PROTOBUF_NDEBUG_INLINE MergeSupportFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void MergeSupportFunc::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
MergeSupportFunc::~MergeSupportFunc() {
  // @@protoc_insertion_point(destructor:pg_query.MergeSupportFunc)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MergeSupportFunc::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MergeSupportFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MergeSupportFunc)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.msftype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.msftype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MergeSupportFunc::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 0, 2> MergeSupportFunc::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MergeSupportFunc_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeSupportFunc, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.xpr_)}},
    // uint32 msftype = 2 [json_name = "msftype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeSupportFunc, _impl_.msftype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.msftype_)}},
    // uint32 msfcollid = 3 [json_name = "msfcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeSupportFunc, _impl_.msfcollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.msfcollid_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 msftype = 2 [json_name = "msftype"];
    {PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.msftype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 msfcollid = 3 [json_name = "msfcollid"];
    {PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.msfcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* MergeSupportFunc::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MergeSupportFunc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 msftype = 2 [json_name = "msftype"];
  if (this->_internal_msftype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_msftype(), target);
  }

  // uint32 msfcollid = 3 [json_name = "msfcollid"];
  if (this->_internal_msfcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_msfcollid(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MergeSupportFunc)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 msftype = 2 [json_name = "msftype"];
  if (this->_internal_msftype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_msftype());
  }

  // uint32 msfcollid = 3 [json_name = "msfcollid"];
  if (this->_internal_msfcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_msfcollid());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MergeSupportFunc::_class_data_ = {
    MergeSupportFunc::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MergeSupportFunc::GetClassData() const {
  return &_class_data_;
}

void MergeSupportFunc::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MergeSupportFunc*>(&to_msg);
  auto& from = static_cast<const MergeSupportFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeSupportFunc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_msftype() != 0) {
    _this->_internal_set_msftype(from._internal_msftype());
  }
  if (from._internal_msfcollid() != 0) {
    _this->_internal_set_msfcollid(from._internal_msfcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MergeSupportFunc::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MergeSupportFunc::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MergeSupportFunc::InternalSwap(MergeSupportFunc* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.location_)
      + sizeof(MergeSupportFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(MergeSupportFunc, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata MergeSupportFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[22]);
}
// ===================================================================

class SubscriptingRef::_Internal {
 public:
  using HasBits = decltype(std::declval<SubscriptingRef>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const SubscriptingRef* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& refexpr(const SubscriptingRef* msg);
  static void set_has_refexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& refassgnexpr(const SubscriptingRef* msg);
  static void set_has_refassgnexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& SubscriptingRef::_Internal::xpr(const SubscriptingRef* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& SubscriptingRef::_Internal::refexpr(const SubscriptingRef* msg) {
  return *msg->_impl_.refexpr_;
}
const ::pg_query::Node& SubscriptingRef::_Internal::refassgnexpr(const SubscriptingRef* msg) {
  return *msg->_impl_.refassgnexpr_;
}
SubscriptingRef::SubscriptingRef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubscriptingRef)
}
inline PROTOBUF_NDEBUG_INLINE SubscriptingRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        refupperindexpr_{visibility, arena, from.refupperindexpr_},
        reflowerindexpr_{visibility, arena, from.reflowerindexpr_} {}

SubscriptingRef::SubscriptingRef(
    ::google::protobuf::Arena* arena,
    const SubscriptingRef& from)
    : ::google::protobuf::Message(arena) {
  SubscriptingRef* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.refexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.refexpr_)
                : nullptr;
  _impl_.refassgnexpr_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.refassgnexpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, refcontainertype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, refcontainertype_),
           offsetof(Impl_, refcollid_) -
               offsetof(Impl_, refcontainertype_) +
               sizeof(Impl_::refcollid_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SubscriptingRef)
}
inline PROTOBUF_NDEBUG_INLINE SubscriptingRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        refupperindexpr_{visibility, arena},
        reflowerindexpr_{visibility, arena} {}

inline void SubscriptingRef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, refcollid_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::refcollid_));
}
SubscriptingRef::~SubscriptingRef() {
  // @@protoc_insertion_point(destructor:pg_query.SubscriptingRef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubscriptingRef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.refexpr_;
  delete _impl_.refassgnexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SubscriptingRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SubscriptingRef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.refupperindexpr_.Clear();
  _impl_.reflowerindexpr_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.refexpr_ != nullptr);
      _impl_.refexpr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.refassgnexpr_ != nullptr);
      _impl_.refassgnexpr_->Clear();
    }
  }
  ::memset(&_impl_.refcontainertype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.refcollid_) -
      reinterpret_cast<char*>(&_impl_.refcontainertype_)) + sizeof(_impl_.refcollid_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubscriptingRef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 10, 5, 0, 2> SubscriptingRef::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_._has_bits_),
    0, // no _extensions_
    10, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966272,  // skipmap
    offsetof(decltype(_table_), field_entries),
    10,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SubscriptingRef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.xpr_)}},
    // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubscriptingRef, _impl_.refcontainertype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcontainertype_)}},
    // uint32 refelemtype = 3 [json_name = "refelemtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubscriptingRef, _impl_.refelemtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refelemtype_)}},
    // uint32 refrestype = 4 [json_name = "refrestype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubscriptingRef, _impl_.refrestype_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refrestype_)}},
    // int32 reftypmod = 5 [json_name = "reftypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubscriptingRef, _impl_.reftypmod_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.reftypmod_)}},
    // uint32 refcollid = 6 [json_name = "refcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubscriptingRef, _impl_.refcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcollid_)}},
    // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 1, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refupperindexpr_)}},
    // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 2, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.reflowerindexpr_)}},
    // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
    {::_pbi::TcParser::FastMtS1,
     {74, 1, 3, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refexpr_)}},
    // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
    {::_pbi::TcParser::FastMtS1,
     {82, 2, 4, PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refassgnexpr_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcontainertype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 refelemtype = 3 [json_name = "refelemtype"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refelemtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 refrestype = 4 [json_name = "refrestype"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refrestype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 reftypmod = 5 [json_name = "reftypmod"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.reftypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 refcollid = 6 [json_name = "refcollid"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refupperindexpr_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.reflowerindexpr_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refexpr_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
    {PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refassgnexpr_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SubscriptingRef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubscriptingRef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->_internal_refcontainertype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_refcontainertype(), target);
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->_internal_refelemtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_refelemtype(), target);
  }

  // uint32 refrestype = 4 [json_name = "refrestype"];
  if (this->_internal_refrestype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_refrestype(), target);
  }

  // int32 reftypmod = 5 [json_name = "reftypmod"];
  if (this->_internal_reftypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_reftypmod(), target);
  }

  // uint32 refcollid = 6 [json_name = "refcollid"];
  if (this->_internal_refcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_refcollid(), target);
  }

  // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_refupperindexpr_size()); i < n; i++) {
    const auto& repfield = this->_internal_refupperindexpr().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_reflowerindexpr_size()); i < n; i++) {
    const auto& repfield = this->_internal_reflowerindexpr().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, _Internal::refexpr(this),
        _Internal::refexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, _Internal::refassgnexpr(this),
        _Internal::refassgnexpr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SubscriptingRef)
  return target;
}

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

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

  // repeated .pg_query.Node refupperindexpr = 7 [json_name = "refupperindexpr"];
  total_size += 1UL * this->_internal_refupperindexpr_size();
  for (const auto& msg : this->_internal_refupperindexpr()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node reflowerindexpr = 8 [json_name = "reflowerindexpr"];
  total_size += 1UL * this->_internal_reflowerindexpr_size();
  for (const auto& msg : this->_internal_reflowerindexpr()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node refexpr = 9 [json_name = "refexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.refexpr_);
    }

    // .pg_query.Node refassgnexpr = 10 [json_name = "refassgnexpr"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.refassgnexpr_);
    }

  }
  // uint32 refcontainertype = 2 [json_name = "refcontainertype"];
  if (this->_internal_refcontainertype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_refcontainertype());
  }

  // uint32 refelemtype = 3 [json_name = "refelemtype"];
  if (this->_internal_refelemtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_refelemtype());
  }

  // uint32 refrestype = 4 [json_name = "refrestype"];
  if (this->_internal_refrestype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_refrestype());
  }

  // int32 reftypmod = 5 [json_name = "reftypmod"];
  if (this->_internal_reftypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_reftypmod());
  }

  // uint32 refcollid = 6 [json_name = "refcollid"];
  if (this->_internal_refcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_refcollid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SubscriptingRef::_class_data_ = {
    SubscriptingRef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SubscriptingRef::GetClassData() const {
  return &_class_data_;
}

void SubscriptingRef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SubscriptingRef*>(&to_msg);
  auto& from = static_cast<const SubscriptingRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubscriptingRef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_refupperindexpr()->MergeFrom(
      from._internal_refupperindexpr());
  _this->_internal_mutable_reflowerindexpr()->MergeFrom(
      from._internal_reflowerindexpr());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_refexpr()->::pg_query::Node::MergeFrom(
          from._internal_refexpr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_refassgnexpr()->::pg_query::Node::MergeFrom(
          from._internal_refassgnexpr());
    }
  }
  if (from._internal_refcontainertype() != 0) {
    _this->_internal_set_refcontainertype(from._internal_refcontainertype());
  }
  if (from._internal_refelemtype() != 0) {
    _this->_internal_set_refelemtype(from._internal_refelemtype());
  }
  if (from._internal_refrestype() != 0) {
    _this->_internal_set_refrestype(from._internal_refrestype());
  }
  if (from._internal_reftypmod() != 0) {
    _this->_internal_set_reftypmod(from._internal_reftypmod());
  }
  if (from._internal_refcollid() != 0) {
    _this->_internal_set_refcollid(from._internal_refcollid());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SubscriptingRef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SubscriptingRef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SubscriptingRef::InternalSwap(SubscriptingRef* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.refupperindexpr_.InternalSwap(&other->_impl_.refupperindexpr_);
  _impl_.reflowerindexpr_.InternalSwap(&other->_impl_.reflowerindexpr_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.refcollid_)
      + sizeof(SubscriptingRef::_impl_.refcollid_)
      - PROTOBUF_FIELD_OFFSET(SubscriptingRef, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata SubscriptingRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[23]);
}
// ===================================================================

class FuncExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<FuncExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const FuncExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& FuncExpr::_Internal::xpr(const FuncExpr* msg) {
  return *msg->_impl_.xpr_;
}
FuncExpr::FuncExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncExpr)
}
inline PROTOBUF_NDEBUG_INLINE FuncExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

FuncExpr::FuncExpr(
    ::google::protobuf::Arena* arena,
    const FuncExpr& from)
    : ::google::protobuf::Message(arena) {
  FuncExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, funcid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, funcid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, funcid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.FuncExpr)
}
inline PROTOBUF_NDEBUG_INLINE FuncExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void FuncExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
FuncExpr::~FuncExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FuncExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FuncExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FuncExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FuncExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.funcid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.funcid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FuncExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 10, 2, 0, 2> FuncExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_._has_bits_),
    0, // no _extensions_
    10, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966272,  // skipmap
    offsetof(decltype(_table_), field_entries),
    10,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FuncExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.xpr_)}},
    // uint32 funcid = 2 [json_name = "funcid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.funcid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcid_)}},
    // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.funcresulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcresulttype_)}},
    // bool funcretset = 4 [json_name = "funcretset"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncExpr, _impl_.funcretset_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcretset_)}},
    // bool funcvariadic = 5 [json_name = "funcvariadic"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncExpr, _impl_.funcvariadic_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcvariadic_)}},
    // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.funcformat_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcformat_)}},
    // uint32 funccollid = 7 [json_name = "funccollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.funccollid_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funccollid_)}},
    // uint32 inputcollid = 8 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.inputcollid_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 9 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 1, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.args_)}},
    // int32 location = 10 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncExpr, _impl_.location_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 funcid = 2 [json_name = "funcid"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcresulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool funcretset = 4 [json_name = "funcretset"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcretset_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool funcvariadic = 5 [json_name = "funcvariadic"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcvariadic_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funcformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // uint32 funccollid = 7 [json_name = "funccollid"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.funccollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 8 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 9 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 10 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* FuncExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FuncExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->_internal_funcid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_funcid(), target);
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->_internal_funcresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_funcresulttype(), target);
  }

  // bool funcretset = 4 [json_name = "funcretset"];
  if (this->_internal_funcretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_funcretset(), target);
  }

  // bool funcvariadic = 5 [json_name = "funcvariadic"];
  if (this->_internal_funcvariadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_funcvariadic(), target);
  }

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_funcformat(), target);
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->_internal_funccollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this->_internal_funccollid(), target);
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 10 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<10>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FuncExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 9 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 funcid = 2 [json_name = "funcid"];
  if (this->_internal_funcid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_funcid());
  }

  // uint32 funcresulttype = 3 [json_name = "funcresulttype"];
  if (this->_internal_funcresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_funcresulttype());
  }

  // bool funcretset = 4 [json_name = "funcretset"];
  if (this->_internal_funcretset() != 0) {
    total_size += 2;
  }

  // bool funcvariadic = 5 [json_name = "funcvariadic"];
  if (this->_internal_funcvariadic() != 0) {
    total_size += 2;
  }

  // .pg_query.CoercionForm funcformat = 6 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_funcformat());
  }

  // uint32 funccollid = 7 [json_name = "funccollid"];
  if (this->_internal_funccollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_funccollid());
  }

  // uint32 inputcollid = 8 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // int32 location = 10 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FuncExpr::_class_data_ = {
    FuncExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FuncExpr::GetClassData() const {
  return &_class_data_;
}

void FuncExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FuncExpr*>(&to_msg);
  auto& from = static_cast<const FuncExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FuncExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_funcid() != 0) {
    _this->_internal_set_funcid(from._internal_funcid());
  }
  if (from._internal_funcresulttype() != 0) {
    _this->_internal_set_funcresulttype(from._internal_funcresulttype());
  }
  if (from._internal_funcretset() != 0) {
    _this->_internal_set_funcretset(from._internal_funcretset());
  }
  if (from._internal_funcvariadic() != 0) {
    _this->_internal_set_funcvariadic(from._internal_funcvariadic());
  }
  if (from._internal_funcformat() != 0) {
    _this->_internal_set_funcformat(from._internal_funcformat());
  }
  if (from._internal_funccollid() != 0) {
    _this->_internal_set_funccollid(from._internal_funccollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FuncExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FuncExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FuncExpr::InternalSwap(FuncExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.location_)
      + sizeof(FuncExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(FuncExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata FuncExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[24]);
}
// ===================================================================

class NamedArgExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<NamedArgExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const NamedArgExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const NamedArgExpr* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& NamedArgExpr::_Internal::xpr(const NamedArgExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& NamedArgExpr::_Internal::arg(const NamedArgExpr* msg) {
  return *msg->_impl_.arg_;
}
NamedArgExpr::NamedArgExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NamedArgExpr)
}
inline PROTOBUF_NDEBUG_INLINE NamedArgExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

NamedArgExpr::NamedArgExpr(
    ::google::protobuf::Arena* arena,
    const NamedArgExpr& from)
    : ::google::protobuf::Message(arena) {
  NamedArgExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, argnumber_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, argnumber_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, argnumber_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.NamedArgExpr)
}
inline PROTOBUF_NDEBUG_INLINE NamedArgExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void NamedArgExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
NamedArgExpr::~NamedArgExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NamedArgExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NamedArgExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void NamedArgExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.NamedArgExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.argnumber_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.argnumber_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NamedArgExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 34, 2> NamedArgExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NamedArgExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.arg_)}},
    // string name = 3 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.name_)}},
    // int32 argnumber = 4 [json_name = "argnumber"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NamedArgExpr, _impl_.argnumber_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.argnumber_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NamedArgExpr, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string name = 3 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 argnumber = 4 [json_name = "argnumber"];
    {PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.argnumber_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\0\0\4\0\0\0\0"
    "pg_query.NamedArgExpr"
    "name"
  }},
};

::uint8_t* NamedArgExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NamedArgExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.NamedArgExpr.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // int32 argnumber = 4 [json_name = "argnumber"];
  if (this->_internal_argnumber() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_argnumber(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.NamedArgExpr)
  return target;
}

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

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

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // int32 argnumber = 4 [json_name = "argnumber"];
  if (this->_internal_argnumber() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_argnumber());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData NamedArgExpr::_class_data_ = {
    NamedArgExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* NamedArgExpr::GetClassData() const {
  return &_class_data_;
}

void NamedArgExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<NamedArgExpr*>(&to_msg);
  auto& from = static_cast<const NamedArgExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NamedArgExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_argnumber() != 0) {
    _this->_internal_set_argnumber(from._internal_argnumber());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool NamedArgExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* NamedArgExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void NamedArgExpr::InternalSwap(NamedArgExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.location_)
      + sizeof(NamedArgExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NamedArgExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata NamedArgExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[25]);
}
// ===================================================================

class OpExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<OpExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(OpExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const OpExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& OpExpr::_Internal::xpr(const OpExpr* msg) {
  return *msg->_impl_.xpr_;
}
OpExpr::OpExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OpExpr)
}
inline PROTOBUF_NDEBUG_INLINE OpExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

OpExpr::OpExpr(
    ::google::protobuf::Arena* arena,
    const OpExpr& from)
    : ::google::protobuf::Message(arena) {
  OpExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, opno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, opno_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, opno_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.OpExpr)
}
inline PROTOBUF_NDEBUG_INLINE OpExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void OpExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
OpExpr::~OpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OpExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void OpExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void OpExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OpExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.opno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* OpExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 0, 2> OpExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OpExpr, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_OpExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OpExpr, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.xpr_)}},
    // uint32 opno = 2 [json_name = "opno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OpExpr, _impl_.opno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opno_)}},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OpExpr, _impl_.opresulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opresulttype_)}},
    // bool opretset = 4 [json_name = "opretset"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(OpExpr, _impl_.opretset_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opretset_)}},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OpExpr, _impl_.opcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opcollid_)}},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OpExpr, _impl_.inputcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 1, PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 opno = 2 [json_name = "opno"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opresulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool opretset = 4 [json_name = "opretset"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opretset_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.opcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* OpExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OpExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_opno(), target);
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_opresulttype(), target);
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.OpExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opno());
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opresulttype());
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    total_size += 2;
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData OpExpr::_class_data_ = {
    OpExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* OpExpr::GetClassData() const {
  return &_class_data_;
}

void OpExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<OpExpr*>(&to_msg);
  auto& from = static_cast<const OpExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OpExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool OpExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* OpExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void OpExpr::InternalSwap(OpExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.location_)
      + sizeof(OpExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(OpExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata OpExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[26]);
}
// ===================================================================

class DistinctExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<DistinctExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const DistinctExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& DistinctExpr::_Internal::xpr(const DistinctExpr* msg) {
  return *msg->_impl_.xpr_;
}
DistinctExpr::DistinctExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DistinctExpr)
}
inline PROTOBUF_NDEBUG_INLINE DistinctExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

DistinctExpr::DistinctExpr(
    ::google::protobuf::Arena* arena,
    const DistinctExpr& from)
    : ::google::protobuf::Message(arena) {
  DistinctExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, opno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, opno_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, opno_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DistinctExpr)
}
inline PROTOBUF_NDEBUG_INLINE DistinctExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void DistinctExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
DistinctExpr::~DistinctExpr() {
  // @@protoc_insertion_point(destructor:pg_query.DistinctExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DistinctExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DistinctExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DistinctExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.opno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DistinctExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 0, 2> DistinctExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DistinctExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DistinctExpr, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.xpr_)}},
    // uint32 opno = 2 [json_name = "opno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DistinctExpr, _impl_.opno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opno_)}},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DistinctExpr, _impl_.opresulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opresulttype_)}},
    // bool opretset = 4 [json_name = "opretset"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DistinctExpr, _impl_.opretset_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opretset_)}},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DistinctExpr, _impl_.opcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opcollid_)}},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DistinctExpr, _impl_.inputcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 1, PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 opno = 2 [json_name = "opno"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opresulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool opretset = 4 [json_name = "opretset"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opretset_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.opcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DistinctExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DistinctExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_opno(), target);
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_opresulttype(), target);
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DistinctExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opno());
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opresulttype());
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    total_size += 2;
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DistinctExpr::_class_data_ = {
    DistinctExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DistinctExpr::GetClassData() const {
  return &_class_data_;
}

void DistinctExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DistinctExpr*>(&to_msg);
  auto& from = static_cast<const DistinctExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DistinctExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DistinctExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DistinctExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DistinctExpr::InternalSwap(DistinctExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.location_)
      + sizeof(DistinctExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(DistinctExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata DistinctExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[27]);
}
// ===================================================================

class NullIfExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<NullIfExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const NullIfExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& NullIfExpr::_Internal::xpr(const NullIfExpr* msg) {
  return *msg->_impl_.xpr_;
}
NullIfExpr::NullIfExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullIfExpr)
}
inline PROTOBUF_NDEBUG_INLINE NullIfExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

NullIfExpr::NullIfExpr(
    ::google::protobuf::Arena* arena,
    const NullIfExpr& from)
    : ::google::protobuf::Message(arena) {
  NullIfExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, opno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, opno_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, opno_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.NullIfExpr)
}
inline PROTOBUF_NDEBUG_INLINE NullIfExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void NullIfExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
NullIfExpr::~NullIfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NullIfExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NullIfExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void NullIfExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.NullIfExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.opno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NullIfExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 0, 2> NullIfExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NullIfExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullIfExpr, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.xpr_)}},
    // uint32 opno = 2 [json_name = "opno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullIfExpr, _impl_.opno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opno_)}},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullIfExpr, _impl_.opresulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opresulttype_)}},
    // bool opretset = 4 [json_name = "opretset"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(NullIfExpr, _impl_.opretset_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opretset_)}},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullIfExpr, _impl_.opcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opcollid_)}},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullIfExpr, _impl_.inputcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 1, PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 opno = 2 [json_name = "opno"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 opresulttype = 3 [json_name = "opresulttype"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opresulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool opretset = 4 [json_name = "opretset"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opretset_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 opcollid = 5 [json_name = "opcollid"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.opcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 6 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 7 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* NullIfExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NullIfExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_opno(), target);
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_opresulttype(), target);
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_opretset(), target);
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_opcollid(), target);
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.NullIfExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 7 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opno());
  }

  // uint32 opresulttype = 3 [json_name = "opresulttype"];
  if (this->_internal_opresulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opresulttype());
  }

  // bool opretset = 4 [json_name = "opretset"];
  if (this->_internal_opretset() != 0) {
    total_size += 2;
  }

  // uint32 opcollid = 5 [json_name = "opcollid"];
  if (this->_internal_opcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opcollid());
  }

  // uint32 inputcollid = 6 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData NullIfExpr::_class_data_ = {
    NullIfExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* NullIfExpr::GetClassData() const {
  return &_class_data_;
}

void NullIfExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<NullIfExpr*>(&to_msg);
  auto& from = static_cast<const NullIfExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NullIfExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_opresulttype() != 0) {
    _this->_internal_set_opresulttype(from._internal_opresulttype());
  }
  if (from._internal_opretset() != 0) {
    _this->_internal_set_opretset(from._internal_opretset());
  }
  if (from._internal_opcollid() != 0) {
    _this->_internal_set_opcollid(from._internal_opcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool NullIfExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* NullIfExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void NullIfExpr::InternalSwap(NullIfExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.location_)
      + sizeof(NullIfExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NullIfExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata NullIfExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[28]);
}
// ===================================================================

class ScalarArrayOpExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<ScalarArrayOpExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const ScalarArrayOpExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& ScalarArrayOpExpr::_Internal::xpr(const ScalarArrayOpExpr* msg) {
  return *msg->_impl_.xpr_;
}
ScalarArrayOpExpr::ScalarArrayOpExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScalarArrayOpExpr)
}
inline PROTOBUF_NDEBUG_INLINE ScalarArrayOpExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

ScalarArrayOpExpr::ScalarArrayOpExpr(
    ::google::protobuf::Arena* arena,
    const ScalarArrayOpExpr& from)
    : ::google::protobuf::Message(arena) {
  ScalarArrayOpExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, opno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, opno_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, opno_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ScalarArrayOpExpr)
}
inline PROTOBUF_NDEBUG_INLINE ScalarArrayOpExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void ScalarArrayOpExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
ScalarArrayOpExpr::~ScalarArrayOpExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ScalarArrayOpExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ScalarArrayOpExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ScalarArrayOpExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ScalarArrayOpExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.opno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.opno_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ScalarArrayOpExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 2, 0, 2> ScalarArrayOpExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ScalarArrayOpExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.xpr_)}},
    // uint32 opno = 2 [json_name = "opno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScalarArrayOpExpr, _impl_.opno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.opno_)}},
    // bool use_or = 3 [json_name = "useOr"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ScalarArrayOpExpr, _impl_.use_or_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.use_or_)}},
    // uint32 inputcollid = 4 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScalarArrayOpExpr, _impl_.inputcollid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.inputcollid_)}},
    // repeated .pg_query.Node args = 5 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.args_)}},
    // int32 location = 6 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScalarArrayOpExpr, _impl_.location_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 opno = 2 [json_name = "opno"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.opno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool use_or = 3 [json_name = "useOr"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.use_or_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 inputcollid = 4 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 5 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 6 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ScalarArrayOpExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScalarArrayOpExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_opno(), target);
  }

  // bool use_or = 3 [json_name = "useOr"];
  if (this->_internal_use_or() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_use_or(), target);
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_inputcollid(), target);
  }

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ScalarArrayOpExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 opno = 2 [json_name = "opno"];
  if (this->_internal_opno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_opno());
  }

  // bool use_or = 3 [json_name = "useOr"];
  if (this->_internal_use_or() != 0) {
    total_size += 2;
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ScalarArrayOpExpr::_class_data_ = {
    ScalarArrayOpExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ScalarArrayOpExpr::GetClassData() const {
  return &_class_data_;
}

void ScalarArrayOpExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ScalarArrayOpExpr*>(&to_msg);
  auto& from = static_cast<const ScalarArrayOpExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScalarArrayOpExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_opno() != 0) {
    _this->_internal_set_opno(from._internal_opno());
  }
  if (from._internal_use_or() != 0) {
    _this->_internal_set_use_or(from._internal_use_or());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ScalarArrayOpExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ScalarArrayOpExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ScalarArrayOpExpr::InternalSwap(ScalarArrayOpExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.location_)
      + sizeof(ScalarArrayOpExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ScalarArrayOpExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata ScalarArrayOpExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[29]);
}
// ===================================================================

class BoolExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<BoolExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const BoolExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& BoolExpr::_Internal::xpr(const BoolExpr* msg) {
  return *msg->_impl_.xpr_;
}
BoolExpr::BoolExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BoolExpr)
}
inline PROTOBUF_NDEBUG_INLINE BoolExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

BoolExpr::BoolExpr(
    ::google::protobuf::Arena* arena,
    const BoolExpr& from)
    : ::google::protobuf::Message(arena) {
  BoolExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, boolop_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, boolop_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, boolop_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.BoolExpr)
}
inline PROTOBUF_NDEBUG_INLINE BoolExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void BoolExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
BoolExpr::~BoolExpr() {
  // @@protoc_insertion_point(destructor:pg_query.BoolExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BoolExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void BoolExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.BoolExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.boolop_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.boolop_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BoolExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> BoolExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_BoolExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BoolExpr, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.xpr_)}},
    // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BoolExpr, _impl_.boolop_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.boolop_)}},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
    {PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.boolop_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* BoolExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BoolExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->_internal_boolop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_boolop(), target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.BoolExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // .pg_query.BoolExprType boolop = 2 [json_name = "boolop"];
  if (this->_internal_boolop() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_boolop());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData BoolExpr::_class_data_ = {
    BoolExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* BoolExpr::GetClassData() const {
  return &_class_data_;
}

void BoolExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<BoolExpr*>(&to_msg);
  auto& from = static_cast<const BoolExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BoolExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_boolop() != 0) {
    _this->_internal_set_boolop(from._internal_boolop());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool BoolExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* BoolExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void BoolExpr::InternalSwap(BoolExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.location_)
      + sizeof(BoolExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(BoolExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata BoolExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[30]);
}
// ===================================================================

class SubLink::_Internal {
 public:
  using HasBits = decltype(std::declval<SubLink>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SubLink, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const SubLink* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& testexpr(const SubLink* msg);
  static void set_has_testexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& subselect(const SubLink* msg);
  static void set_has_subselect(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& SubLink::_Internal::xpr(const SubLink* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& SubLink::_Internal::testexpr(const SubLink* msg) {
  return *msg->_impl_.testexpr_;
}
const ::pg_query::Node& SubLink::_Internal::subselect(const SubLink* msg) {
  return *msg->_impl_.subselect_;
}
SubLink::SubLink(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubLink)
}
inline PROTOBUF_NDEBUG_INLINE SubLink::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        oper_name_{visibility, arena, from.oper_name_} {}

SubLink::SubLink(
    ::google::protobuf::Arena* arena,
    const SubLink& from)
    : ::google::protobuf::Message(arena) {
  SubLink* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.testexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.testexpr_)
                : nullptr;
  _impl_.subselect_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.subselect_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sub_link_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, sub_link_type_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, sub_link_type_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SubLink)
}
inline PROTOBUF_NDEBUG_INLINE SubLink::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        oper_name_{visibility, arena} {}

inline void SubLink::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
SubLink::~SubLink() {
  // @@protoc_insertion_point(destructor:pg_query.SubLink)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubLink::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.testexpr_;
  delete _impl_.subselect_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SubLink::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SubLink)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.oper_name_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.testexpr_ != nullptr);
      _impl_.testexpr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.subselect_ != nullptr);
      _impl_.subselect_->Clear();
    }
  }
  ::memset(&_impl_.sub_link_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.sub_link_type_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubLink::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 4, 0, 2> SubLink::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SubLink, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SubLink_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.xpr_)}},
    // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubLink, _impl_.sub_link_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.sub_link_type_)}},
    // int32 sub_link_id = 3 [json_name = "subLinkId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubLink, _impl_.sub_link_id_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.sub_link_id_)}},
    // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.testexpr_)}},
    // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.oper_name_)}},
    // .pg_query.Node subselect = 6 [json_name = "subselect"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 3, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.subselect_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubLink, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(SubLink, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.sub_link_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 sub_link_id = 3 [json_name = "subLinkId"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.sub_link_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.testexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.oper_name_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node subselect = 6 [json_name = "subselect"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.subselect_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(SubLink, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SubLink::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubLink)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_sub_link_type(), target);
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->_internal_sub_link_id() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_sub_link_id(), target);
  }

  // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::testexpr(this),
        _Internal::testexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_oper_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_oper_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node subselect = 6 [json_name = "subselect"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::subselect(this),
        _Internal::subselect(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SubLink)
  return target;
}

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

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

  // repeated .pg_query.Node oper_name = 5 [json_name = "operName"];
  total_size += 1UL * this->_internal_oper_name_size();
  for (const auto& msg : this->_internal_oper_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node testexpr = 4 [json_name = "testexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.testexpr_);
    }

    // .pg_query.Node subselect = 6 [json_name = "subselect"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.subselect_);
    }

  }
  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 sub_link_id = 3 [json_name = "subLinkId"];
  if (this->_internal_sub_link_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_sub_link_id());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SubLink::_class_data_ = {
    SubLink::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SubLink::GetClassData() const {
  return &_class_data_;
}

void SubLink::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SubLink*>(&to_msg);
  auto& from = static_cast<const SubLink&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubLink)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_oper_name()->MergeFrom(
      from._internal_oper_name());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_testexpr()->::pg_query::Node::MergeFrom(
          from._internal_testexpr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_subselect()->::pg_query::Node::MergeFrom(
          from._internal_subselect());
    }
  }
  if (from._internal_sub_link_type() != 0) {
    _this->_internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from._internal_sub_link_id() != 0) {
    _this->_internal_set_sub_link_id(from._internal_sub_link_id());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SubLink::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SubLink::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SubLink::InternalSwap(SubLink* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.oper_name_.InternalSwap(&other->_impl_.oper_name_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubLink, _impl_.location_)
      + sizeof(SubLink::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SubLink, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata SubLink::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[31]);
}
// ===================================================================

class SubPlan::_Internal {
 public:
  using HasBits = decltype(std::declval<SubPlan>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SubPlan, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const SubPlan* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& testexpr(const SubPlan* msg);
  static void set_has_testexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& SubPlan::_Internal::xpr(const SubPlan* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& SubPlan::_Internal::testexpr(const SubPlan* msg) {
  return *msg->_impl_.testexpr_;
}
SubPlan::SubPlan(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SubPlan)
}
inline PROTOBUF_NDEBUG_INLINE SubPlan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        param_ids_{visibility, arena, from.param_ids_},
        set_param_{visibility, arena, from.set_param_},
        par_param_{visibility, arena, from.par_param_},
        args_{visibility, arena, from.args_},
        plan_name_(arena, from.plan_name_) {}

SubPlan::SubPlan(
    ::google::protobuf::Arena* arena,
    const SubPlan& from)
    : ::google::protobuf::Message(arena) {
  SubPlan* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.testexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.testexpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sub_link_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, sub_link_type_),
           offsetof(Impl_, per_call_cost_) -
               offsetof(Impl_, sub_link_type_) +
               sizeof(Impl_::per_call_cost_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SubPlan)
}
inline PROTOBUF_NDEBUG_INLINE SubPlan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        param_ids_{visibility, arena},
        set_param_{visibility, arena},
        par_param_{visibility, arena},
        args_{visibility, arena},
        plan_name_(arena) {}

inline void SubPlan::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, per_call_cost_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::per_call_cost_));
}
SubPlan::~SubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.SubPlan)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SubPlan::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.plan_name_.Destroy();
  delete _impl_.xpr_;
  delete _impl_.testexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SubPlan::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SubPlan)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.param_ids_.Clear();
  _impl_.set_param_.Clear();
  _impl_.par_param_.Clear();
  _impl_.args_.Clear();
  _impl_.plan_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.testexpr_ != nullptr);
      _impl_.testexpr_->Clear();
    }
  }
  ::memset(&_impl_.sub_link_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.per_call_cost_) -
      reinterpret_cast<char*>(&_impl_.sub_link_type_)) + sizeof(_impl_.per_call_cost_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SubPlan::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 17, 6, 50, 2> SubPlan::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SubPlan, _impl_._has_bits_),
    0, // no _extensions_
    17, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294836224,  // skipmap
    offsetof(decltype(_table_), field_entries),
    17,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SubPlan_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.xpr_)}},
    // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubPlan, _impl_.sub_link_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.sub_link_type_)}},
    // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.testexpr_)}},
    // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.param_ids_)}},
    // int32 plan_id = 5 [json_name = "plan_id"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubPlan, _impl_.plan_id_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.plan_id_)}},
    // string plan_name = 6 [json_name = "plan_name"];
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.plan_name_)}},
    // uint32 first_col_type = 7 [json_name = "firstColType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubPlan, _impl_.first_col_type_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_type_)}},
    // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubPlan, _impl_.first_col_typmod_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_typmod_)}},
    // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SubPlan, _impl_.first_col_collation_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_collation_)}},
    // bool use_hash_table = 10 [json_name = "useHashTable"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SubPlan, _impl_.use_hash_table_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.use_hash_table_)}},
    // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SubPlan, _impl_.unknown_eq_false_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.unknown_eq_false_)}},
    // bool parallel_safe = 12 [json_name = "parallel_safe"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SubPlan, _impl_.parallel_safe_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.parallel_safe_)}},
    // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
    {::_pbi::TcParser::FastMtR1,
     {106, 63, 3, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.set_param_)}},
    // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
    {::_pbi::TcParser::FastMtR1,
     {114, 63, 4, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.par_param_)}},
    // repeated .pg_query.Node args = 15 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {122, 63, 5, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.args_)}},
    // double startup_cost = 16 [json_name = "startup_cost"];
    {::_pbi::TcParser::FastF64S2,
     {385, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.startup_cost_)}},
    // double per_call_cost = 17 [json_name = "per_call_cost"];
    {::_pbi::TcParser::FastF64S2,
     {393, 63, 0, PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.per_call_cost_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.sub_link_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.testexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.param_ids_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 plan_id = 5 [json_name = "plan_id"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.plan_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // string plan_name = 6 [json_name = "plan_name"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.plan_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 first_col_type = 7 [json_name = "firstColType"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_typmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.first_col_collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool use_hash_table = 10 [json_name = "useHashTable"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.use_hash_table_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.unknown_eq_false_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool parallel_safe = 12 [json_name = "parallel_safe"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.parallel_safe_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.set_param_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.par_param_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 15 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.args_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // double startup_cost = 16 [json_name = "startup_cost"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.startup_cost_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
    // double per_call_cost = 17 [json_name = "per_call_cost"];
    {PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.per_call_cost_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\20\0\0\0\0\0\11\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.SubPlan"
    "plan_name"
  }},
};

::uint8_t* SubPlan::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SubPlan)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_sub_link_type(), target);
  }

  // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::testexpr(this),
        _Internal::testexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_param_ids_size()); i < n; i++) {
    const auto& repfield = this->_internal_param_ids().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->_internal_plan_id() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_plan_id(), target);
  }

  // string plan_name = 6 [json_name = "plan_name"];
  if (!this->_internal_plan_name().empty()) {
    const std::string& _s = this->_internal_plan_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.SubPlan.plan_name");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // uint32 first_col_type = 7 [json_name = "firstColType"];
  if (this->_internal_first_col_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this->_internal_first_col_type(), target);
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->_internal_first_col_typmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_first_col_typmod(), target);
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->_internal_first_col_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this->_internal_first_col_collation(), target);
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->_internal_use_hash_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this->_internal_use_hash_table(), target);
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->_internal_unknown_eq_false() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_unknown_eq_false(), target);
  }

  // bool parallel_safe = 12 [json_name = "parallel_safe"];
  if (this->_internal_parallel_safe() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_parallel_safe(), target);
  }

  // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_set_param_size()); i < n; i++) {
    const auto& repfield = this->_internal_set_param().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_par_param_size()); i < n; i++) {
    const auto& repfield = this->_internal_par_param().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 15 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

  // double startup_cost = 16 [json_name = "startup_cost"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_startup_cost = this->_internal_startup_cost();
  ::uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        16, this->_internal_startup_cost(), target);
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_per_call_cost = this->_internal_per_call_cost();
  ::uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        17, this->_internal_per_call_cost(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SubPlan)
  return target;
}

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

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

  // repeated .pg_query.Node param_ids = 4 [json_name = "paramIds"];
  total_size += 1UL * this->_internal_param_ids_size();
  for (const auto& msg : this->_internal_param_ids()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node set_param = 13 [json_name = "setParam"];
  total_size += 1UL * this->_internal_set_param_size();
  for (const auto& msg : this->_internal_set_param()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node par_param = 14 [json_name = "parParam"];
  total_size += 1UL * this->_internal_par_param_size();
  for (const auto& msg : this->_internal_par_param()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 15 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string plan_name = 6 [json_name = "plan_name"];
  if (!this->_internal_plan_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_plan_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node testexpr = 3 [json_name = "testexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.testexpr_);
    }

  }
  // .pg_query.SubLinkType sub_link_type = 2 [json_name = "subLinkType"];
  if (this->_internal_sub_link_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_sub_link_type());
  }

  // int32 plan_id = 5 [json_name = "plan_id"];
  if (this->_internal_plan_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_plan_id());
  }

  // uint32 first_col_type = 7 [json_name = "firstColType"];
  if (this->_internal_first_col_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_first_col_type());
  }

  // int32 first_col_typmod = 8 [json_name = "firstColTypmod"];
  if (this->_internal_first_col_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_first_col_typmod());
  }

  // uint32 first_col_collation = 9 [json_name = "firstColCollation"];
  if (this->_internal_first_col_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_first_col_collation());
  }

  // bool use_hash_table = 10 [json_name = "useHashTable"];
  if (this->_internal_use_hash_table() != 0) {
    total_size += 2;
  }

  // bool unknown_eq_false = 11 [json_name = "unknownEqFalse"];
  if (this->_internal_unknown_eq_false() != 0) {
    total_size += 2;
  }

  // bool parallel_safe = 12 [json_name = "parallel_safe"];
  if (this->_internal_parallel_safe() != 0) {
    total_size += 2;
  }

  // double startup_cost = 16 [json_name = "startup_cost"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_startup_cost = this->_internal_startup_cost();
  ::uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    total_size += 10;
  }

  // double per_call_cost = 17 [json_name = "per_call_cost"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_per_call_cost = this->_internal_per_call_cost();
  ::uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    total_size += 10;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SubPlan::_class_data_ = {
    SubPlan::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SubPlan::GetClassData() const {
  return &_class_data_;
}

void SubPlan::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SubPlan*>(&to_msg);
  auto& from = static_cast<const SubPlan&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SubPlan)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_param_ids()->MergeFrom(
      from._internal_param_ids());
  _this->_internal_mutable_set_param()->MergeFrom(
      from._internal_set_param());
  _this->_internal_mutable_par_param()->MergeFrom(
      from._internal_par_param());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if (!from._internal_plan_name().empty()) {
    _this->_internal_set_plan_name(from._internal_plan_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_testexpr()->::pg_query::Node::MergeFrom(
          from._internal_testexpr());
    }
  }
  if (from._internal_sub_link_type() != 0) {
    _this->_internal_set_sub_link_type(from._internal_sub_link_type());
  }
  if (from._internal_plan_id() != 0) {
    _this->_internal_set_plan_id(from._internal_plan_id());
  }
  if (from._internal_first_col_type() != 0) {
    _this->_internal_set_first_col_type(from._internal_first_col_type());
  }
  if (from._internal_first_col_typmod() != 0) {
    _this->_internal_set_first_col_typmod(from._internal_first_col_typmod());
  }
  if (from._internal_first_col_collation() != 0) {
    _this->_internal_set_first_col_collation(from._internal_first_col_collation());
  }
  if (from._internal_use_hash_table() != 0) {
    _this->_internal_set_use_hash_table(from._internal_use_hash_table());
  }
  if (from._internal_unknown_eq_false() != 0) {
    _this->_internal_set_unknown_eq_false(from._internal_unknown_eq_false());
  }
  if (from._internal_parallel_safe() != 0) {
    _this->_internal_set_parallel_safe(from._internal_parallel_safe());
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_startup_cost = from._internal_startup_cost();
  ::uint64_t raw_startup_cost;
  memcpy(&raw_startup_cost, &tmp_startup_cost, sizeof(tmp_startup_cost));
  if (raw_startup_cost != 0) {
    _this->_internal_set_startup_cost(from._internal_startup_cost());
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_per_call_cost = from._internal_per_call_cost();
  ::uint64_t raw_per_call_cost;
  memcpy(&raw_per_call_cost, &tmp_per_call_cost, sizeof(tmp_per_call_cost));
  if (raw_per_call_cost != 0) {
    _this->_internal_set_per_call_cost(from._internal_per_call_cost());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SubPlan::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SubPlan::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SubPlan::InternalSwap(SubPlan* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.param_ids_.InternalSwap(&other->_impl_.param_ids_);
  _impl_.set_param_.InternalSwap(&other->_impl_.set_param_);
  _impl_.par_param_.InternalSwap(&other->_impl_.par_param_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.plan_name_, &other->_impl_.plan_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.per_call_cost_)
      + sizeof(SubPlan::_impl_.per_call_cost_)
      - PROTOBUF_FIELD_OFFSET(SubPlan, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata SubPlan::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[32]);
}
// ===================================================================

class AlternativeSubPlan::_Internal {
 public:
  using HasBits = decltype(std::declval<AlternativeSubPlan>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const AlternativeSubPlan* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& AlternativeSubPlan::_Internal::xpr(const AlternativeSubPlan* msg) {
  return *msg->_impl_.xpr_;
}
AlternativeSubPlan::AlternativeSubPlan(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlternativeSubPlan)
}
inline PROTOBUF_NDEBUG_INLINE AlternativeSubPlan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        subplans_{visibility, arena, from.subplans_} {}

AlternativeSubPlan::AlternativeSubPlan(
    ::google::protobuf::Arena* arena,
    const AlternativeSubPlan& from)
    : ::google::protobuf::Message(arena) {
  AlternativeSubPlan* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlternativeSubPlan)
}
inline PROTOBUF_NDEBUG_INLINE AlternativeSubPlan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        subplans_{visibility, arena} {}

inline void AlternativeSubPlan::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.xpr_ = {};
}
AlternativeSubPlan::~AlternativeSubPlan() {
  // @@protoc_insertion_point(destructor:pg_query.AlternativeSubPlan)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlternativeSubPlan::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlternativeSubPlan::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlternativeSubPlan)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.subplans_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlternativeSubPlan::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> AlternativeSubPlan::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlternativeSubPlan_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_.subplans_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_.xpr_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
    {PROTOBUF_FIELD_OFFSET(AlternativeSubPlan, _impl_.subplans_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlternativeSubPlan::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlternativeSubPlan)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_subplans_size()); i < n; i++) {
    const auto& repfield = this->_internal_subplans().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlternativeSubPlan)
  return target;
}

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

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

  // repeated .pg_query.Node subplans = 2 [json_name = "subplans"];
  total_size += 1UL * this->_internal_subplans_size();
  for (const auto& msg : this->_internal_subplans()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlternativeSubPlan::_class_data_ = {
    AlternativeSubPlan::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlternativeSubPlan::GetClassData() const {
  return &_class_data_;
}

void AlternativeSubPlan::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlternativeSubPlan*>(&to_msg);
  auto& from = static_cast<const AlternativeSubPlan&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlternativeSubPlan)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_subplans()->MergeFrom(
      from._internal_subplans());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlternativeSubPlan::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlternativeSubPlan::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlternativeSubPlan::InternalSwap(AlternativeSubPlan* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.subplans_.InternalSwap(&other->_impl_.subplans_);
  swap(_impl_.xpr_, other->_impl_.xpr_);
}

::google::protobuf::Metadata AlternativeSubPlan::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[33]);
}
// ===================================================================

class FieldSelect::_Internal {
 public:
  using HasBits = decltype(std::declval<FieldSelect>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const FieldSelect* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const FieldSelect* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& FieldSelect::_Internal::xpr(const FieldSelect* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& FieldSelect::_Internal::arg(const FieldSelect* msg) {
  return *msg->_impl_.arg_;
}
FieldSelect::FieldSelect(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldSelect)
}
inline PROTOBUF_NDEBUG_INLINE FieldSelect::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

FieldSelect::FieldSelect(
    ::google::protobuf::Arena* arena,
    const FieldSelect& from)
    : ::google::protobuf::Message(arena) {
  FieldSelect* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, fieldnum_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, fieldnum_),
           offsetof(Impl_, resultcollid_) -
               offsetof(Impl_, fieldnum_) +
               sizeof(Impl_::resultcollid_));

  // @@protoc_insertion_point(copy_constructor:pg_query.FieldSelect)
}
inline PROTOBUF_NDEBUG_INLINE FieldSelect::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void FieldSelect::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, resultcollid_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::resultcollid_));
}
FieldSelect::~FieldSelect() {
  // @@protoc_insertion_point(destructor:pg_query.FieldSelect)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FieldSelect::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FieldSelect::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FieldSelect)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.fieldnum_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.resultcollid_) -
      reinterpret_cast<char*>(&_impl_.fieldnum_)) + sizeof(_impl_.resultcollid_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FieldSelect::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 2, 0, 2> FieldSelect::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FieldSelect_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.arg_)}},
    // int32 fieldnum = 3 [json_name = "fieldnum"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldSelect, _impl_.fieldnum_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.fieldnum_)}},
    // uint32 resulttype = 4 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldSelect, _impl_.resulttype_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resulttype_)}},
    // int32 resulttypmod = 5 [json_name = "resulttypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldSelect, _impl_.resulttypmod_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resulttypmod_)}},
    // uint32 resultcollid = 6 [json_name = "resultcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldSelect, _impl_.resultcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resultcollid_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 fieldnum = 3 [json_name = "fieldnum"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.fieldnum_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 resulttype = 4 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 resulttypmod = 5 [json_name = "resulttypmod"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resulttypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 resultcollid = 6 [json_name = "resultcollid"];
    {PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resultcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* FieldSelect::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FieldSelect)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->_internal_fieldnum() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_fieldnum(), target);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_resultcollid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FieldSelect)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // int32 fieldnum = 3 [json_name = "fieldnum"];
  if (this->_internal_fieldnum() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_fieldnum());
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resultcollid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FieldSelect::_class_data_ = {
    FieldSelect::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FieldSelect::GetClassData() const {
  return &_class_data_;
}

void FieldSelect::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FieldSelect*>(&to_msg);
  auto& from = static_cast<const FieldSelect&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FieldSelect)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_fieldnum() != 0) {
    _this->_internal_set_fieldnum(from._internal_fieldnum());
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FieldSelect::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FieldSelect::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FieldSelect::InternalSwap(FieldSelect* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.resultcollid_)
      + sizeof(FieldSelect::_impl_.resultcollid_)
      - PROTOBUF_FIELD_OFFSET(FieldSelect, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata FieldSelect::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[34]);
}
// ===================================================================

class FieldStore::_Internal {
 public:
  using HasBits = decltype(std::declval<FieldStore>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FieldStore, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const FieldStore* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const FieldStore* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& FieldStore::_Internal::xpr(const FieldStore* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& FieldStore::_Internal::arg(const FieldStore* msg) {
  return *msg->_impl_.arg_;
}
FieldStore::FieldStore(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FieldStore)
}
inline PROTOBUF_NDEBUG_INLINE FieldStore::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        newvals_{visibility, arena, from.newvals_},
        fieldnums_{visibility, arena, from.fieldnums_} {}

FieldStore::FieldStore(
    ::google::protobuf::Arena* arena,
    const FieldStore& from)
    : ::google::protobuf::Message(arena) {
  FieldStore* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.resulttype_ = from._impl_.resulttype_;

  // @@protoc_insertion_point(copy_constructor:pg_query.FieldStore)
}
inline PROTOBUF_NDEBUG_INLINE FieldStore::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        newvals_{visibility, arena},
        fieldnums_{visibility, arena} {}

inline void FieldStore::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, resulttype_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::resulttype_));
}
FieldStore::~FieldStore() {
  // @@protoc_insertion_point(destructor:pg_query.FieldStore)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FieldStore::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FieldStore::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FieldStore)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.newvals_.Clear();
  _impl_.fieldnums_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  _impl_.resulttype_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FieldStore::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 4, 0, 2> FieldStore::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FieldStore, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FieldStore_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.arg_)}},
    // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.newvals_)}},
    // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.fieldnums_)}},
    // uint32 resulttype = 5 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FieldStore, _impl_.resulttype_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.resulttype_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
    {PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.newvals_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
    {PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.fieldnums_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 5 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* FieldStore::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FieldStore)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_newvals_size()); i < n; i++) {
    const auto& repfield = this->_internal_newvals().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fieldnums_size()); i < n; i++) {
    const auto& repfield = this->_internal_fieldnums().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_resulttype(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FieldStore)
  return target;
}

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

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

  // repeated .pg_query.Node newvals = 3 [json_name = "newvals"];
  total_size += 1UL * this->_internal_newvals_size();
  for (const auto& msg : this->_internal_newvals()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node fieldnums = 4 [json_name = "fieldnums"];
  total_size += 1UL * this->_internal_fieldnums_size();
  for (const auto& msg : this->_internal_fieldnums()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 resulttype = 5 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FieldStore::_class_data_ = {
    FieldStore::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FieldStore::GetClassData() const {
  return &_class_data_;
}

void FieldStore::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FieldStore*>(&to_msg);
  auto& from = static_cast<const FieldStore&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FieldStore)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_newvals()->MergeFrom(
      from._internal_newvals());
  _this->_internal_mutable_fieldnums()->MergeFrom(
      from._internal_fieldnums());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FieldStore::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FieldStore::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FieldStore::InternalSwap(FieldStore* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.newvals_.InternalSwap(&other->_impl_.newvals_);
  _impl_.fieldnums_.InternalSwap(&other->_impl_.fieldnums_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.resulttype_)
      + sizeof(FieldStore::_impl_.resulttype_)
      - PROTOBUF_FIELD_OFFSET(FieldStore, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata FieldStore::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[35]);
}
// ===================================================================

class RelabelType::_Internal {
 public:
  using HasBits = decltype(std::declval<RelabelType>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RelabelType, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const RelabelType* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const RelabelType* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& RelabelType::_Internal::xpr(const RelabelType* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& RelabelType::_Internal::arg(const RelabelType* msg) {
  return *msg->_impl_.arg_;
}
RelabelType::RelabelType(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RelabelType)
}
inline PROTOBUF_NDEBUG_INLINE RelabelType::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

RelabelType::RelabelType(
    ::google::protobuf::Arena* arena,
    const RelabelType& from)
    : ::google::protobuf::Message(arena) {
  RelabelType* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resulttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resulttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, resulttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RelabelType)
}
inline PROTOBUF_NDEBUG_INLINE RelabelType::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RelabelType::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
RelabelType::~RelabelType() {
  // @@protoc_insertion_point(destructor:pg_query.RelabelType)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RelabelType::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RelabelType::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RelabelType)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.resulttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RelabelType::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 2, 0, 2> RelabelType::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RelabelType, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RelabelType_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.arg_)}},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RelabelType, _impl_.resulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resulttype_)}},
    // int32 resulttypmod = 4 [json_name = "resulttypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RelabelType, _impl_.resulttypmod_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resulttypmod_)}},
    // uint32 resultcollid = 5 [json_name = "resultcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RelabelType, _impl_.resultcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resultcollid_)}},
    // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RelabelType, _impl_.relabelformat_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.relabelformat_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RelabelType, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 resulttypmod = 4 [json_name = "resulttypmod"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resulttypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 resultcollid = 5 [json_name = "resultcollid"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.resultcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.relabelformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RelabelType::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RelabelType)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->_internal_relabelformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_relabelformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RelabelType)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm relabelformat = 6 [json_name = "relabelformat"];
  if (this->_internal_relabelformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_relabelformat());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RelabelType::_class_data_ = {
    RelabelType::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RelabelType::GetClassData() const {
  return &_class_data_;
}

void RelabelType::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RelabelType*>(&to_msg);
  auto& from = static_cast<const RelabelType&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RelabelType)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_relabelformat() != 0) {
    _this->_internal_set_relabelformat(from._internal_relabelformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RelabelType::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RelabelType::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RelabelType::InternalSwap(RelabelType* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.location_)
      + sizeof(RelabelType::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RelabelType, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata RelabelType::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[36]);
}
// ===================================================================

class CoerceViaIO::_Internal {
 public:
  using HasBits = decltype(std::declval<CoerceViaIO>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CoerceViaIO* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const CoerceViaIO* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& CoerceViaIO::_Internal::xpr(const CoerceViaIO* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& CoerceViaIO::_Internal::arg(const CoerceViaIO* msg) {
  return *msg->_impl_.arg_;
}
CoerceViaIO::CoerceViaIO(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceViaIO)
}
inline PROTOBUF_NDEBUG_INLINE CoerceViaIO::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CoerceViaIO::CoerceViaIO(
    ::google::protobuf::Arena* arena,
    const CoerceViaIO& from)
    : ::google::protobuf::Message(arena) {
  CoerceViaIO* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resulttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resulttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, resulttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceViaIO)
}
inline PROTOBUF_NDEBUG_INLINE CoerceViaIO::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CoerceViaIO::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CoerceViaIO::~CoerceViaIO() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceViaIO)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CoerceViaIO::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CoerceViaIO::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CoerceViaIO)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.resulttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CoerceViaIO::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 2, 0, 2> CoerceViaIO::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CoerceViaIO_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.arg_)}},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceViaIO, _impl_.resulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.resulttype_)}},
    // uint32 resultcollid = 4 [json_name = "resultcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceViaIO, _impl_.resultcollid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.resultcollid_)}},
    // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceViaIO, _impl_.coerceformat_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.coerceformat_)}},
    // int32 location = 6 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceViaIO, _impl_.location_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 resultcollid = 4 [json_name = "resultcollid"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.resultcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.coerceformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 6 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CoerceViaIO::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceViaIO)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_resulttype(), target);
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_coerceformat(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CoerceViaIO)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // uint32 resultcollid = 4 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 5 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CoerceViaIO::_class_data_ = {
    CoerceViaIO::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CoerceViaIO::GetClassData() const {
  return &_class_data_;
}

void CoerceViaIO::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CoerceViaIO*>(&to_msg);
  auto& from = static_cast<const CoerceViaIO&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceViaIO)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coerceformat() != 0) {
    _this->_internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CoerceViaIO::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CoerceViaIO::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CoerceViaIO::InternalSwap(CoerceViaIO* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.location_)
      + sizeof(CoerceViaIO::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceViaIO, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CoerceViaIO::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[37]);
}
// ===================================================================

class ArrayCoerceExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<ArrayCoerceExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const ArrayCoerceExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const ArrayCoerceExpr* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& elemexpr(const ArrayCoerceExpr* msg);
  static void set_has_elemexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& ArrayCoerceExpr::_Internal::xpr(const ArrayCoerceExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& ArrayCoerceExpr::_Internal::arg(const ArrayCoerceExpr* msg) {
  return *msg->_impl_.arg_;
}
const ::pg_query::Node& ArrayCoerceExpr::_Internal::elemexpr(const ArrayCoerceExpr* msg) {
  return *msg->_impl_.elemexpr_;
}
ArrayCoerceExpr::ArrayCoerceExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayCoerceExpr)
}
inline PROTOBUF_NDEBUG_INLINE ArrayCoerceExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ArrayCoerceExpr::ArrayCoerceExpr(
    ::google::protobuf::Arena* arena,
    const ArrayCoerceExpr& from)
    : ::google::protobuf::Message(arena) {
  ArrayCoerceExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.elemexpr_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.elemexpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resulttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resulttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, resulttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayCoerceExpr)
}
inline PROTOBUF_NDEBUG_INLINE ArrayCoerceExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ArrayCoerceExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
ArrayCoerceExpr::~ArrayCoerceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayCoerceExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ArrayCoerceExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  delete _impl_.elemexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ArrayCoerceExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ArrayCoerceExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.elemexpr_ != nullptr);
      _impl_.elemexpr_->Clear();
    }
  }
  ::memset(&_impl_.resulttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ArrayCoerceExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 3, 0, 2> ArrayCoerceExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ArrayCoerceExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayCoerceExpr, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.arg_)}},
    // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.elemexpr_)}},
    // uint32 resulttype = 4 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayCoerceExpr, _impl_.resulttype_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resulttype_)}},
    // int32 resulttypmod = 5 [json_name = "resulttypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayCoerceExpr, _impl_.resulttypmod_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resulttypmod_)}},
    // uint32 resultcollid = 6 [json_name = "resultcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayCoerceExpr, _impl_.resultcollid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resultcollid_)}},
    // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayCoerceExpr, _impl_.coerceformat_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.coerceformat_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.elemexpr_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 4 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 resulttypmod = 5 [json_name = "resulttypmod"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resulttypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 resultcollid = 6 [json_name = "resultcollid"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.resultcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.coerceformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ArrayCoerceExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ArrayCoerceExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::elemexpr(this),
        _Internal::elemexpr(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_coerceformat(), target);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ArrayCoerceExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

    // .pg_query.Node elemexpr = 3 [json_name = "elemexpr"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.elemexpr_);
    }

  }
  // uint32 resulttype = 4 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 5 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 6 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coerceformat = 7 [json_name = "coerceformat"];
  if (this->_internal_coerceformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_coerceformat());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ArrayCoerceExpr::_class_data_ = {
    ArrayCoerceExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ArrayCoerceExpr::GetClassData() const {
  return &_class_data_;
}

void ArrayCoerceExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ArrayCoerceExpr*>(&to_msg);
  auto& from = static_cast<const ArrayCoerceExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ArrayCoerceExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_elemexpr()->::pg_query::Node::MergeFrom(
          from._internal_elemexpr());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coerceformat() != 0) {
    _this->_internal_set_coerceformat(from._internal_coerceformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ArrayCoerceExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ArrayCoerceExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ArrayCoerceExpr::InternalSwap(ArrayCoerceExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.location_)
      + sizeof(ArrayCoerceExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ArrayCoerceExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata ArrayCoerceExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[38]);
}
// ===================================================================

class ConvertRowtypeExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<ConvertRowtypeExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const ConvertRowtypeExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const ConvertRowtypeExpr* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& ConvertRowtypeExpr::_Internal::xpr(const ConvertRowtypeExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& ConvertRowtypeExpr::_Internal::arg(const ConvertRowtypeExpr* msg) {
  return *msg->_impl_.arg_;
}
ConvertRowtypeExpr::ConvertRowtypeExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConvertRowtypeExpr)
}
inline PROTOBUF_NDEBUG_INLINE ConvertRowtypeExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ConvertRowtypeExpr::ConvertRowtypeExpr(
    ::google::protobuf::Arena* arena,
    const ConvertRowtypeExpr& from)
    : ::google::protobuf::Message(arena) {
  ConvertRowtypeExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resulttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resulttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, resulttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ConvertRowtypeExpr)
}
inline PROTOBUF_NDEBUG_INLINE ConvertRowtypeExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ConvertRowtypeExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
ConvertRowtypeExpr::~ConvertRowtypeExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ConvertRowtypeExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ConvertRowtypeExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ConvertRowtypeExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ConvertRowtypeExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.resulttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ConvertRowtypeExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> ConvertRowtypeExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ConvertRowtypeExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.arg_)}},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ConvertRowtypeExpr, _impl_.resulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.resulttype_)}},
    // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ConvertRowtypeExpr, _impl_.convertformat_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.convertformat_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ConvertRowtypeExpr, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
    {PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.convertformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ConvertRowtypeExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ConvertRowtypeExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_resulttype(), target);
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->_internal_convertformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_convertformat(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ConvertRowtypeExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // .pg_query.CoercionForm convertformat = 4 [json_name = "convertformat"];
  if (this->_internal_convertformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_convertformat());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ConvertRowtypeExpr::_class_data_ = {
    ConvertRowtypeExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ConvertRowtypeExpr::GetClassData() const {
  return &_class_data_;
}

void ConvertRowtypeExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ConvertRowtypeExpr*>(&to_msg);
  auto& from = static_cast<const ConvertRowtypeExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ConvertRowtypeExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_convertformat() != 0) {
    _this->_internal_set_convertformat(from._internal_convertformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ConvertRowtypeExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ConvertRowtypeExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ConvertRowtypeExpr::InternalSwap(ConvertRowtypeExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.location_)
      + sizeof(ConvertRowtypeExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ConvertRowtypeExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata ConvertRowtypeExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[39]);
}
// ===================================================================

class CollateExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CollateExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CollateExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const CollateExpr* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& CollateExpr::_Internal::xpr(const CollateExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& CollateExpr::_Internal::arg(const CollateExpr* msg) {
  return *msg->_impl_.arg_;
}
CollateExpr::CollateExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateExpr)
}
inline PROTOBUF_NDEBUG_INLINE CollateExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CollateExpr::CollateExpr(
    ::google::protobuf::Arena* arena,
    const CollateExpr& from)
    : ::google::protobuf::Message(arena) {
  CollateExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, coll_oid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, coll_oid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, coll_oid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CollateExpr)
}
inline PROTOBUF_NDEBUG_INLINE CollateExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CollateExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CollateExpr::~CollateExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CollateExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CollateExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CollateExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CollateExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.coll_oid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.coll_oid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CollateExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> CollateExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CollateExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CollateExpr, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.arg_)}},
    // uint32 coll_oid = 3 [json_name = "collOid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CollateExpr, _impl_.coll_oid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.coll_oid_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 coll_oid = 3 [json_name = "collOid"];
    {PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.coll_oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CollateExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CollateExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_coll_oid(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CollateExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 coll_oid = 3 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_coll_oid());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CollateExpr::_class_data_ = {
    CollateExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CollateExpr::GetClassData() const {
  return &_class_data_;
}

void CollateExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CollateExpr*>(&to_msg);
  auto& from = static_cast<const CollateExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CollateExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_coll_oid() != 0) {
    _this->_internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CollateExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CollateExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CollateExpr::InternalSwap(CollateExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.location_)
      + sizeof(CollateExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CollateExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CollateExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[40]);
}
// ===================================================================

class CaseExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CaseExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CaseExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const CaseExpr* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& defresult(const CaseExpr* msg);
  static void set_has_defresult(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& CaseExpr::_Internal::xpr(const CaseExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& CaseExpr::_Internal::arg(const CaseExpr* msg) {
  return *msg->_impl_.arg_;
}
const ::pg_query::Node& CaseExpr::_Internal::defresult(const CaseExpr* msg) {
  return *msg->_impl_.defresult_;
}
CaseExpr::CaseExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseExpr)
}
inline PROTOBUF_NDEBUG_INLINE CaseExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

CaseExpr::CaseExpr(
    ::google::protobuf::Arena* arena,
    const CaseExpr& from)
    : ::google::protobuf::Message(arena) {
  CaseExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.defresult_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.defresult_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, casetype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, casetype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, casetype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CaseExpr)
}
inline PROTOBUF_NDEBUG_INLINE CaseExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void CaseExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CaseExpr::~CaseExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CaseExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  delete _impl_.defresult_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CaseExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CaseExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.defresult_ != nullptr);
      _impl_.defresult_->Clear();
    }
  }
  ::memset(&_impl_.casetype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.casetype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CaseExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 4, 0, 2> CaseExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CaseExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.xpr_)}},
    // uint32 casetype = 2 [json_name = "casetype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseExpr, _impl_.casetype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.casetype_)}},
    // uint32 casecollid = 3 [json_name = "casecollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseExpr, _impl_.casecollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.casecollid_)}},
    // .pg_query.Node arg = 4 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.arg_)}},
    // repeated .pg_query.Node args = 5 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.args_)}},
    // .pg_query.Node defresult = 6 [json_name = "defresult"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 3, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.defresult_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseExpr, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 casetype = 2 [json_name = "casetype"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.casetype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 casecollid = 3 [json_name = "casecollid"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.casecollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.Node arg = 4 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 5 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.args_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node defresult = 6 [json_name = "defresult"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.defresult_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CaseExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->_internal_casetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_casetype(), target);
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->_internal_casecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_casecollid(), target);
  }

  // .pg_query.Node arg = 4 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node defresult = 6 [json_name = "defresult"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::defresult(this),
        _Internal::defresult(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CaseExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 5 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 4 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

    // .pg_query.Node defresult = 6 [json_name = "defresult"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.defresult_);
    }

  }
  // uint32 casetype = 2 [json_name = "casetype"];
  if (this->_internal_casetype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_casetype());
  }

  // uint32 casecollid = 3 [json_name = "casecollid"];
  if (this->_internal_casecollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_casecollid());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CaseExpr::_class_data_ = {
    CaseExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CaseExpr::GetClassData() const {
  return &_class_data_;
}

void CaseExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CaseExpr*>(&to_msg);
  auto& from = static_cast<const CaseExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_defresult()->::pg_query::Node::MergeFrom(
          from._internal_defresult());
    }
  }
  if (from._internal_casetype() != 0) {
    _this->_internal_set_casetype(from._internal_casetype());
  }
  if (from._internal_casecollid() != 0) {
    _this->_internal_set_casecollid(from._internal_casecollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CaseExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CaseExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CaseExpr::InternalSwap(CaseExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.location_)
      + sizeof(CaseExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CaseExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CaseExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[41]);
}
// ===================================================================

class CaseWhen::_Internal {
 public:
  using HasBits = decltype(std::declval<CaseWhen>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CaseWhen* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& expr(const CaseWhen* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& result(const CaseWhen* msg);
  static void set_has_result(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& CaseWhen::_Internal::xpr(const CaseWhen* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& CaseWhen::_Internal::expr(const CaseWhen* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::Node& CaseWhen::_Internal::result(const CaseWhen* msg) {
  return *msg->_impl_.result_;
}
CaseWhen::CaseWhen(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseWhen)
}
inline PROTOBUF_NDEBUG_INLINE CaseWhen::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CaseWhen::CaseWhen(
    ::google::protobuf::Arena* arena,
    const CaseWhen& from)
    : ::google::protobuf::Message(arena) {
  CaseWhen* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.expr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.result_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.result_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CaseWhen)
}
inline PROTOBUF_NDEBUG_INLINE CaseWhen::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CaseWhen::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CaseWhen::~CaseWhen() {
  // @@protoc_insertion_point(destructor:pg_query.CaseWhen)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CaseWhen::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.expr_;
  delete _impl_.result_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CaseWhen::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CaseWhen)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.result_ != nullptr);
      _impl_.result_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CaseWhen::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 3, 0, 2> CaseWhen::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CaseWhen_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseWhen, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.xpr_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.expr_)}},
    // .pg_query.Node result = 3 [json_name = "result"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.result_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.expr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node result = 3 [json_name = "result"];
    {PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.result_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CaseWhen::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseWhen)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node result = 3 [json_name = "result"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::result(this),
        _Internal::result(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CaseWhen)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node expr = 2 [json_name = "expr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.Node result = 3 [json_name = "result"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.result_);
    }

  }
  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CaseWhen::_class_data_ = {
    CaseWhen::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CaseWhen::GetClassData() const {
  return &_class_data_;
}

void CaseWhen::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CaseWhen*>(&to_msg);
  auto& from = static_cast<const CaseWhen&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseWhen)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_result()->::pg_query::Node::MergeFrom(
          from._internal_result());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CaseWhen::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CaseWhen::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CaseWhen::InternalSwap(CaseWhen* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.location_)
      + sizeof(CaseWhen::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CaseWhen, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CaseWhen::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[42]);
}
// ===================================================================

class CaseTestExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CaseTestExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CaseTestExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CaseTestExpr::_Internal::xpr(const CaseTestExpr* msg) {
  return *msg->_impl_.xpr_;
}
CaseTestExpr::CaseTestExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CaseTestExpr)
}
inline PROTOBUF_NDEBUG_INLINE CaseTestExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CaseTestExpr::CaseTestExpr(
    ::google::protobuf::Arena* arena,
    const CaseTestExpr& from)
    : ::google::protobuf::Message(arena) {
  CaseTestExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_id_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_id_),
           offsetof(Impl_, collation_) -
               offsetof(Impl_, type_id_) +
               sizeof(Impl_::collation_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CaseTestExpr)
}
inline PROTOBUF_NDEBUG_INLINE CaseTestExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CaseTestExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, collation_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::collation_));
}
CaseTestExpr::~CaseTestExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CaseTestExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CaseTestExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CaseTestExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CaseTestExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.type_id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.collation_) -
      reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.collation_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CaseTestExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 0, 2> CaseTestExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CaseTestExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // uint32 collation = 4 [json_name = "collation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseTestExpr, _impl_.collation_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.collation_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.xpr_)}},
    // uint32 type_id = 2 [json_name = "typeId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseTestExpr, _impl_.type_id_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.type_id_)}},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CaseTestExpr, _impl_.type_mod_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.type_mod_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 type_id = 2 [json_name = "typeId"];
    {PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.type_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.type_mod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 collation = 4 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CaseTestExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CaseTestExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_collation(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CaseTestExpr)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_collation());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CaseTestExpr::_class_data_ = {
    CaseTestExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CaseTestExpr::GetClassData() const {
  return &_class_data_;
}

void CaseTestExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CaseTestExpr*>(&to_msg);
  auto& from = static_cast<const CaseTestExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CaseTestExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CaseTestExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CaseTestExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CaseTestExpr::InternalSwap(CaseTestExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.collation_)
      + sizeof(CaseTestExpr::_impl_.collation_)
      - PROTOBUF_FIELD_OFFSET(CaseTestExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CaseTestExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[43]);
}
// ===================================================================

class ArrayExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<ArrayExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const ArrayExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& ArrayExpr::_Internal::xpr(const ArrayExpr* msg) {
  return *msg->_impl_.xpr_;
}
ArrayExpr::ArrayExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ArrayExpr)
}
inline PROTOBUF_NDEBUG_INLINE ArrayExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        elements_{visibility, arena, from.elements_} {}

ArrayExpr::ArrayExpr(
    ::google::protobuf::Arena* arena,
    const ArrayExpr& from)
    : ::google::protobuf::Message(arena) {
  ArrayExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, array_typeid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, array_typeid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, array_typeid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ArrayExpr)
}
inline PROTOBUF_NDEBUG_INLINE ArrayExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        elements_{visibility, arena} {}

inline void ArrayExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
ArrayExpr::~ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.ArrayExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ArrayExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ArrayExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ArrayExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.elements_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.array_typeid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.array_typeid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ArrayExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 2, 0, 2> ArrayExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ArrayExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.xpr_)}},
    // uint32 array_typeid = 2 [json_name = "array_typeid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayExpr, _impl_.array_typeid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.array_typeid_)}},
    // uint32 array_collid = 3 [json_name = "array_collid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayExpr, _impl_.array_collid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.array_collid_)}},
    // uint32 element_typeid = 4 [json_name = "element_typeid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayExpr, _impl_.element_typeid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.element_typeid_)}},
    // repeated .pg_query.Node elements = 5 [json_name = "elements"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.elements_)}},
    // bool multidims = 6 [json_name = "multidims"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ArrayExpr, _impl_.multidims_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.multidims_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ArrayExpr, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 array_typeid = 2 [json_name = "array_typeid"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.array_typeid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 array_collid = 3 [json_name = "array_collid"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.array_collid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 element_typeid = 4 [json_name = "element_typeid"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.element_typeid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node elements = 5 [json_name = "elements"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.elements_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool multidims = 6 [json_name = "multidims"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.multidims_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ArrayExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ArrayExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->_internal_array_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_array_typeid(), target);
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->_internal_array_collid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_array_collid(), target);
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->_internal_element_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_element_typeid(), target);
  }

  // repeated .pg_query.Node elements = 5 [json_name = "elements"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_elements_size()); i < n; i++) {
    const auto& repfield = this->_internal_elements().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool multidims = 6 [json_name = "multidims"];
  if (this->_internal_multidims() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_multidims(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ArrayExpr)
  return target;
}

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

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

  // repeated .pg_query.Node elements = 5 [json_name = "elements"];
  total_size += 1UL * this->_internal_elements_size();
  for (const auto& msg : this->_internal_elements()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 array_typeid = 2 [json_name = "array_typeid"];
  if (this->_internal_array_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_array_typeid());
  }

  // uint32 array_collid = 3 [json_name = "array_collid"];
  if (this->_internal_array_collid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_array_collid());
  }

  // uint32 element_typeid = 4 [json_name = "element_typeid"];
  if (this->_internal_element_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_element_typeid());
  }

  // bool multidims = 6 [json_name = "multidims"];
  if (this->_internal_multidims() != 0) {
    total_size += 2;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ArrayExpr::_class_data_ = {
    ArrayExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ArrayExpr::GetClassData() const {
  return &_class_data_;
}

void ArrayExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ArrayExpr*>(&to_msg);
  auto& from = static_cast<const ArrayExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ArrayExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_elements()->MergeFrom(
      from._internal_elements());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_array_typeid() != 0) {
    _this->_internal_set_array_typeid(from._internal_array_typeid());
  }
  if (from._internal_array_collid() != 0) {
    _this->_internal_set_array_collid(from._internal_array_collid());
  }
  if (from._internal_element_typeid() != 0) {
    _this->_internal_set_element_typeid(from._internal_element_typeid());
  }
  if (from._internal_multidims() != 0) {
    _this->_internal_set_multidims(from._internal_multidims());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ArrayExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ArrayExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ArrayExpr::InternalSwap(ArrayExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.elements_.InternalSwap(&other->_impl_.elements_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.location_)
      + sizeof(ArrayExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ArrayExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata ArrayExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[44]);
}
// ===================================================================

class RowExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<RowExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RowExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const RowExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& RowExpr::_Internal::xpr(const RowExpr* msg) {
  return *msg->_impl_.xpr_;
}
RowExpr::RowExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowExpr)
}
inline PROTOBUF_NDEBUG_INLINE RowExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_},
        colnames_{visibility, arena, from.colnames_} {}

RowExpr::RowExpr(
    ::google::protobuf::Arena* arena,
    const RowExpr& from)
    : ::google::protobuf::Message(arena) {
  RowExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, row_typeid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, row_typeid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, row_typeid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RowExpr)
}
inline PROTOBUF_NDEBUG_INLINE RowExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena},
        colnames_{visibility, arena} {}

inline void RowExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
RowExpr::~RowExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RowExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RowExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RowExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _impl_.colnames_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.row_typeid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.row_typeid_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RowExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 0, 2> RowExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RowExpr, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RowExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.xpr_)}},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.args_)}},
    // uint32 row_typeid = 3 [json_name = "row_typeid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowExpr, _impl_.row_typeid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.row_typeid_)}},
    // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowExpr, _impl_.row_format_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.row_format_)}},
    // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.colnames_)}},
    // int32 location = 6 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowExpr, _impl_.location_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 row_typeid = 3 [json_name = "row_typeid"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.row_typeid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.row_format_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.colnames_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 6 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RowExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->_internal_row_typeid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_row_typeid(), target);
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->_internal_row_format() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_row_format(), target);
  }

  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_colnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RowExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colnames = 5 [json_name = "colnames"];
  total_size += 1UL * this->_internal_colnames_size();
  for (const auto& msg : this->_internal_colnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 row_typeid = 3 [json_name = "row_typeid"];
  if (this->_internal_row_typeid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_row_typeid());
  }

  // .pg_query.CoercionForm row_format = 4 [json_name = "row_format"];
  if (this->_internal_row_format() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_row_format());
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RowExpr::_class_data_ = {
    RowExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RowExpr::GetClassData() const {
  return &_class_data_;
}

void RowExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RowExpr*>(&to_msg);
  auto& from = static_cast<const RowExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_colnames()->MergeFrom(
      from._internal_colnames());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_row_typeid() != 0) {
    _this->_internal_set_row_typeid(from._internal_row_typeid());
  }
  if (from._internal_row_format() != 0) {
    _this->_internal_set_row_format(from._internal_row_format());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RowExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RowExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RowExpr::InternalSwap(RowExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.colnames_.InternalSwap(&other->_impl_.colnames_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.location_)
      + sizeof(RowExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RowExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata RowExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[45]);
}
// ===================================================================

class RowCompareExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<RowCompareExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const RowCompareExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& RowCompareExpr::_Internal::xpr(const RowCompareExpr* msg) {
  return *msg->_impl_.xpr_;
}
RowCompareExpr::RowCompareExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowCompareExpr)
}
inline PROTOBUF_NDEBUG_INLINE RowCompareExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        opnos_{visibility, arena, from.opnos_},
        opfamilies_{visibility, arena, from.opfamilies_},
        inputcollids_{visibility, arena, from.inputcollids_},
        largs_{visibility, arena, from.largs_},
        rargs_{visibility, arena, from.rargs_} {}

RowCompareExpr::RowCompareExpr(
    ::google::protobuf::Arena* arena,
    const RowCompareExpr& from)
    : ::google::protobuf::Message(arena) {
  RowCompareExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.rctype_ = from._impl_.rctype_;

  // @@protoc_insertion_point(copy_constructor:pg_query.RowCompareExpr)
}
inline PROTOBUF_NDEBUG_INLINE RowCompareExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        opnos_{visibility, arena},
        opfamilies_{visibility, arena},
        inputcollids_{visibility, arena},
        largs_{visibility, arena},
        rargs_{visibility, arena} {}

inline void RowCompareExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, rctype_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::rctype_));
}
RowCompareExpr::~RowCompareExpr() {
  // @@protoc_insertion_point(destructor:pg_query.RowCompareExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RowCompareExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RowCompareExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RowCompareExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opnos_.Clear();
  _impl_.opfamilies_.Clear();
  _impl_.inputcollids_.Clear();
  _impl_.largs_.Clear();
  _impl_.rargs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  _impl_.rctype_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RowCompareExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 6, 0, 2> RowCompareExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RowCompareExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.xpr_)}},
    // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowCompareExpr, _impl_.rctype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rctype_)}},
    // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.opnos_)}},
    // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.opfamilies_)}},
    // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.inputcollids_)}},
    // repeated .pg_query.Node largs = 6 [json_name = "largs"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 4, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.largs_)}},
    // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 5, PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rargs_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rctype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.opnos_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.opfamilies_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.inputcollids_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node largs = 6 [json_name = "largs"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.largs_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
    {PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rargs_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RowCompareExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowCompareExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->_internal_rctype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_rctype(), target);
  }

  // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opnos_size()); i < n; i++) {
    const auto& repfield = this->_internal_opnos().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilies_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilies().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_inputcollids_size()); i < n; i++) {
    const auto& repfield = this->_internal_inputcollids().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node largs = 6 [json_name = "largs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_largs_size()); i < n; i++) {
    const auto& repfield = this->_internal_largs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_rargs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RowCompareExpr)
  return target;
}

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

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

  // repeated .pg_query.Node opnos = 3 [json_name = "opnos"];
  total_size += 1UL * this->_internal_opnos_size();
  for (const auto& msg : this->_internal_opnos()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opfamilies = 4 [json_name = "opfamilies"];
  total_size += 1UL * this->_internal_opfamilies_size();
  for (const auto& msg : this->_internal_opfamilies()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node inputcollids = 5 [json_name = "inputcollids"];
  total_size += 1UL * this->_internal_inputcollids_size();
  for (const auto& msg : this->_internal_inputcollids()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node largs = 6 [json_name = "largs"];
  total_size += 1UL * this->_internal_largs_size();
  for (const auto& msg : this->_internal_largs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node rargs = 7 [json_name = "rargs"];
  total_size += 1UL * this->_internal_rargs_size();
  for (const auto& msg : this->_internal_rargs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // .pg_query.RowCompareType rctype = 2 [json_name = "rctype"];
  if (this->_internal_rctype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_rctype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RowCompareExpr::_class_data_ = {
    RowCompareExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RowCompareExpr::GetClassData() const {
  return &_class_data_;
}

void RowCompareExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RowCompareExpr*>(&to_msg);
  auto& from = static_cast<const RowCompareExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowCompareExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_opnos()->MergeFrom(
      from._internal_opnos());
  _this->_internal_mutable_opfamilies()->MergeFrom(
      from._internal_opfamilies());
  _this->_internal_mutable_inputcollids()->MergeFrom(
      from._internal_inputcollids());
  _this->_internal_mutable_largs()->MergeFrom(
      from._internal_largs());
  _this->_internal_mutable_rargs()->MergeFrom(
      from._internal_rargs());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_rctype() != 0) {
    _this->_internal_set_rctype(from._internal_rctype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RowCompareExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RowCompareExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RowCompareExpr::InternalSwap(RowCompareExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.opnos_.InternalSwap(&other->_impl_.opnos_);
  _impl_.opfamilies_.InternalSwap(&other->_impl_.opfamilies_);
  _impl_.inputcollids_.InternalSwap(&other->_impl_.inputcollids_);
  _impl_.largs_.InternalSwap(&other->_impl_.largs_);
  _impl_.rargs_.InternalSwap(&other->_impl_.rargs_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.rctype_)
      + sizeof(RowCompareExpr::_impl_.rctype_)
      - PROTOBUF_FIELD_OFFSET(RowCompareExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata RowCompareExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[46]);
}
// ===================================================================

class CoalesceExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CoalesceExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CoalesceExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CoalesceExpr::_Internal::xpr(const CoalesceExpr* msg) {
  return *msg->_impl_.xpr_;
}
CoalesceExpr::CoalesceExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoalesceExpr)
}
inline PROTOBUF_NDEBUG_INLINE CoalesceExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

CoalesceExpr::CoalesceExpr(
    ::google::protobuf::Arena* arena,
    const CoalesceExpr& from)
    : ::google::protobuf::Message(arena) {
  CoalesceExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, coalescetype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, coalescetype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, coalescetype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CoalesceExpr)
}
inline PROTOBUF_NDEBUG_INLINE CoalesceExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void CoalesceExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CoalesceExpr::~CoalesceExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CoalesceExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CoalesceExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CoalesceExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CoalesceExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.coalescetype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.coalescetype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CoalesceExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> CoalesceExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CoalesceExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.xpr_)}},
    // uint32 coalescetype = 2 [json_name = "coalescetype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoalesceExpr, _impl_.coalescetype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.coalescetype_)}},
    // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoalesceExpr, _impl_.coalescecollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.coalescecollid_)}},
    // repeated .pg_query.Node args = 4 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.args_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoalesceExpr, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 coalescetype = 2 [json_name = "coalescetype"];
    {PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.coalescetype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
    {PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.coalescecollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 4 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CoalesceExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoalesceExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->_internal_coalescetype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_coalescetype(), target);
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->_internal_coalescecollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_coalescecollid(), target);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CoalesceExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 coalescetype = 2 [json_name = "coalescetype"];
  if (this->_internal_coalescetype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_coalescetype());
  }

  // uint32 coalescecollid = 3 [json_name = "coalescecollid"];
  if (this->_internal_coalescecollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_coalescecollid());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CoalesceExpr::_class_data_ = {
    CoalesceExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CoalesceExpr::GetClassData() const {
  return &_class_data_;
}

void CoalesceExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CoalesceExpr*>(&to_msg);
  auto& from = static_cast<const CoalesceExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoalesceExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_coalescetype() != 0) {
    _this->_internal_set_coalescetype(from._internal_coalescetype());
  }
  if (from._internal_coalescecollid() != 0) {
    _this->_internal_set_coalescecollid(from._internal_coalescecollid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CoalesceExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CoalesceExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CoalesceExpr::InternalSwap(CoalesceExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.location_)
      + sizeof(CoalesceExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoalesceExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CoalesceExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[47]);
}
// ===================================================================

class MinMaxExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<MinMaxExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const MinMaxExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& MinMaxExpr::_Internal::xpr(const MinMaxExpr* msg) {
  return *msg->_impl_.xpr_;
}
MinMaxExpr::MinMaxExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MinMaxExpr)
}
inline PROTOBUF_NDEBUG_INLINE MinMaxExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

MinMaxExpr::MinMaxExpr(
    ::google::protobuf::Arena* arena,
    const MinMaxExpr& from)
    : ::google::protobuf::Message(arena) {
  MinMaxExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, minmaxtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, minmaxtype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, minmaxtype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.MinMaxExpr)
}
inline PROTOBUF_NDEBUG_INLINE MinMaxExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void MinMaxExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
MinMaxExpr::~MinMaxExpr() {
  // @@protoc_insertion_point(destructor:pg_query.MinMaxExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MinMaxExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MinMaxExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MinMaxExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.minmaxtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.minmaxtype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MinMaxExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 2, 0, 2> MinMaxExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MinMaxExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.xpr_)}},
    // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MinMaxExpr, _impl_.minmaxtype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.minmaxtype_)}},
    // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MinMaxExpr, _impl_.minmaxcollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.minmaxcollid_)}},
    // uint32 inputcollid = 4 [json_name = "inputcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MinMaxExpr, _impl_.inputcollid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.inputcollid_)}},
    // .pg_query.MinMaxOp op = 5 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MinMaxExpr, _impl_.op_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.op_)}},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 1, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.args_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MinMaxExpr, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.minmaxtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.minmaxcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inputcollid = 4 [json_name = "inputcollid"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.inputcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.MinMaxOp op = 5 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* MinMaxExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MinMaxExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->_internal_minmaxtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_minmaxtype(), target);
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->_internal_minmaxcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_minmaxcollid(), target);
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_inputcollid(), target);
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_op(), target);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MinMaxExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 minmaxtype = 2 [json_name = "minmaxtype"];
  if (this->_internal_minmaxtype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_minmaxtype());
  }

  // uint32 minmaxcollid = 3 [json_name = "minmaxcollid"];
  if (this->_internal_minmaxcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_minmaxcollid());
  }

  // uint32 inputcollid = 4 [json_name = "inputcollid"];
  if (this->_internal_inputcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inputcollid());
  }

  // .pg_query.MinMaxOp op = 5 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MinMaxExpr::_class_data_ = {
    MinMaxExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MinMaxExpr::GetClassData() const {
  return &_class_data_;
}

void MinMaxExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MinMaxExpr*>(&to_msg);
  auto& from = static_cast<const MinMaxExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MinMaxExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_minmaxtype() != 0) {
    _this->_internal_set_minmaxtype(from._internal_minmaxtype());
  }
  if (from._internal_minmaxcollid() != 0) {
    _this->_internal_set_minmaxcollid(from._internal_minmaxcollid());
  }
  if (from._internal_inputcollid() != 0) {
    _this->_internal_set_inputcollid(from._internal_inputcollid());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MinMaxExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MinMaxExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MinMaxExpr::InternalSwap(MinMaxExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.location_)
      + sizeof(MinMaxExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(MinMaxExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata MinMaxExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[48]);
}
// ===================================================================

class SQLValueFunction::_Internal {
 public:
  using HasBits = decltype(std::declval<SQLValueFunction>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const SQLValueFunction* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& SQLValueFunction::_Internal::xpr(const SQLValueFunction* msg) {
  return *msg->_impl_.xpr_;
}
SQLValueFunction::SQLValueFunction(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SQLValueFunction)
}
inline PROTOBUF_NDEBUG_INLINE SQLValueFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

SQLValueFunction::SQLValueFunction(
    ::google::protobuf::Arena* arena,
    const SQLValueFunction& from)
    : ::google::protobuf::Message(arena) {
  SQLValueFunction* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, op_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, op_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, op_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SQLValueFunction)
}
inline PROTOBUF_NDEBUG_INLINE SQLValueFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SQLValueFunction::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
SQLValueFunction::~SQLValueFunction() {
  // @@protoc_insertion_point(destructor:pg_query.SQLValueFunction)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SQLValueFunction::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SQLValueFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SQLValueFunction)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.op_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SQLValueFunction::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 0, 2> SQLValueFunction::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SQLValueFunction_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.xpr_)}},
    // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SQLValueFunction, _impl_.op_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.op_)}},
    // uint32 type = 3 [json_name = "type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SQLValueFunction, _impl_.type_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.type_)}},
    // int32 typmod = 4 [json_name = "typmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SQLValueFunction, _impl_.typmod_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.typmod_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SQLValueFunction, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // uint32 type = 3 [json_name = "type"];
    {PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 typmod = 4 [json_name = "typmod"];
    {PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.typmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SQLValueFunction::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SQLValueFunction)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_op(), target);
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_type(), target);
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_typmod(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SQLValueFunction)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // .pg_query.SQLValueFunctionOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // uint32 type = 3 [json_name = "type"];
  if (this->_internal_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type());
  }

  // int32 typmod = 4 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_typmod());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SQLValueFunction::_class_data_ = {
    SQLValueFunction::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SQLValueFunction::GetClassData() const {
  return &_class_data_;
}

void SQLValueFunction::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SQLValueFunction*>(&to_msg);
  auto& from = static_cast<const SQLValueFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SQLValueFunction)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_typmod() != 0) {
    _this->_internal_set_typmod(from._internal_typmod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SQLValueFunction::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SQLValueFunction::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SQLValueFunction::InternalSwap(SQLValueFunction* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.location_)
      + sizeof(SQLValueFunction::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SQLValueFunction, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata SQLValueFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[49]);
}
// ===================================================================

class XmlExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<XmlExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const XmlExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& XmlExpr::_Internal::xpr(const XmlExpr* msg) {
  return *msg->_impl_.xpr_;
}
XmlExpr::XmlExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlExpr)
}
inline PROTOBUF_NDEBUG_INLINE XmlExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        named_args_{visibility, arena, from.named_args_},
        arg_names_{visibility, arena, from.arg_names_},
        args_{visibility, arena, from.args_},
        name_(arena, from.name_) {}

XmlExpr::XmlExpr(
    ::google::protobuf::Arena* arena,
    const XmlExpr& from)
    : ::google::protobuf::Message(arena) {
  XmlExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, op_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, op_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, op_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.XmlExpr)
}
inline PROTOBUF_NDEBUG_INLINE XmlExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        named_args_{visibility, arena},
        arg_names_{visibility, arena},
        args_{visibility, arena},
        name_(arena) {}

inline void XmlExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
XmlExpr::~XmlExpr() {
  // @@protoc_insertion_point(destructor:pg_query.XmlExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void XmlExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void XmlExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.XmlExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.named_args_.Clear();
  _impl_.arg_names_.Clear();
  _impl_.args_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.op_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* XmlExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 11, 4, 37, 2> XmlExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_._has_bits_),
    0, // no _extensions_
    11, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965248,  // skipmap
    offsetof(decltype(_table_), field_entries),
    11,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_XmlExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xpr_)}},
    // .pg_query.XmlExprOp op = 2 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlExpr, _impl_.op_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.op_)}},
    // string name = 3 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.name_)}},
    // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.named_args_)}},
    // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.arg_names_)}},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 3, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.args_)}},
    // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlExpr, _impl_.xmloption_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xmloption_)}},
    // bool indent = 8 [json_name = "indent"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(XmlExpr, _impl_.indent_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.indent_)}},
    // uint32 type = 9 [json_name = "type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlExpr, _impl_.type_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.type_)}},
    // int32 typmod = 10 [json_name = "typmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlExpr, _impl_.typmod_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.typmod_)}},
    // int32 location = 11 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlExpr, _impl_.location_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.XmlExprOp op = 2 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string name = 3 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.named_args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.arg_names_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.args_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xmloption_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool indent = 8 [json_name = "indent"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.indent_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 type = 9 [json_name = "type"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 typmod = 10 [json_name = "typmod"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.typmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 11 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\20\0\0\4\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.XmlExpr"
    "name"
  }},
};

::uint8_t* XmlExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.XmlExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_op(), target);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.XmlExpr.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_named_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_named_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_arg_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_arg_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_xmloption(), target);
  }

  // bool indent = 8 [json_name = "indent"];
  if (this->_internal_indent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_indent(), target);
  }

  // uint32 type = 9 [json_name = "type"];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this->_internal_type(), target);
  }

  // int32 typmod = 10 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<10>(
            stream, this->_internal_typmod(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.XmlExpr)
  return target;
}

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

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

  // repeated .pg_query.Node named_args = 4 [json_name = "named_args"];
  total_size += 1UL * this->_internal_named_args_size();
  for (const auto& msg : this->_internal_named_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node arg_names = 5 [json_name = "arg_names"];
  total_size += 1UL * this->_internal_arg_names_size();
  for (const auto& msg : this->_internal_arg_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // .pg_query.XmlExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // .pg_query.XmlOptionType xmloption = 7 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // bool indent = 8 [json_name = "indent"];
  if (this->_internal_indent() != 0) {
    total_size += 2;
  }

  // uint32 type = 9 [json_name = "type"];
  if (this->_internal_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type());
  }

  // int32 typmod = 10 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_typmod());
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData XmlExpr::_class_data_ = {
    XmlExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* XmlExpr::GetClassData() const {
  return &_class_data_;
}

void XmlExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<XmlExpr*>(&to_msg);
  auto& from = static_cast<const XmlExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.XmlExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_named_args()->MergeFrom(
      from._internal_named_args());
  _this->_internal_mutable_arg_names()->MergeFrom(
      from._internal_arg_names());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_xmloption() != 0) {
    _this->_internal_set_xmloption(from._internal_xmloption());
  }
  if (from._internal_indent() != 0) {
    _this->_internal_set_indent(from._internal_indent());
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_typmod() != 0) {
    _this->_internal_set_typmod(from._internal_typmod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool XmlExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* XmlExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void XmlExpr::InternalSwap(XmlExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.named_args_.InternalSwap(&other->_impl_.named_args_);
  _impl_.arg_names_.InternalSwap(&other->_impl_.arg_names_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.location_)
      + sizeof(XmlExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(XmlExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata XmlExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[50]);
}
// ===================================================================

class JsonFormat::_Internal {
 public:
};

JsonFormat::JsonFormat(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonFormat)
}
JsonFormat::JsonFormat(
    ::google::protobuf::Arena* arena, const JsonFormat& from)
    : JsonFormat(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE JsonFormat::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonFormat::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, format_type_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, format_type_) +
               sizeof(Impl_::location_));
}
JsonFormat::~JsonFormat() {
  // @@protoc_insertion_point(destructor:pg_query.JsonFormat)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonFormat::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonFormat::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonFormat)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.format_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.format_type_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonFormat::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 0, 2> JsonFormat::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_JsonFormat_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFormat, _impl_.format_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.format_type_)}},
    // .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFormat, _impl_.encoding_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.encoding_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFormat, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"];
    {PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.format_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"];
    {PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.encoding_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* JsonFormat::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonFormat)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"];
  if (this->_internal_format_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_format_type(), target);
  }

  // .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"];
  if (this->_internal_encoding() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_encoding(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonFormat)
  return target;
}

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

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

  // .pg_query.JsonFormatType format_type = 1 [json_name = "format_type"];
  if (this->_internal_format_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_format_type());
  }

  // .pg_query.JsonEncoding encoding = 2 [json_name = "encoding"];
  if (this->_internal_encoding() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_encoding());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonFormat::_class_data_ = {
    JsonFormat::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonFormat::GetClassData() const {
  return &_class_data_;
}

void JsonFormat::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonFormat*>(&to_msg);
  auto& from = static_cast<const JsonFormat&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonFormat)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_format_type() != 0) {
    _this->_internal_set_format_type(from._internal_format_type());
  }
  if (from._internal_encoding() != 0) {
    _this->_internal_set_encoding(from._internal_encoding());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonFormat::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonFormat::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonFormat::InternalSwap(JsonFormat* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.location_)
      + sizeof(JsonFormat::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonFormat, _impl_.format_type_)>(
          reinterpret_cast<char*>(&_impl_.format_type_),
          reinterpret_cast<char*>(&other->_impl_.format_type_));
}

::google::protobuf::Metadata JsonFormat::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[51]);
}
// ===================================================================

class JsonReturning::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonReturning>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_._has_bits_);
  static const ::pg_query::JsonFormat& format(const JsonReturning* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::JsonFormat& JsonReturning::_Internal::format(const JsonReturning* msg) {
  return *msg->_impl_.format_;
}
JsonReturning::JsonReturning(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonReturning)
}
inline PROTOBUF_NDEBUG_INLINE JsonReturning::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonReturning::JsonReturning(
    ::google::protobuf::Arena* arena,
    const JsonReturning& from)
    : ::google::protobuf::Message(arena) {
  JsonReturning* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.format_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, typid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, typid_),
           offsetof(Impl_, typmod_) -
               offsetof(Impl_, typid_) +
               sizeof(Impl_::typmod_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonReturning)
}
inline PROTOBUF_NDEBUG_INLINE JsonReturning::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonReturning::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, format_),
           0,
           offsetof(Impl_, typmod_) -
               offsetof(Impl_, format_) +
               sizeof(Impl_::typmod_));
}
JsonReturning::~JsonReturning() {
  // @@protoc_insertion_point(destructor:pg_query.JsonReturning)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonReturning::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.format_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonReturning::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonReturning)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.format_ != nullptr);
    _impl_.format_->Clear();
  }
  ::memset(&_impl_.typid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.typmod_) -
      reinterpret_cast<char*>(&_impl_.typid_)) + sizeof(_impl_.typmod_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonReturning::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> JsonReturning::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonReturning_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonFormat format = 1 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.format_)}},
    // uint32 typid = 2 [json_name = "typid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonReturning, _impl_.typid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.typid_)}},
    // int32 typmod = 3 [json_name = "typmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonReturning, _impl_.typmod_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.typmod_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonFormat format = 1 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.format_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 typid = 2 [json_name = "typid"];
    {PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.typid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 typmod = 3 [json_name = "typmod"];
    {PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.typmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
  }}, {{
  }},
};

::uint8_t* JsonReturning::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonReturning)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonFormat format = 1 [json_name = "format"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  // uint32 typid = 2 [json_name = "typid"];
  if (this->_internal_typid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_typid(), target);
  }

  // int32 typmod = 3 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_typmod(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonReturning)
  return target;
}

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

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

  // .pg_query.JsonFormat format = 1 [json_name = "format"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
  }

  // uint32 typid = 2 [json_name = "typid"];
  if (this->_internal_typid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_typid());
  }

  // int32 typmod = 3 [json_name = "typmod"];
  if (this->_internal_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_typmod());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonReturning::_class_data_ = {
    JsonReturning::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonReturning::GetClassData() const {
  return &_class_data_;
}

void JsonReturning::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonReturning*>(&to_msg);
  auto& from = static_cast<const JsonReturning&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonReturning)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
        from._internal_format());
  }
  if (from._internal_typid() != 0) {
    _this->_internal_set_typid(from._internal_typid());
  }
  if (from._internal_typmod() != 0) {
    _this->_internal_set_typmod(from._internal_typmod());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonReturning::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonReturning::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonReturning::InternalSwap(JsonReturning* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.typmod_)
      + sizeof(JsonReturning::_impl_.typmod_)
      - PROTOBUF_FIELD_OFFSET(JsonReturning, _impl_.format_)>(
          reinterpret_cast<char*>(&_impl_.format_),
          reinterpret_cast<char*>(&other->_impl_.format_));
}

::google::protobuf::Metadata JsonReturning::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[52]);
}
// ===================================================================

class JsonValueExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonValueExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_._has_bits_);
  static const ::pg_query::Node& raw_expr(const JsonValueExpr* msg);
  static void set_has_raw_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& formatted_expr(const JsonValueExpr* msg);
  static void set_has_formatted_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonFormat& format(const JsonValueExpr* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& JsonValueExpr::_Internal::raw_expr(const JsonValueExpr* msg) {
  return *msg->_impl_.raw_expr_;
}
const ::pg_query::Node& JsonValueExpr::_Internal::formatted_expr(const JsonValueExpr* msg) {
  return *msg->_impl_.formatted_expr_;
}
const ::pg_query::JsonFormat& JsonValueExpr::_Internal::format(const JsonValueExpr* msg) {
  return *msg->_impl_.format_;
}
JsonValueExpr::JsonValueExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonValueExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonValueExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonValueExpr::JsonValueExpr(
    ::google::protobuf::Arena* arena,
    const JsonValueExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonValueExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.raw_expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.raw_expr_)
                : nullptr;
  _impl_.formatted_expr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.formatted_expr_)
                : nullptr;
  _impl_.format_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonValueExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonValueExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonValueExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, raw_expr_),
           0,
           offsetof(Impl_, format_) -
               offsetof(Impl_, raw_expr_) +
               sizeof(Impl_::format_));
}
JsonValueExpr::~JsonValueExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonValueExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonValueExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.raw_expr_;
  delete _impl_.formatted_expr_;
  delete _impl_.format_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonValueExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonValueExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.raw_expr_ != nullptr);
      _impl_.raw_expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.formatted_expr_ != nullptr);
      _impl_.formatted_expr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.format_ != nullptr);
      _impl_.format_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonValueExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 3, 0, 2> JsonValueExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonValueExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.raw_expr_)}},
    // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.formatted_expr_)}},
    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.format_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"];
    {PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.raw_expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"];
    {PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.formatted_expr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.format_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
  }}, {{
  }},
};

::uint8_t* JsonValueExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonValueExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::raw_expr(this),
        _Internal::raw_expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::formatted_expr(this),
        _Internal::formatted_expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonFormat format = 3 [json_name = "format"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonValueExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node raw_expr = 1 [json_name = "raw_expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.raw_expr_);
    }

    // .pg_query.Node formatted_expr = 2 [json_name = "formatted_expr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.formatted_expr_);
    }

    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonValueExpr::_class_data_ = {
    JsonValueExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonValueExpr::GetClassData() const {
  return &_class_data_;
}

void JsonValueExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonValueExpr*>(&to_msg);
  auto& from = static_cast<const JsonValueExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonValueExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_raw_expr()->::pg_query::Node::MergeFrom(
          from._internal_raw_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_formatted_expr()->::pg_query::Node::MergeFrom(
          from._internal_formatted_expr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_format());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonValueExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonValueExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonValueExpr::InternalSwap(JsonValueExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.format_)
      + sizeof(JsonValueExpr::_impl_.format_)
      - PROTOBUF_FIELD_OFFSET(JsonValueExpr, _impl_.raw_expr_)>(
          reinterpret_cast<char*>(&_impl_.raw_expr_),
          reinterpret_cast<char*>(&other->_impl_.raw_expr_));
}

::google::protobuf::Metadata JsonValueExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[53]);
}
// ===================================================================

class JsonConstructorExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonConstructorExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const JsonConstructorExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& func(const JsonConstructorExpr* msg);
  static void set_has_func(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& coercion(const JsonConstructorExpr* msg);
  static void set_has_coercion(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::JsonReturning& returning(const JsonConstructorExpr* msg);
  static void set_has_returning(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::pg_query::Node& JsonConstructorExpr::_Internal::xpr(const JsonConstructorExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& JsonConstructorExpr::_Internal::func(const JsonConstructorExpr* msg) {
  return *msg->_impl_.func_;
}
const ::pg_query::Node& JsonConstructorExpr::_Internal::coercion(const JsonConstructorExpr* msg) {
  return *msg->_impl_.coercion_;
}
const ::pg_query::JsonReturning& JsonConstructorExpr::_Internal::returning(const JsonConstructorExpr* msg) {
  return *msg->_impl_.returning_;
}
JsonConstructorExpr::JsonConstructorExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonConstructorExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonConstructorExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

JsonConstructorExpr::JsonConstructorExpr(
    ::google::protobuf::Arena* arena,
    const JsonConstructorExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonConstructorExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.func_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.func_)
                : nullptr;
  _impl_.coercion_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.coercion_)
                : nullptr;
  _impl_.returning_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::JsonReturning>(arena, *from._impl_.returning_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonConstructorExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonConstructorExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void JsonConstructorExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
JsonConstructorExpr::~JsonConstructorExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonConstructorExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonConstructorExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.func_;
  delete _impl_.coercion_;
  delete _impl_.returning_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonConstructorExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonConstructorExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.func_ != nullptr);
      _impl_.func_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.coercion_ != nullptr);
      _impl_.coercion_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.returning_ != nullptr);
      _impl_.returning_->Clear();
    }
  }
  ::memset(&_impl_.type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.type_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonConstructorExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 9, 5, 0, 2> JsonConstructorExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_._has_bits_),
    0, // no _extensions_
    9, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966784,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonConstructorExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.xpr_)}},
    // .pg_query.JsonConstructorType type = 2 [json_name = "type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonConstructorExpr, _impl_.type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.type_)}},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.args_)}},
    // .pg_query.Node func = 4 [json_name = "func"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 2, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.func_)}},
    // .pg_query.Node coercion = 5 [json_name = "coercion"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 3, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.coercion_)}},
    // .pg_query.JsonReturning returning = 6 [json_name = "returning"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 4, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.returning_)}},
    // bool absent_on_null = 7 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonConstructorExpr, _impl_.absent_on_null_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.absent_on_null_)}},
    // bool unique = 8 [json_name = "unique"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonConstructorExpr, _impl_.unique_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.unique_)}},
    // int32 location = 9 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonConstructorExpr, _impl_.location_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonConstructorType type = 2 [json_name = "type"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node func = 4 [json_name = "func"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.func_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node coercion = 5 [json_name = "coercion"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.coercion_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonReturning returning = 6 [json_name = "returning"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.returning_), _Internal::kHasBitsOffset + 3, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 7 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool unique = 8 [json_name = "unique"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.unique_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 9 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonReturning>()},
  }}, {{
  }},
};

::uint8_t* JsonConstructorExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonConstructorExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonConstructorType type = 2 [json_name = "type"];
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_type(), target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node func = 4 [json_name = "func"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::func(this),
        _Internal::func(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node coercion = 5 [json_name = "coercion"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::coercion(this),
        _Internal::coercion(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonReturning returning = 6 [json_name = "returning"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::returning(this),
        _Internal::returning(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 7 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_absent_on_null(), target);
  }

  // bool unique = 8 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_unique(), target);
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<9>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonConstructorExpr)
  return target;
}

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

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

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node func = 4 [json_name = "func"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.func_);
    }

    // .pg_query.Node coercion = 5 [json_name = "coercion"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.coercion_);
    }

    // .pg_query.JsonReturning returning = 6 [json_name = "returning"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.returning_);
    }

  }
  // .pg_query.JsonConstructorType type = 2 [json_name = "type"];
  if (this->_internal_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

  // bool absent_on_null = 7 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  // bool unique = 8 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    total_size += 2;
  }

  // int32 location = 9 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonConstructorExpr::_class_data_ = {
    JsonConstructorExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonConstructorExpr::GetClassData() const {
  return &_class_data_;
}

void JsonConstructorExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonConstructorExpr*>(&to_msg);
  auto& from = static_cast<const JsonConstructorExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonConstructorExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_func()->::pg_query::Node::MergeFrom(
          from._internal_func());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_coercion()->::pg_query::Node::MergeFrom(
          from._internal_coercion());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_returning()->::pg_query::JsonReturning::MergeFrom(
          from._internal_returning());
    }
  }
  if (from._internal_type() != 0) {
    _this->_internal_set_type(from._internal_type());
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  if (from._internal_unique() != 0) {
    _this->_internal_set_unique(from._internal_unique());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonConstructorExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonConstructorExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonConstructorExpr::InternalSwap(JsonConstructorExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.location_)
      + sizeof(JsonConstructorExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonConstructorExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata JsonConstructorExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[54]);
}
// ===================================================================

class JsonIsPredicate::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonIsPredicate>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const JsonIsPredicate* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonFormat& format(const JsonIsPredicate* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& JsonIsPredicate::_Internal::expr(const JsonIsPredicate* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::JsonFormat& JsonIsPredicate::_Internal::format(const JsonIsPredicate* msg) {
  return *msg->_impl_.format_;
}
JsonIsPredicate::JsonIsPredicate(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonIsPredicate)
}
inline PROTOBUF_NDEBUG_INLINE JsonIsPredicate::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonIsPredicate::JsonIsPredicate(
    ::google::protobuf::Arena* arena,
    const JsonIsPredicate& from)
    : ::google::protobuf::Message(arena) {
  JsonIsPredicate* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.format_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, item_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, item_type_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, item_type_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonIsPredicate)
}
inline PROTOBUF_NDEBUG_INLINE JsonIsPredicate::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonIsPredicate::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
JsonIsPredicate::~JsonIsPredicate() {
  // @@protoc_insertion_point(destructor:pg_query.JsonIsPredicate)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonIsPredicate::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  delete _impl_.format_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonIsPredicate::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonIsPredicate)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.format_ != nullptr);
      _impl_.format_->Clear();
    }
  }
  ::memset(&_impl_.item_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.item_type_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonIsPredicate::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> JsonIsPredicate::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonIsPredicate_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node expr = 1 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.expr_)}},
    // .pg_query.JsonFormat format = 2 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.format_)}},
    // .pg_query.JsonValueType item_type = 3 [json_name = "item_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonIsPredicate, _impl_.item_type_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.item_type_)}},
    // bool unique_keys = 4 [json_name = "unique_keys"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonIsPredicate, _impl_.unique_keys_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.unique_keys_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonIsPredicate, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node expr = 1 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat format = 2 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.format_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonValueType item_type = 3 [json_name = "item_type"];
    {PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.item_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool unique_keys = 4 [json_name = "unique_keys"];
    {PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.unique_keys_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
  }}, {{
  }},
};

::uint8_t* JsonIsPredicate::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonIsPredicate)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 1 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonFormat format = 2 [json_name = "format"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonValueType item_type = 3 [json_name = "item_type"];
  if (this->_internal_item_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_item_type(), target);
  }

  // bool unique_keys = 4 [json_name = "unique_keys"];
  if (this->_internal_unique_keys() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_unique_keys(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonIsPredicate)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node expr = 1 [json_name = "expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.JsonFormat format = 2 [json_name = "format"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
    }

  }
  // .pg_query.JsonValueType item_type = 3 [json_name = "item_type"];
  if (this->_internal_item_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_item_type());
  }

  // bool unique_keys = 4 [json_name = "unique_keys"];
  if (this->_internal_unique_keys() != 0) {
    total_size += 2;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonIsPredicate::_class_data_ = {
    JsonIsPredicate::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonIsPredicate::GetClassData() const {
  return &_class_data_;
}

void JsonIsPredicate::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonIsPredicate*>(&to_msg);
  auto& from = static_cast<const JsonIsPredicate&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonIsPredicate)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_format());
    }
  }
  if (from._internal_item_type() != 0) {
    _this->_internal_set_item_type(from._internal_item_type());
  }
  if (from._internal_unique_keys() != 0) {
    _this->_internal_set_unique_keys(from._internal_unique_keys());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonIsPredicate::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonIsPredicate::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonIsPredicate::InternalSwap(JsonIsPredicate* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.location_)
      + sizeof(JsonIsPredicate::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonIsPredicate, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata JsonIsPredicate::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[55]);
}
// ===================================================================

class JsonBehavior::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonBehavior>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const JsonBehavior* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& JsonBehavior::_Internal::expr(const JsonBehavior* msg) {
  return *msg->_impl_.expr_;
}
JsonBehavior::JsonBehavior(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonBehavior)
}
inline PROTOBUF_NDEBUG_INLINE JsonBehavior::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonBehavior::JsonBehavior(
    ::google::protobuf::Arena* arena,
    const JsonBehavior& from)
    : ::google::protobuf::Message(arena) {
  JsonBehavior* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, btype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, btype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, btype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonBehavior)
}
inline PROTOBUF_NDEBUG_INLINE JsonBehavior::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonBehavior::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
JsonBehavior::~JsonBehavior() {
  // @@protoc_insertion_point(destructor:pg_query.JsonBehavior)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonBehavior::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonBehavior::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonBehavior)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.expr_ != nullptr);
    _impl_.expr_->Clear();
  }
  ::memset(&_impl_.btype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.btype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonBehavior::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 0, 2> JsonBehavior::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonBehavior_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonBehavior, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.location_)}},
    // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonBehavior, _impl_.btype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.btype_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.expr_)}},
    // bool coerce = 3 [json_name = "coerce"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonBehavior, _impl_.coerce_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.coerce_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"];
    {PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.btype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool coerce = 3 [json_name = "coerce"];
    {PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.coerce_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* JsonBehavior::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonBehavior)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"];
  if (this->_internal_btype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_btype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // bool coerce = 3 [json_name = "coerce"];
  if (this->_internal_coerce() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_coerce(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonBehavior)
  return target;
}

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

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

  // .pg_query.Node expr = 2 [json_name = "expr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
  }

  // .pg_query.JsonBehaviorType btype = 1 [json_name = "btype"];
  if (this->_internal_btype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_btype());
  }

  // bool coerce = 3 [json_name = "coerce"];
  if (this->_internal_coerce() != 0) {
    total_size += 2;
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonBehavior::_class_data_ = {
    JsonBehavior::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonBehavior::GetClassData() const {
  return &_class_data_;
}

void JsonBehavior::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonBehavior*>(&to_msg);
  auto& from = static_cast<const JsonBehavior&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonBehavior)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_btype() != 0) {
    _this->_internal_set_btype(from._internal_btype());
  }
  if (from._internal_coerce() != 0) {
    _this->_internal_set_coerce(from._internal_coerce());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonBehavior::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonBehavior::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonBehavior::InternalSwap(JsonBehavior* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.location_)
      + sizeof(JsonBehavior::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonBehavior, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata JsonBehavior::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[56]);
}
// ===================================================================

class JsonExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const JsonExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& formatted_expr(const JsonExpr* msg);
  static void set_has_formatted_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonFormat& format(const JsonExpr* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::Node& path_spec(const JsonExpr* msg);
  static void set_has_path_spec(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::JsonReturning& returning(const JsonExpr* msg);
  static void set_has_returning(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static const ::pg_query::JsonBehavior& on_empty(const JsonExpr* msg);
  static void set_has_on_empty(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static const ::pg_query::JsonBehavior& on_error(const JsonExpr* msg);
  static void set_has_on_error(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
};

const ::pg_query::Node& JsonExpr::_Internal::xpr(const JsonExpr* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& JsonExpr::_Internal::formatted_expr(const JsonExpr* msg) {
  return *msg->_impl_.formatted_expr_;
}
const ::pg_query::JsonFormat& JsonExpr::_Internal::format(const JsonExpr* msg) {
  return *msg->_impl_.format_;
}
const ::pg_query::Node& JsonExpr::_Internal::path_spec(const JsonExpr* msg) {
  return *msg->_impl_.path_spec_;
}
const ::pg_query::JsonReturning& JsonExpr::_Internal::returning(const JsonExpr* msg) {
  return *msg->_impl_.returning_;
}
const ::pg_query::JsonBehavior& JsonExpr::_Internal::on_empty(const JsonExpr* msg) {
  return *msg->_impl_.on_empty_;
}
const ::pg_query::JsonBehavior& JsonExpr::_Internal::on_error(const JsonExpr* msg) {
  return *msg->_impl_.on_error_;
}
JsonExpr::JsonExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        passing_names_{visibility, arena, from.passing_names_},
        passing_values_{visibility, arena, from.passing_values_},
        column_name_(arena, from.column_name_) {}

JsonExpr::JsonExpr(
    ::google::protobuf::Arena* arena,
    const JsonExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.formatted_expr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.formatted_expr_)
                : nullptr;
  _impl_.format_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;
  _impl_.path_spec_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.path_spec_)
                : nullptr;
  _impl_.returning_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::JsonReturning>(arena, *from._impl_.returning_)
                : nullptr;
  _impl_.on_empty_ = (cached_has_bits & 0x00000020u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_empty_)
                : nullptr;
  _impl_.on_error_ = (cached_has_bits & 0x00000040u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_error_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, op_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, op_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, op_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        passing_names_{visibility, arena},
        passing_values_{visibility, arena},
        column_name_(arena) {}

inline void JsonExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
JsonExpr::~JsonExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.column_name_.Destroy();
  delete _impl_.xpr_;
  delete _impl_.formatted_expr_;
  delete _impl_.format_;
  delete _impl_.path_spec_;
  delete _impl_.returning_;
  delete _impl_.on_empty_;
  delete _impl_.on_error_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.passing_names_.Clear();
  _impl_.passing_values_.Clear();
  _impl_.column_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.formatted_expr_ != nullptr);
      _impl_.formatted_expr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.format_ != nullptr);
      _impl_.format_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.path_spec_ != nullptr);
      _impl_.path_spec_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.returning_ != nullptr);
      _impl_.returning_->Clear();
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(_impl_.on_empty_ != nullptr);
      _impl_.on_empty_->Clear();
    }
    if (cached_has_bits & 0x00000040u) {
      ABSL_DCHECK(_impl_.on_error_ != nullptr);
      _impl_.on_error_->Clear();
    }
  }
  ::memset(&_impl_.op_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 17, 9, 53, 2> JsonExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_._has_bits_),
    0, // no _extensions_
    17, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294836224,  // skipmap
    offsetof(decltype(_table_), field_entries),
    17,  // num_field_entries
    9,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.xpr_)}},
    // .pg_query.JsonExprOp op = 2 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonExpr, _impl_.op_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.op_)}},
    // string column_name = 3 [json_name = "column_name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.column_name_)}},
    // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.formatted_expr_)}},
    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 2, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.format_)}},
    // .pg_query.Node path_spec = 6 [json_name = "path_spec"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 3, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.path_spec_)}},
    // .pg_query.JsonReturning returning = 7 [json_name = "returning"];
    {::_pbi::TcParser::FastMtS1,
     {58, 4, 4, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.returning_)}},
    // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 5, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.passing_names_)}},
    // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 6, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.passing_values_)}},
    // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"];
    {::_pbi::TcParser::FastMtS1,
     {82, 5, 7, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.on_empty_)}},
    // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"];
    {::_pbi::TcParser::FastMtS1,
     {90, 6, 8, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.on_error_)}},
    // bool use_io_coercion = 12 [json_name = "use_io_coercion"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonExpr, _impl_.use_io_coercion_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.use_io_coercion_)}},
    // bool use_json_coercion = 13 [json_name = "use_json_coercion"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonExpr, _impl_.use_json_coercion_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.use_json_coercion_)}},
    // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonExpr, _impl_.wrapper_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.wrapper_)}},
    // bool omit_quotes = 15 [json_name = "omit_quotes"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonExpr, _impl_.omit_quotes_), 63>(),
     {120, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.omit_quotes_)}},
    // uint32 collation = 16 [json_name = "collation"];
    {::_pbi::TcParser::FastV32S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.collation_)}},
    // int32 location = 17 [json_name = "location"];
    {::_pbi::TcParser::FastV32S2,
     {392, 63, 0, PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonExprOp op = 2 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string column_name = 3 [json_name = "column_name"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.column_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.formatted_expr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.format_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node path_spec = 6 [json_name = "path_spec"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.path_spec_), _Internal::kHasBitsOffset + 3, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonReturning returning = 7 [json_name = "returning"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.returning_), _Internal::kHasBitsOffset + 4, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.passing_names_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.passing_values_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.on_empty_), _Internal::kHasBitsOffset + 5, 7,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.on_error_), _Internal::kHasBitsOffset + 6, 8,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool use_io_coercion = 12 [json_name = "use_io_coercion"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.use_io_coercion_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool use_json_coercion = 13 [json_name = "use_json_coercion"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.use_json_coercion_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.wrapper_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool omit_quotes = 15 [json_name = "omit_quotes"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.omit_quotes_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 collation = 16 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 17 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonReturning>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
  }}, {{
    "\21\0\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.JsonExpr"
    "column_name"
  }},
};

::uint8_t* JsonExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_op(), target);
  }

  // string column_name = 3 [json_name = "column_name"];
  if (!this->_internal_column_name().empty()) {
    const std::string& _s = this->_internal_column_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonExpr.column_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::formatted_expr(this),
        _Internal::formatted_expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonFormat format = 5 [json_name = "format"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node path_spec = 6 [json_name = "path_spec"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::path_spec(this),
        _Internal::path_spec(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonReturning returning = 7 [json_name = "returning"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::returning(this),
        _Internal::returning(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_passing_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_passing_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_passing_values_size()); i < n; i++) {
    const auto& repfield = this->_internal_passing_values().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, _Internal::on_empty(this),
        _Internal::on_empty(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"];
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, _Internal::on_error(this),
        _Internal::on_error(this).GetCachedSize(), target, stream);
  }

  // bool use_io_coercion = 12 [json_name = "use_io_coercion"];
  if (this->_internal_use_io_coercion() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_use_io_coercion(), target);
  }

  // bool use_json_coercion = 13 [json_name = "use_json_coercion"];
  if (this->_internal_use_json_coercion() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this->_internal_use_json_coercion(), target);
  }

  // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        14, this->_internal_wrapper(), target);
  }

  // bool omit_quotes = 15 [json_name = "omit_quotes"];
  if (this->_internal_omit_quotes() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        15, this->_internal_omit_quotes(), target);
  }

  // uint32 collation = 16 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this->_internal_collation(), target);
  }

  // int32 location = 17 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        17, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonExpr)
  return target;
}

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

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

  // repeated .pg_query.Node passing_names = 8 [json_name = "passing_names"];
  total_size += 1UL * this->_internal_passing_names_size();
  for (const auto& msg : this->_internal_passing_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node passing_values = 9 [json_name = "passing_values"];
  total_size += 1UL * this->_internal_passing_values_size();
  for (const auto& msg : this->_internal_passing_values()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string column_name = 3 [json_name = "column_name"];
  if (!this->_internal_column_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_column_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node formatted_expr = 4 [json_name = "formatted_expr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.formatted_expr_);
    }

    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
    }

    // .pg_query.Node path_spec = 6 [json_name = "path_spec"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.path_spec_);
    }

    // .pg_query.JsonReturning returning = 7 [json_name = "returning"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.returning_);
    }

    // .pg_query.JsonBehavior on_empty = 10 [json_name = "on_empty"];
    if (cached_has_bits & 0x00000020u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_empty_);
    }

    // .pg_query.JsonBehavior on_error = 11 [json_name = "on_error"];
    if (cached_has_bits & 0x00000040u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_error_);
    }

  }
  // .pg_query.JsonExprOp op = 2 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // bool use_io_coercion = 12 [json_name = "use_io_coercion"];
  if (this->_internal_use_io_coercion() != 0) {
    total_size += 2;
  }

  // bool use_json_coercion = 13 [json_name = "use_json_coercion"];
  if (this->_internal_use_json_coercion() != 0) {
    total_size += 2;
  }

  // bool omit_quotes = 15 [json_name = "omit_quotes"];
  if (this->_internal_omit_quotes() != 0) {
    total_size += 2;
  }

  // .pg_query.JsonWrapper wrapper = 14 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_wrapper());
  }

  // uint32 collation = 16 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                    this->_internal_collation());
  }

  // int32 location = 17 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonExpr::_class_data_ = {
    JsonExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonExpr::GetClassData() const {
  return &_class_data_;
}

void JsonExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonExpr*>(&to_msg);
  auto& from = static_cast<const JsonExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_passing_names()->MergeFrom(
      from._internal_passing_names());
  _this->_internal_mutable_passing_values()->MergeFrom(
      from._internal_passing_values());
  if (!from._internal_column_name().empty()) {
    _this->_internal_set_column_name(from._internal_column_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000007fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_formatted_expr()->::pg_query::Node::MergeFrom(
          from._internal_formatted_expr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_format());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_path_spec()->::pg_query::Node::MergeFrom(
          from._internal_path_spec());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_returning()->::pg_query::JsonReturning::MergeFrom(
          from._internal_returning());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_internal_mutable_on_empty()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_empty());
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_internal_mutable_on_error()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_error());
    }
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_use_io_coercion() != 0) {
    _this->_internal_set_use_io_coercion(from._internal_use_io_coercion());
  }
  if (from._internal_use_json_coercion() != 0) {
    _this->_internal_set_use_json_coercion(from._internal_use_json_coercion());
  }
  if (from._internal_omit_quotes() != 0) {
    _this->_internal_set_omit_quotes(from._internal_omit_quotes());
  }
  if (from._internal_wrapper() != 0) {
    _this->_internal_set_wrapper(from._internal_wrapper());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonExpr::InternalSwap(JsonExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.passing_names_.InternalSwap(&other->_impl_.passing_names_);
  _impl_.passing_values_.InternalSwap(&other->_impl_.passing_values_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.column_name_, &other->_impl_.column_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.location_)
      + sizeof(JsonExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata JsonExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[57]);
}
// ===================================================================

class JsonTablePath::_Internal {
 public:
};

JsonTablePath::JsonTablePath(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTablePath)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePath::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        _cached_size_{0} {}

JsonTablePath::JsonTablePath(
    ::google::protobuf::Arena* arena,
    const JsonTablePath& from)
    : ::google::protobuf::Message(arena) {
  JsonTablePath* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTablePath)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePath::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        _cached_size_{0} {}

inline void JsonTablePath::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
JsonTablePath::~JsonTablePath() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTablePath)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTablePath::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTablePath::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTablePath)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTablePath::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 35, 2> JsonTablePath::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_JsonTablePath_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePath, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePath, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\26\4\0\0\0\0\0\0"
    "pg_query.JsonTablePath"
    "name"
  }},
};

::uint8_t* JsonTablePath::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTablePath)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonTablePath.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTablePath)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTablePath::_class_data_ = {
    JsonTablePath::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTablePath::GetClassData() const {
  return &_class_data_;
}

void JsonTablePath::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTablePath*>(&to_msg);
  auto& from = static_cast<const JsonTablePath&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTablePath)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTablePath::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTablePath::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTablePath::InternalSwap(JsonTablePath* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
}

::google::protobuf::Metadata JsonTablePath::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[58]);
}
// ===================================================================

class JsonTablePathScan::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonTablePathScan>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_._has_bits_);
  static const ::pg_query::Node& plan(const JsonTablePathScan* msg);
  static void set_has_plan(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonTablePath& path(const JsonTablePathScan* msg);
  static void set_has_path(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& child(const JsonTablePathScan* msg);
  static void set_has_child(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& JsonTablePathScan::_Internal::plan(const JsonTablePathScan* msg) {
  return *msg->_impl_.plan_;
}
const ::pg_query::JsonTablePath& JsonTablePathScan::_Internal::path(const JsonTablePathScan* msg) {
  return *msg->_impl_.path_;
}
const ::pg_query::Node& JsonTablePathScan::_Internal::child(const JsonTablePathScan* msg) {
  return *msg->_impl_.child_;
}
JsonTablePathScan::JsonTablePathScan(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTablePathScan)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePathScan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonTablePathScan::JsonTablePathScan(
    ::google::protobuf::Arena* arena,
    const JsonTablePathScan& from)
    : ::google::protobuf::Message(arena) {
  JsonTablePathScan* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.plan_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.plan_)
                : nullptr;
  _impl_.path_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonTablePath>(arena, *from._impl_.path_)
                : nullptr;
  _impl_.child_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.child_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, error_on_error_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, error_on_error_),
           offsetof(Impl_, col_max_) -
               offsetof(Impl_, error_on_error_) +
               sizeof(Impl_::col_max_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTablePathScan)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePathScan::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonTablePathScan::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, plan_),
           0,
           offsetof(Impl_, col_max_) -
               offsetof(Impl_, plan_) +
               sizeof(Impl_::col_max_));
}
JsonTablePathScan::~JsonTablePathScan() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTablePathScan)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTablePathScan::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.plan_;
  delete _impl_.path_;
  delete _impl_.child_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTablePathScan::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTablePathScan)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.plan_ != nullptr);
      _impl_.plan_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.path_ != nullptr);
      _impl_.path_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.child_ != nullptr);
      _impl_.child_->Clear();
    }
  }
  ::memset(&_impl_.error_on_error_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.col_max_) -
      reinterpret_cast<char*>(&_impl_.error_on_error_)) + sizeof(_impl_.col_max_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTablePathScan::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 0, 2> JsonTablePathScan::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonTablePathScan_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node plan = 1 [json_name = "plan"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.plan_)}},
    // .pg_query.JsonTablePath path = 2 [json_name = "path"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.path_)}},
    // bool error_on_error = 3 [json_name = "errorOnError"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonTablePathScan, _impl_.error_on_error_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.error_on_error_)}},
    // .pg_query.Node child = 4 [json_name = "child"];
    {::_pbi::TcParser::FastMtS1,
     {34, 2, 2, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.child_)}},
    // int32 col_min = 5 [json_name = "colMin"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTablePathScan, _impl_.col_min_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.col_min_)}},
    // int32 col_max = 6 [json_name = "colMax"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTablePathScan, _impl_.col_max_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.col_max_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node plan = 1 [json_name = "plan"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.plan_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePath path = 2 [json_name = "path"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.path_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool error_on_error = 3 [json_name = "errorOnError"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.error_on_error_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node child = 4 [json_name = "child"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.child_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 col_min = 5 [json_name = "colMin"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.col_min_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 col_max = 6 [json_name = "colMax"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.col_max_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePath>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* JsonTablePathScan::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTablePathScan)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node plan = 1 [json_name = "plan"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::plan(this),
        _Internal::plan(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonTablePath path = 2 [json_name = "path"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::path(this),
        _Internal::path(this).GetCachedSize(), target, stream);
  }

  // bool error_on_error = 3 [json_name = "errorOnError"];
  if (this->_internal_error_on_error() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_error_on_error(), target);
  }

  // .pg_query.Node child = 4 [json_name = "child"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::child(this),
        _Internal::child(this).GetCachedSize(), target, stream);
  }

  // int32 col_min = 5 [json_name = "colMin"];
  if (this->_internal_col_min() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_col_min(), target);
  }

  // int32 col_max = 6 [json_name = "colMax"];
  if (this->_internal_col_max() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_col_max(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTablePathScan)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node plan = 1 [json_name = "plan"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.plan_);
    }

    // .pg_query.JsonTablePath path = 2 [json_name = "path"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.path_);
    }

    // .pg_query.Node child = 4 [json_name = "child"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.child_);
    }

  }
  // bool error_on_error = 3 [json_name = "errorOnError"];
  if (this->_internal_error_on_error() != 0) {
    total_size += 2;
  }

  // int32 col_min = 5 [json_name = "colMin"];
  if (this->_internal_col_min() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_col_min());
  }

  // int32 col_max = 6 [json_name = "colMax"];
  if (this->_internal_col_max() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_col_max());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTablePathScan::_class_data_ = {
    JsonTablePathScan::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTablePathScan::GetClassData() const {
  return &_class_data_;
}

void JsonTablePathScan::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTablePathScan*>(&to_msg);
  auto& from = static_cast<const JsonTablePathScan&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTablePathScan)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_plan()->::pg_query::Node::MergeFrom(
          from._internal_plan());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_path()->::pg_query::JsonTablePath::MergeFrom(
          from._internal_path());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_child()->::pg_query::Node::MergeFrom(
          from._internal_child());
    }
  }
  if (from._internal_error_on_error() != 0) {
    _this->_internal_set_error_on_error(from._internal_error_on_error());
  }
  if (from._internal_col_min() != 0) {
    _this->_internal_set_col_min(from._internal_col_min());
  }
  if (from._internal_col_max() != 0) {
    _this->_internal_set_col_max(from._internal_col_max());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTablePathScan::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTablePathScan::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTablePathScan::InternalSwap(JsonTablePathScan* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.col_max_)
      + sizeof(JsonTablePathScan::_impl_.col_max_)
      - PROTOBUF_FIELD_OFFSET(JsonTablePathScan, _impl_.plan_)>(
          reinterpret_cast<char*>(&_impl_.plan_),
          reinterpret_cast<char*>(&other->_impl_.plan_));
}

::google::protobuf::Metadata JsonTablePathScan::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[59]);
}
// ===================================================================

class JsonTableSiblingJoin::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonTableSiblingJoin>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_._has_bits_);
  static const ::pg_query::Node& plan(const JsonTableSiblingJoin* msg);
  static void set_has_plan(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& lplan(const JsonTableSiblingJoin* msg);
  static void set_has_lplan(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& rplan(const JsonTableSiblingJoin* msg);
  static void set_has_rplan(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& JsonTableSiblingJoin::_Internal::plan(const JsonTableSiblingJoin* msg) {
  return *msg->_impl_.plan_;
}
const ::pg_query::Node& JsonTableSiblingJoin::_Internal::lplan(const JsonTableSiblingJoin* msg) {
  return *msg->_impl_.lplan_;
}
const ::pg_query::Node& JsonTableSiblingJoin::_Internal::rplan(const JsonTableSiblingJoin* msg) {
  return *msg->_impl_.rplan_;
}
JsonTableSiblingJoin::JsonTableSiblingJoin(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTableSiblingJoin)
}
inline PROTOBUF_NDEBUG_INLINE JsonTableSiblingJoin::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonTableSiblingJoin::JsonTableSiblingJoin(
    ::google::protobuf::Arena* arena,
    const JsonTableSiblingJoin& from)
    : ::google::protobuf::Message(arena) {
  JsonTableSiblingJoin* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.plan_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.plan_)
                : nullptr;
  _impl_.lplan_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.lplan_)
                : nullptr;
  _impl_.rplan_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rplan_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTableSiblingJoin)
}
inline PROTOBUF_NDEBUG_INLINE JsonTableSiblingJoin::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonTableSiblingJoin::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, plan_),
           0,
           offsetof(Impl_, rplan_) -
               offsetof(Impl_, plan_) +
               sizeof(Impl_::rplan_));
}
JsonTableSiblingJoin::~JsonTableSiblingJoin() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTableSiblingJoin)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTableSiblingJoin::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.plan_;
  delete _impl_.lplan_;
  delete _impl_.rplan_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTableSiblingJoin::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTableSiblingJoin)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.plan_ != nullptr);
      _impl_.plan_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.lplan_ != nullptr);
      _impl_.lplan_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.rplan_ != nullptr);
      _impl_.rplan_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTableSiblingJoin::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 3, 0, 2> JsonTableSiblingJoin::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonTableSiblingJoin_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node plan = 1 [json_name = "plan"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.plan_)}},
    // .pg_query.Node lplan = 2 [json_name = "lplan"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.lplan_)}},
    // .pg_query.Node rplan = 3 [json_name = "rplan"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.rplan_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node plan = 1 [json_name = "plan"];
    {PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.plan_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node lplan = 2 [json_name = "lplan"];
    {PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.lplan_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rplan = 3 [json_name = "rplan"];
    {PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.rplan_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* JsonTableSiblingJoin::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTableSiblingJoin)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node plan = 1 [json_name = "plan"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::plan(this),
        _Internal::plan(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node lplan = 2 [json_name = "lplan"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::lplan(this),
        _Internal::lplan(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rplan = 3 [json_name = "rplan"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::rplan(this),
        _Internal::rplan(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTableSiblingJoin)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node plan = 1 [json_name = "plan"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.plan_);
    }

    // .pg_query.Node lplan = 2 [json_name = "lplan"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.lplan_);
    }

    // .pg_query.Node rplan = 3 [json_name = "rplan"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rplan_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTableSiblingJoin::_class_data_ = {
    JsonTableSiblingJoin::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTableSiblingJoin::GetClassData() const {
  return &_class_data_;
}

void JsonTableSiblingJoin::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTableSiblingJoin*>(&to_msg);
  auto& from = static_cast<const JsonTableSiblingJoin&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTableSiblingJoin)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_plan()->::pg_query::Node::MergeFrom(
          from._internal_plan());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_lplan()->::pg_query::Node::MergeFrom(
          from._internal_lplan());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_rplan()->::pg_query::Node::MergeFrom(
          from._internal_rplan());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTableSiblingJoin::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTableSiblingJoin::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTableSiblingJoin::InternalSwap(JsonTableSiblingJoin* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.rplan_)
      + sizeof(JsonTableSiblingJoin::_impl_.rplan_)
      - PROTOBUF_FIELD_OFFSET(JsonTableSiblingJoin, _impl_.plan_)>(
          reinterpret_cast<char*>(&_impl_.plan_),
          reinterpret_cast<char*>(&other->_impl_.plan_));
}

::google::protobuf::Metadata JsonTableSiblingJoin::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[60]);
}
// ===================================================================

class NullTest::_Internal {
 public:
  using HasBits = decltype(std::declval<NullTest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NullTest, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const NullTest* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const NullTest* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& NullTest::_Internal::xpr(const NullTest* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& NullTest::_Internal::arg(const NullTest* msg) {
  return *msg->_impl_.arg_;
}
NullTest::NullTest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NullTest)
}
inline PROTOBUF_NDEBUG_INLINE NullTest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

NullTest::NullTest(
    ::google::protobuf::Arena* arena,
    const NullTest& from)
    : ::google::protobuf::Message(arena) {
  NullTest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, nulltesttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, nulltesttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, nulltesttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.NullTest)
}
inline PROTOBUF_NDEBUG_INLINE NullTest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void NullTest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
NullTest::~NullTest() {
  // @@protoc_insertion_point(destructor:pg_query.NullTest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NullTest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void NullTest::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.NullTest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.nulltesttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.nulltesttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NullTest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> NullTest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NullTest, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NullTest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NullTest, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(NullTest, _impl_.arg_)}},
    // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullTest, _impl_.nulltesttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NullTest, _impl_.nulltesttype_)}},
    // bool argisrow = 4 [json_name = "argisrow"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(NullTest, _impl_.argisrow_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(NullTest, _impl_.argisrow_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NullTest, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(NullTest, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(NullTest, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(NullTest, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
    {PROTOBUF_FIELD_OFFSET(NullTest, _impl_.nulltesttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool argisrow = 4 [json_name = "argisrow"];
    {PROTOBUF_FIELD_OFFSET(NullTest, _impl_.argisrow_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(NullTest, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* NullTest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NullTest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->_internal_nulltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_nulltesttype(), target);
  }

  // bool argisrow = 4 [json_name = "argisrow"];
  if (this->_internal_argisrow() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_argisrow(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.NullTest)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // .pg_query.NullTestType nulltesttype = 3 [json_name = "nulltesttype"];
  if (this->_internal_nulltesttype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_nulltesttype());
  }

  // bool argisrow = 4 [json_name = "argisrow"];
  if (this->_internal_argisrow() != 0) {
    total_size += 2;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData NullTest::_class_data_ = {
    NullTest::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* NullTest::GetClassData() const {
  return &_class_data_;
}

void NullTest::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<NullTest*>(&to_msg);
  auto& from = static_cast<const NullTest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NullTest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_nulltesttype() != 0) {
    _this->_internal_set_nulltesttype(from._internal_nulltesttype());
  }
  if (from._internal_argisrow() != 0) {
    _this->_internal_set_argisrow(from._internal_argisrow());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool NullTest::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* NullTest::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void NullTest::InternalSwap(NullTest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NullTest, _impl_.location_)
      + sizeof(NullTest::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(NullTest, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata NullTest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[61]);
}
// ===================================================================

class BooleanTest::_Internal {
 public:
  using HasBits = decltype(std::declval<BooleanTest>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const BooleanTest* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const BooleanTest* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& BooleanTest::_Internal::xpr(const BooleanTest* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& BooleanTest::_Internal::arg(const BooleanTest* msg) {
  return *msg->_impl_.arg_;
}
BooleanTest::BooleanTest(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.BooleanTest)
}
inline PROTOBUF_NDEBUG_INLINE BooleanTest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

BooleanTest::BooleanTest(
    ::google::protobuf::Arena* arena,
    const BooleanTest& from)
    : ::google::protobuf::Message(arena) {
  BooleanTest* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, booltesttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, booltesttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, booltesttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.BooleanTest)
}
inline PROTOBUF_NDEBUG_INLINE BooleanTest::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void BooleanTest::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
BooleanTest::~BooleanTest() {
  // @@protoc_insertion_point(destructor:pg_query.BooleanTest)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void BooleanTest::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void BooleanTest::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.BooleanTest)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.booltesttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.booltesttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* BooleanTest::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> BooleanTest::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_BooleanTest_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BooleanTest, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.location_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.arg_)}},
    // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BooleanTest, _impl_.booltesttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.booltesttype_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
    {PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.booltesttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* BooleanTest::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.BooleanTest)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->_internal_booltesttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_booltesttype(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.BooleanTest)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // .pg_query.BoolTestType booltesttype = 3 [json_name = "booltesttype"];
  if (this->_internal_booltesttype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_booltesttype());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData BooleanTest::_class_data_ = {
    BooleanTest::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* BooleanTest::GetClassData() const {
  return &_class_data_;
}

void BooleanTest::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<BooleanTest*>(&to_msg);
  auto& from = static_cast<const BooleanTest&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.BooleanTest)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_booltesttype() != 0) {
    _this->_internal_set_booltesttype(from._internal_booltesttype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool BooleanTest::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* BooleanTest::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void BooleanTest::InternalSwap(BooleanTest* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.location_)
      + sizeof(BooleanTest::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(BooleanTest, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata BooleanTest::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[62]);
}
// ===================================================================

class MergeAction::_Internal {
 public:
  using HasBits = decltype(std::declval<MergeAction>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MergeAction, _impl_._has_bits_);
  static const ::pg_query::Node& qual(const MergeAction* msg);
  static void set_has_qual(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& MergeAction::_Internal::qual(const MergeAction* msg) {
  return *msg->_impl_.qual_;
}
MergeAction::MergeAction(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeAction)
}
inline PROTOBUF_NDEBUG_INLINE MergeAction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_list_{visibility, arena, from.target_list_},
        update_colnos_{visibility, arena, from.update_colnos_} {}

MergeAction::MergeAction(
    ::google::protobuf::Arena* arena,
    const MergeAction& from)
    : ::google::protobuf::Message(arena) {
  MergeAction* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.qual_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.qual_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, match_kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, match_kind_),
           offsetof(Impl_, override_) -
               offsetof(Impl_, match_kind_) +
               sizeof(Impl_::override_));

  // @@protoc_insertion_point(copy_constructor:pg_query.MergeAction)
}
inline PROTOBUF_NDEBUG_INLINE MergeAction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        target_list_{visibility, arena},
        update_colnos_{visibility, arena} {}

inline void MergeAction::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, qual_),
           0,
           offsetof(Impl_, override_) -
               offsetof(Impl_, qual_) +
               sizeof(Impl_::override_));
}
MergeAction::~MergeAction() {
  // @@protoc_insertion_point(destructor:pg_query.MergeAction)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MergeAction::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.qual_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MergeAction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MergeAction)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  _impl_.update_colnos_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.qual_ != nullptr);
    _impl_.qual_->Clear();
  }
  ::memset(&_impl_.match_kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.override_) -
      reinterpret_cast<char*>(&_impl_.match_kind_)) + sizeof(_impl_.override_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MergeAction::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 0, 2> MergeAction::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MergeAction, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MergeAction_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeAction, _impl_.match_kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.match_kind_)}},
    // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeAction, _impl_.command_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.command_type_)}},
    // .pg_query.OverridingKind override = 3 [json_name = "override"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeAction, _impl_.override_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.override_)}},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.qual_)}},
    // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.target_list_)}},
    // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.update_colnos_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.match_kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.command_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.OverridingKind override = 3 [json_name = "override"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.override_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.qual_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.target_list_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
    {PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.update_colnos_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* MergeAction::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MergeAction)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
  if (this->_internal_match_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_match_kind(), target);
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_command_type(), target);
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_override(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_update_colnos_size()); i < n; i++) {
    const auto& repfield = this->_internal_update_colnos().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MergeAction)
  return target;
}

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

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

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node update_colnos = 6 [json_name = "updateColnos"];
  total_size += 1UL * this->_internal_update_colnos_size();
  for (const auto& msg : this->_internal_update_colnos()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node qual = 4 [json_name = "qual"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.qual_);
  }

  // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
  if (this->_internal_match_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_match_kind());
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MergeAction::_class_data_ = {
    MergeAction::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MergeAction::GetClassData() const {
  return &_class_data_;
}

void MergeAction::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MergeAction*>(&to_msg);
  auto& from = static_cast<const MergeAction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeAction)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  _this->_internal_mutable_update_colnos()->MergeFrom(
      from._internal_update_colnos());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_match_kind() != 0) {
    _this->_internal_set_match_kind(from._internal_match_kind());
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MergeAction::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MergeAction::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MergeAction::InternalSwap(MergeAction* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.update_colnos_.InternalSwap(&other->_impl_.update_colnos_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.override_)
      + sizeof(MergeAction::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(MergeAction, _impl_.qual_)>(
          reinterpret_cast<char*>(&_impl_.qual_),
          reinterpret_cast<char*>(&other->_impl_.qual_));
}

::google::protobuf::Metadata MergeAction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[63]);
}
// ===================================================================

class CoerceToDomain::_Internal {
 public:
  using HasBits = decltype(std::declval<CoerceToDomain>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CoerceToDomain* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& arg(const CoerceToDomain* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& CoerceToDomain::_Internal::xpr(const CoerceToDomain* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& CoerceToDomain::_Internal::arg(const CoerceToDomain* msg) {
  return *msg->_impl_.arg_;
}
CoerceToDomain::CoerceToDomain(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomain)
}
inline PROTOBUF_NDEBUG_INLINE CoerceToDomain::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CoerceToDomain::CoerceToDomain(
    ::google::protobuf::Arena* arena,
    const CoerceToDomain& from)
    : ::google::protobuf::Message(arena) {
  CoerceToDomain* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resulttype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resulttype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, resulttype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomain)
}
inline PROTOBUF_NDEBUG_INLINE CoerceToDomain::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CoerceToDomain::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CoerceToDomain::~CoerceToDomain() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomain)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CoerceToDomain::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CoerceToDomain::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CoerceToDomain)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.resulttype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.resulttype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CoerceToDomain::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 2, 0, 2> CoerceToDomain::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CoerceToDomain_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.xpr_)}},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.arg_)}},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomain, _impl_.resulttype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resulttype_)}},
    // int32 resulttypmod = 4 [json_name = "resulttypmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomain, _impl_.resulttypmod_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resulttypmod_)}},
    // uint32 resultcollid = 5 [json_name = "resultcollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomain, _impl_.resultcollid_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resultcollid_)}},
    // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomain, _impl_.coercionformat_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.coercionformat_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomain, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 resulttype = 3 [json_name = "resulttype"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resulttype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 resulttypmod = 4 [json_name = "resulttypmod"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resulttypmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 resultcollid = 5 [json_name = "resultcollid"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.resultcollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.coercionformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CoerceToDomain::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceToDomain)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_resulttype(), target);
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_resulttypmod(), target);
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_resultcollid(), target);
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->_internal_coercionformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_coercionformat(), target);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CoerceToDomain)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // uint32 resulttype = 3 [json_name = "resulttype"];
  if (this->_internal_resulttype() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resulttype());
  }

  // int32 resulttypmod = 4 [json_name = "resulttypmod"];
  if (this->_internal_resulttypmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resulttypmod());
  }

  // uint32 resultcollid = 5 [json_name = "resultcollid"];
  if (this->_internal_resultcollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resultcollid());
  }

  // .pg_query.CoercionForm coercionformat = 6 [json_name = "coercionformat"];
  if (this->_internal_coercionformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_coercionformat());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CoerceToDomain::_class_data_ = {
    CoerceToDomain::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CoerceToDomain::GetClassData() const {
  return &_class_data_;
}

void CoerceToDomain::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CoerceToDomain*>(&to_msg);
  auto& from = static_cast<const CoerceToDomain&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceToDomain)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_resulttype() != 0) {
    _this->_internal_set_resulttype(from._internal_resulttype());
  }
  if (from._internal_resulttypmod() != 0) {
    _this->_internal_set_resulttypmod(from._internal_resulttypmod());
  }
  if (from._internal_resultcollid() != 0) {
    _this->_internal_set_resultcollid(from._internal_resultcollid());
  }
  if (from._internal_coercionformat() != 0) {
    _this->_internal_set_coercionformat(from._internal_coercionformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CoerceToDomain::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CoerceToDomain::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CoerceToDomain::InternalSwap(CoerceToDomain* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.location_)
      + sizeof(CoerceToDomain::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomain, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CoerceToDomain::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[64]);
}
// ===================================================================

class CoerceToDomainValue::_Internal {
 public:
  using HasBits = decltype(std::declval<CoerceToDomainValue>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CoerceToDomainValue* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CoerceToDomainValue::_Internal::xpr(const CoerceToDomainValue* msg) {
  return *msg->_impl_.xpr_;
}
CoerceToDomainValue::CoerceToDomainValue(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CoerceToDomainValue)
}
inline PROTOBUF_NDEBUG_INLINE CoerceToDomainValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CoerceToDomainValue::CoerceToDomainValue(
    ::google::protobuf::Arena* arena,
    const CoerceToDomainValue& from)
    : ::google::protobuf::Message(arena) {
  CoerceToDomainValue* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_id_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_id_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_id_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CoerceToDomainValue)
}
inline PROTOBUF_NDEBUG_INLINE CoerceToDomainValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CoerceToDomainValue::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
CoerceToDomainValue::~CoerceToDomainValue() {
  // @@protoc_insertion_point(destructor:pg_query.CoerceToDomainValue)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CoerceToDomainValue::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CoerceToDomainValue::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CoerceToDomainValue)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.type_id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CoerceToDomainValue::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 0, 2> CoerceToDomainValue::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CoerceToDomainValue_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.xpr_)}},
    // uint32 type_id = 2 [json_name = "typeId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomainValue, _impl_.type_id_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.type_id_)}},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomainValue, _impl_.type_mod_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.type_mod_)}},
    // uint32 collation = 4 [json_name = "collation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomainValue, _impl_.collation_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.collation_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CoerceToDomainValue, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 type_id = 2 [json_name = "typeId"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.type_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.type_mod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 collation = 4 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CoerceToDomainValue::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CoerceToDomainValue)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CoerceToDomainValue)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CoerceToDomainValue::_class_data_ = {
    CoerceToDomainValue::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CoerceToDomainValue::GetClassData() const {
  return &_class_data_;
}

void CoerceToDomainValue::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CoerceToDomainValue*>(&to_msg);
  auto& from = static_cast<const CoerceToDomainValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CoerceToDomainValue)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CoerceToDomainValue::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CoerceToDomainValue::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CoerceToDomainValue::InternalSwap(CoerceToDomainValue* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.location_)
      + sizeof(CoerceToDomainValue::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CoerceToDomainValue, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CoerceToDomainValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[65]);
}
// ===================================================================

class SetToDefault::_Internal {
 public:
  using HasBits = decltype(std::declval<SetToDefault>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const SetToDefault* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& SetToDefault::_Internal::xpr(const SetToDefault* msg) {
  return *msg->_impl_.xpr_;
}
SetToDefault::SetToDefault(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetToDefault)
}
inline PROTOBUF_NDEBUG_INLINE SetToDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

SetToDefault::SetToDefault(
    ::google::protobuf::Arena* arena,
    const SetToDefault& from)
    : ::google::protobuf::Message(arena) {
  SetToDefault* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_id_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_id_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_id_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SetToDefault)
}
inline PROTOBUF_NDEBUG_INLINE SetToDefault::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SetToDefault::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::location_));
}
SetToDefault::~SetToDefault() {
  // @@protoc_insertion_point(destructor:pg_query.SetToDefault)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SetToDefault::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SetToDefault::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SetToDefault)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.type_id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.type_id_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SetToDefault::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 0, 2> SetToDefault::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SetToDefault_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.xpr_)}},
    // uint32 type_id = 2 [json_name = "typeId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetToDefault, _impl_.type_id_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.type_id_)}},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetToDefault, _impl_.type_mod_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.type_mod_)}},
    // uint32 collation = 4 [json_name = "collation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetToDefault, _impl_.collation_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.collation_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetToDefault, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 type_id = 2 [json_name = "typeId"];
    {PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.type_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 type_mod = 3 [json_name = "typeMod"];
    {PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.type_mod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 collation = 4 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SetToDefault::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SetToDefault)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_type_id(), target);
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_type_mod(), target);
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_collation(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SetToDefault)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 type_id = 2 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type_id());
  }

  // int32 type_mod = 3 [json_name = "typeMod"];
  if (this->_internal_type_mod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_type_mod());
  }

  // uint32 collation = 4 [json_name = "collation"];
  if (this->_internal_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_collation());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SetToDefault::_class_data_ = {
    SetToDefault::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SetToDefault::GetClassData() const {
  return &_class_data_;
}

void SetToDefault::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SetToDefault*>(&to_msg);
  auto& from = static_cast<const SetToDefault&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SetToDefault)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  if (from._internal_type_mod() != 0) {
    _this->_internal_set_type_mod(from._internal_type_mod());
  }
  if (from._internal_collation() != 0) {
    _this->_internal_set_collation(from._internal_collation());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SetToDefault::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SetToDefault::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SetToDefault::InternalSwap(SetToDefault* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.location_)
      + sizeof(SetToDefault::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SetToDefault, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata SetToDefault::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[66]);
}
// ===================================================================

class CurrentOfExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CurrentOfExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const CurrentOfExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CurrentOfExpr::_Internal::xpr(const CurrentOfExpr* msg) {
  return *msg->_impl_.xpr_;
}
CurrentOfExpr::CurrentOfExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CurrentOfExpr)
}
inline PROTOBUF_NDEBUG_INLINE CurrentOfExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cursor_name_(arena, from.cursor_name_) {}

CurrentOfExpr::CurrentOfExpr(
    ::google::protobuf::Arena* arena,
    const CurrentOfExpr& from)
    : ::google::protobuf::Message(arena) {
  CurrentOfExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, cvarno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, cvarno_),
           offsetof(Impl_, cursor_param_) -
               offsetof(Impl_, cvarno_) +
               sizeof(Impl_::cursor_param_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CurrentOfExpr)
}
inline PROTOBUF_NDEBUG_INLINE CurrentOfExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        cursor_name_(arena) {}

inline void CurrentOfExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, cursor_param_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::cursor_param_));
}
CurrentOfExpr::~CurrentOfExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CurrentOfExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CurrentOfExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.cursor_name_.Destroy();
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CurrentOfExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CurrentOfExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cursor_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.cvarno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.cursor_param_) -
      reinterpret_cast<char*>(&_impl_.cvarno_)) + sizeof(_impl_.cursor_param_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CurrentOfExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 42, 2> CurrentOfExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CurrentOfExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 cursor_param = 4 [json_name = "cursor_param"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CurrentOfExpr, _impl_.cursor_param_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_param_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.xpr_)}},
    // uint32 cvarno = 2 [json_name = "cvarno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CurrentOfExpr, _impl_.cvarno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cvarno_)}},
    // string cursor_name = 3 [json_name = "cursor_name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 cvarno = 2 [json_name = "cvarno"];
    {PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cvarno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // string cursor_name = 3 [json_name = "cursor_name"];
    {PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 cursor_param = 4 [json_name = "cursor_param"];
    {PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_param_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\0\0\13\0\0\0\0"
    "pg_query.CurrentOfExpr"
    "cursor_name"
  }},
};

::uint8_t* CurrentOfExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CurrentOfExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->_internal_cvarno() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_cvarno(), target);
  }

  // string cursor_name = 3 [json_name = "cursor_name"];
  if (!this->_internal_cursor_name().empty()) {
    const std::string& _s = this->_internal_cursor_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CurrentOfExpr.cursor_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // int32 cursor_param = 4 [json_name = "cursor_param"];
  if (this->_internal_cursor_param() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_cursor_param(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CurrentOfExpr)
  return target;
}

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

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

  // string cursor_name = 3 [json_name = "cursor_name"];
  if (!this->_internal_cursor_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_cursor_name());
  }

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 cvarno = 2 [json_name = "cvarno"];
  if (this->_internal_cvarno() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_cvarno());
  }

  // int32 cursor_param = 4 [json_name = "cursor_param"];
  if (this->_internal_cursor_param() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_cursor_param());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CurrentOfExpr::_class_data_ = {
    CurrentOfExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CurrentOfExpr::GetClassData() const {
  return &_class_data_;
}

void CurrentOfExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CurrentOfExpr*>(&to_msg);
  auto& from = static_cast<const CurrentOfExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CurrentOfExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_cursor_name().empty()) {
    _this->_internal_set_cursor_name(from._internal_cursor_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_cvarno() != 0) {
    _this->_internal_set_cvarno(from._internal_cvarno());
  }
  if (from._internal_cursor_param() != 0) {
    _this->_internal_set_cursor_param(from._internal_cursor_param());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CurrentOfExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CurrentOfExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CurrentOfExpr::InternalSwap(CurrentOfExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cursor_name_, &other->_impl_.cursor_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.cursor_param_)
      + sizeof(CurrentOfExpr::_impl_.cursor_param_)
      - PROTOBUF_FIELD_OFFSET(CurrentOfExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata CurrentOfExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[67]);
}
// ===================================================================

class NextValueExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<NextValueExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const NextValueExpr* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& NextValueExpr::_Internal::xpr(const NextValueExpr* msg) {
  return *msg->_impl_.xpr_;
}
NextValueExpr::NextValueExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NextValueExpr)
}
inline PROTOBUF_NDEBUG_INLINE NextValueExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

NextValueExpr::NextValueExpr(
    ::google::protobuf::Arena* arena,
    const NextValueExpr& from)
    : ::google::protobuf::Message(arena) {
  NextValueExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, seqid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, seqid_),
           offsetof(Impl_, type_id_) -
               offsetof(Impl_, seqid_) +
               sizeof(Impl_::type_id_));

  // @@protoc_insertion_point(copy_constructor:pg_query.NextValueExpr)
}
inline PROTOBUF_NDEBUG_INLINE NextValueExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void NextValueExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, type_id_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::type_id_));
}
NextValueExpr::~NextValueExpr() {
  // @@protoc_insertion_point(destructor:pg_query.NextValueExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NextValueExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void NextValueExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.NextValueExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.xpr_ != nullptr);
    _impl_.xpr_->Clear();
  }
  ::memset(&_impl_.seqid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.type_id_) -
      reinterpret_cast<char*>(&_impl_.seqid_)) + sizeof(_impl_.type_id_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NextValueExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> NextValueExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_NextValueExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.xpr_)}},
    // uint32 seqid = 2 [json_name = "seqid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NextValueExpr, _impl_.seqid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.seqid_)}},
    // uint32 type_id = 3 [json_name = "typeId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(NextValueExpr, _impl_.type_id_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.type_id_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 seqid = 2 [json_name = "seqid"];
    {PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.seqid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 type_id = 3 [json_name = "typeId"];
    {PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.type_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* NextValueExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NextValueExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->_internal_seqid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_seqid(), target);
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_type_id(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.NextValueExpr)
  return target;
}

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

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

  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
  }

  // uint32 seqid = 2 [json_name = "seqid"];
  if (this->_internal_seqid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_seqid());
  }

  // uint32 type_id = 3 [json_name = "typeId"];
  if (this->_internal_type_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type_id());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData NextValueExpr::_class_data_ = {
    NextValueExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* NextValueExpr::GetClassData() const {
  return &_class_data_;
}

void NextValueExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<NextValueExpr*>(&to_msg);
  auto& from = static_cast<const NextValueExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NextValueExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
        from._internal_xpr());
  }
  if (from._internal_seqid() != 0) {
    _this->_internal_set_seqid(from._internal_seqid());
  }
  if (from._internal_type_id() != 0) {
    _this->_internal_set_type_id(from._internal_type_id());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool NextValueExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* NextValueExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void NextValueExpr::InternalSwap(NextValueExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.type_id_)
      + sizeof(NextValueExpr::_impl_.type_id_)
      - PROTOBUF_FIELD_OFFSET(NextValueExpr, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata NextValueExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[68]);
}
// ===================================================================

class InferenceElem::_Internal {
 public:
  using HasBits = decltype(std::declval<InferenceElem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const InferenceElem* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& expr(const InferenceElem* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& InferenceElem::_Internal::xpr(const InferenceElem* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& InferenceElem::_Internal::expr(const InferenceElem* msg) {
  return *msg->_impl_.expr_;
}
InferenceElem::InferenceElem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferenceElem)
}
inline PROTOBUF_NDEBUG_INLINE InferenceElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

InferenceElem::InferenceElem(
    ::google::protobuf::Arena* arena,
    const InferenceElem& from)
    : ::google::protobuf::Message(arena) {
  InferenceElem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.expr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, infercollid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, infercollid_),
           offsetof(Impl_, inferopclass_) -
               offsetof(Impl_, infercollid_) +
               sizeof(Impl_::inferopclass_));

  // @@protoc_insertion_point(copy_constructor:pg_query.InferenceElem)
}
inline PROTOBUF_NDEBUG_INLINE InferenceElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void InferenceElem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, inferopclass_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::inferopclass_));
}
InferenceElem::~InferenceElem() {
  // @@protoc_insertion_point(destructor:pg_query.InferenceElem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void InferenceElem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.xpr_;
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void InferenceElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InferenceElem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
  }
  ::memset(&_impl_.infercollid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.inferopclass_) -
      reinterpret_cast<char*>(&_impl_.infercollid_)) + sizeof(_impl_.inferopclass_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* InferenceElem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> InferenceElem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_InferenceElem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // uint32 inferopclass = 4 [json_name = "inferopclass"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(InferenceElem, _impl_.inferopclass_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.inferopclass_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.xpr_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.expr_)}},
    // uint32 infercollid = 3 [json_name = "infercollid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(InferenceElem, _impl_.infercollid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.infercollid_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.expr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 infercollid = 3 [json_name = "infercollid"];
    {PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.infercollid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 inferopclass = 4 [json_name = "inferopclass"];
    {PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.inferopclass_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* InferenceElem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InferenceElem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->_internal_infercollid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_infercollid(), target);
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->_internal_inferopclass() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_inferopclass(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.InferenceElem)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node expr = 2 [json_name = "expr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

  }
  // uint32 infercollid = 3 [json_name = "infercollid"];
  if (this->_internal_infercollid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_infercollid());
  }

  // uint32 inferopclass = 4 [json_name = "inferopclass"];
  if (this->_internal_inferopclass() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_inferopclass());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData InferenceElem::_class_data_ = {
    InferenceElem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* InferenceElem::GetClassData() const {
  return &_class_data_;
}

void InferenceElem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<InferenceElem*>(&to_msg);
  auto& from = static_cast<const InferenceElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InferenceElem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
  }
  if (from._internal_infercollid() != 0) {
    _this->_internal_set_infercollid(from._internal_infercollid());
  }
  if (from._internal_inferopclass() != 0) {
    _this->_internal_set_inferopclass(from._internal_inferopclass());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool InferenceElem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* InferenceElem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void InferenceElem::InternalSwap(InferenceElem* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.inferopclass_)
      + sizeof(InferenceElem::_impl_.inferopclass_)
      - PROTOBUF_FIELD_OFFSET(InferenceElem, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata InferenceElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[69]);
}
// ===================================================================

class TargetEntry::_Internal {
 public:
  using HasBits = decltype(std::declval<TargetEntry>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_._has_bits_);
  static const ::pg_query::Node& xpr(const TargetEntry* msg);
  static void set_has_xpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& expr(const TargetEntry* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& TargetEntry::_Internal::xpr(const TargetEntry* msg) {
  return *msg->_impl_.xpr_;
}
const ::pg_query::Node& TargetEntry::_Internal::expr(const TargetEntry* msg) {
  return *msg->_impl_.expr_;
}
TargetEntry::TargetEntry(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TargetEntry)
}
inline PROTOBUF_NDEBUG_INLINE TargetEntry::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        resname_(arena, from.resname_) {}

TargetEntry::TargetEntry(
    ::google::protobuf::Arena* arena,
    const TargetEntry& from)
    : ::google::protobuf::Message(arena) {
  TargetEntry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.xpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.xpr_)
                : nullptr;
  _impl_.expr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, resno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, resno_),
           offsetof(Impl_, resjunk_) -
               offsetof(Impl_, resno_) +
               sizeof(Impl_::resjunk_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TargetEntry)
}
inline PROTOBUF_NDEBUG_INLINE TargetEntry::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        resname_(arena) {}

inline void TargetEntry::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xpr_),
           0,
           offsetof(Impl_, resjunk_) -
               offsetof(Impl_, xpr_) +
               sizeof(Impl_::resjunk_));
}
TargetEntry::~TargetEntry() {
  // @@protoc_insertion_point(destructor:pg_query.TargetEntry)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TargetEntry::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.resname_.Destroy();
  delete _impl_.xpr_;
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TargetEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TargetEntry)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.resname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.xpr_ != nullptr);
      _impl_.xpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
  }
  ::memset(&_impl_.resno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.resjunk_) -
      reinterpret_cast<char*>(&_impl_.resno_)) + sizeof(_impl_.resjunk_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TargetEntry::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 44, 2> TargetEntry::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TargetEntry_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool resjunk = 8 [json_name = "resjunk"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TargetEntry, _impl_.resjunk_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resjunk_)}},
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.xpr_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.expr_)}},
    // int32 resno = 3 [json_name = "resno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TargetEntry, _impl_.resno_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resno_)}},
    // string resname = 4 [json_name = "resname"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resname_)}},
    // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TargetEntry, _impl_.ressortgroupref_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.ressortgroupref_)}},
    // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TargetEntry, _impl_.resorigtbl_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resorigtbl_)}},
    // int32 resorigcol = 7 [json_name = "resorigcol"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TargetEntry, _impl_.resorigcol_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resorigcol_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.xpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.expr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 resno = 3 [json_name = "resno"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // string resname = 4 [json_name = "resname"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.ressortgroupref_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resorigtbl_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 resorigcol = 7 [json_name = "resorigcol"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resorigcol_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool resjunk = 8 [json_name = "resjunk"];
    {PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resjunk_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.TargetEntry"
    "resname"
  }},
};

::uint8_t* TargetEntry::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TargetEntry)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node xpr = 1 [json_name = "xpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::xpr(this),
        _Internal::xpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // int32 resno = 3 [json_name = "resno"];
  if (this->_internal_resno() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_resno(), target);
  }

  // string resname = 4 [json_name = "resname"];
  if (!this->_internal_resname().empty()) {
    const std::string& _s = this->_internal_resname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.TargetEntry.resname");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
  if (this->_internal_ressortgroupref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        5, this->_internal_ressortgroupref(), target);
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->_internal_resorigtbl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        6, this->_internal_resorigtbl(), target);
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->_internal_resorigcol() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_resorigcol(), target);
  }

  // bool resjunk = 8 [json_name = "resjunk"];
  if (this->_internal_resjunk() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_resjunk(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TargetEntry)
  return target;
}

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

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

  // string resname = 4 [json_name = "resname"];
  if (!this->_internal_resname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_resname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node xpr = 1 [json_name = "xpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.xpr_);
    }

    // .pg_query.Node expr = 2 [json_name = "expr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

  }
  // int32 resno = 3 [json_name = "resno"];
  if (this->_internal_resno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resno());
  }

  // uint32 ressortgroupref = 5 [json_name = "ressortgroupref"];
  if (this->_internal_ressortgroupref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_ressortgroupref());
  }

  // uint32 resorigtbl = 6 [json_name = "resorigtbl"];
  if (this->_internal_resorigtbl() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_resorigtbl());
  }

  // int32 resorigcol = 7 [json_name = "resorigcol"];
  if (this->_internal_resorigcol() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_resorigcol());
  }

  // bool resjunk = 8 [json_name = "resjunk"];
  if (this->_internal_resjunk() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TargetEntry::_class_data_ = {
    TargetEntry::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TargetEntry::GetClassData() const {
  return &_class_data_;
}

void TargetEntry::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TargetEntry*>(&to_msg);
  auto& from = static_cast<const TargetEntry&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TargetEntry)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_resname().empty()) {
    _this->_internal_set_resname(from._internal_resname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_xpr()->::pg_query::Node::MergeFrom(
          from._internal_xpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
  }
  if (from._internal_resno() != 0) {
    _this->_internal_set_resno(from._internal_resno());
  }
  if (from._internal_ressortgroupref() != 0) {
    _this->_internal_set_ressortgroupref(from._internal_ressortgroupref());
  }
  if (from._internal_resorigtbl() != 0) {
    _this->_internal_set_resorigtbl(from._internal_resorigtbl());
  }
  if (from._internal_resorigcol() != 0) {
    _this->_internal_set_resorigcol(from._internal_resorigcol());
  }
  if (from._internal_resjunk() != 0) {
    _this->_internal_set_resjunk(from._internal_resjunk());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TargetEntry::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TargetEntry::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TargetEntry::InternalSwap(TargetEntry* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.resname_, &other->_impl_.resname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.resjunk_)
      + sizeof(TargetEntry::_impl_.resjunk_)
      - PROTOBUF_FIELD_OFFSET(TargetEntry, _impl_.xpr_)>(
          reinterpret_cast<char*>(&_impl_.xpr_),
          reinterpret_cast<char*>(&other->_impl_.xpr_));
}

::google::protobuf::Metadata TargetEntry::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[70]);
}
// ===================================================================

class RangeTblRef::_Internal {
 public:
};

RangeTblRef::RangeTblRef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblRef)
}
RangeTblRef::RangeTblRef(
    ::google::protobuf::Arena* arena, const RangeTblRef& from)
    : RangeTblRef(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE RangeTblRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RangeTblRef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.rtindex_ = {};
}
RangeTblRef::~RangeTblRef() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblRef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTblRef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTblRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblRef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.rtindex_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTblRef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> RangeTblRef::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_RangeTblRef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 rtindex = 1 [json_name = "rtindex"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblRef, _impl_.rtindex_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblRef, _impl_.rtindex_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 rtindex = 1 [json_name = "rtindex"];
    {PROTOBUF_FIELD_OFFSET(RangeTblRef, _impl_.rtindex_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* RangeTblRef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblRef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 rtindex = 1 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_rtindex(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTblRef)
  return target;
}

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

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

  // int32 rtindex = 1 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_rtindex());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTblRef::_class_data_ = {
    RangeTblRef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTblRef::GetClassData() const {
  return &_class_data_;
}

void RangeTblRef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTblRef*>(&to_msg);
  auto& from = static_cast<const RangeTblRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblRef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_rtindex() != 0) {
    _this->_internal_set_rtindex(from._internal_rtindex());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTblRef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTblRef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTblRef::InternalSwap(RangeTblRef* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.rtindex_, other->_impl_.rtindex_);
}

::google::protobuf::Metadata RangeTblRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[71]);
}
// ===================================================================

class JoinExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JoinExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_._has_bits_);
  static const ::pg_query::Node& larg(const JoinExpr* msg);
  static void set_has_larg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& rarg(const JoinExpr* msg);
  static void set_has_rarg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Alias& join_using_alias(const JoinExpr* msg);
  static void set_has_join_using_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::Node& quals(const JoinExpr* msg);
  static void set_has_quals(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::Alias& alias(const JoinExpr* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::pg_query::Node& JoinExpr::_Internal::larg(const JoinExpr* msg) {
  return *msg->_impl_.larg_;
}
const ::pg_query::Node& JoinExpr::_Internal::rarg(const JoinExpr* msg) {
  return *msg->_impl_.rarg_;
}
const ::pg_query::Alias& JoinExpr::_Internal::join_using_alias(const JoinExpr* msg) {
  return *msg->_impl_.join_using_alias_;
}
const ::pg_query::Node& JoinExpr::_Internal::quals(const JoinExpr* msg) {
  return *msg->_impl_.quals_;
}
const ::pg_query::Alias& JoinExpr::_Internal::alias(const JoinExpr* msg) {
  return *msg->_impl_.alias_;
}
JoinExpr::JoinExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JoinExpr)
}
inline PROTOBUF_NDEBUG_INLINE JoinExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        using_clause_{visibility, arena, from.using_clause_} {}

JoinExpr::JoinExpr(
    ::google::protobuf::Arena* arena,
    const JoinExpr& from)
    : ::google::protobuf::Message(arena) {
  JoinExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.larg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.larg_)
                : nullptr;
  _impl_.rarg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rarg_)
                : nullptr;
  _impl_.join_using_alias_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.join_using_alias_)
                : nullptr;
  _impl_.quals_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.quals_)
                : nullptr;
  _impl_.alias_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, jointype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, jointype_),
           offsetof(Impl_, rtindex_) -
               offsetof(Impl_, jointype_) +
               sizeof(Impl_::rtindex_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JoinExpr)
}
inline PROTOBUF_NDEBUG_INLINE JoinExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        using_clause_{visibility, arena} {}

inline void JoinExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, larg_),
           0,
           offsetof(Impl_, rtindex_) -
               offsetof(Impl_, larg_) +
               sizeof(Impl_::rtindex_));
}
JoinExpr::~JoinExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JoinExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JoinExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.larg_;
  delete _impl_.rarg_;
  delete _impl_.join_using_alias_;
  delete _impl_.quals_;
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JoinExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JoinExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.using_clause_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.larg_ != nullptr);
      _impl_.larg_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.rarg_ != nullptr);
      _impl_.rarg_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.join_using_alias_ != nullptr);
      _impl_.join_using_alias_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.quals_ != nullptr);
      _impl_.quals_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.alias_ != nullptr);
      _impl_.alias_->Clear();
    }
  }
  ::memset(&_impl_.jointype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.rtindex_) -
      reinterpret_cast<char*>(&_impl_.jointype_)) + sizeof(_impl_.rtindex_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JoinExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 9, 6, 0, 2> JoinExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_._has_bits_),
    0, // no _extensions_
    9, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966784,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JoinExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JoinExpr, _impl_.jointype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.jointype_)}},
    // bool is_natural = 2 [json_name = "isNatural"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JoinExpr, _impl_.is_natural_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.is_natural_)}},
    // .pg_query.Node larg = 3 [json_name = "larg"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.larg_)}},
    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rarg_)}},
    // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.using_clause_)}},
    // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 3, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.join_using_alias_)}},
    // .pg_query.Node quals = 7 [json_name = "quals"];
    {::_pbi::TcParser::FastMtS1,
     {58, 3, 4, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.quals_)}},
    // .pg_query.Alias alias = 8 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {66, 4, 5, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.alias_)}},
    // int32 rtindex = 9 [json_name = "rtindex"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JoinExpr, _impl_.rtindex_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rtindex_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.jointype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool is_natural = 2 [json_name = "isNatural"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.is_natural_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node larg = 3 [json_name = "larg"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.larg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rarg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.using_clause_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.join_using_alias_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node quals = 7 [json_name = "quals"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.quals_), _Internal::kHasBitsOffset + 3, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias alias = 8 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.alias_), _Internal::kHasBitsOffset + 4, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 rtindex = 9 [json_name = "rtindex"];
    {PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rtindex_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
  }}, {{
  }},
};

::uint8_t* JoinExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JoinExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_jointype(), target);
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->_internal_is_natural() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_is_natural(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::larg(this),
        _Internal::larg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::rarg(this),
        _Internal::rarg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_using_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_using_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::join_using_alias(this),
        _Internal::join_using_alias(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node quals = 7 [json_name = "quals"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::quals(this),
        _Internal::quals(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 8 [json_name = "alias"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // int32 rtindex = 9 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<9>(
            stream, this->_internal_rtindex(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JoinExpr)
  return target;
}

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

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

  // repeated .pg_query.Node using_clause = 5 [json_name = "usingClause"];
  total_size += 1UL * this->_internal_using_clause_size();
  for (const auto& msg : this->_internal_using_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // .pg_query.Node larg = 3 [json_name = "larg"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.larg_);
    }

    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rarg_);
    }

    // .pg_query.Alias join_using_alias = 6 [json_name = "join_using_alias"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.join_using_alias_);
    }

    // .pg_query.Node quals = 7 [json_name = "quals"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.quals_);
    }

    // .pg_query.Alias alias = 8 [json_name = "alias"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
    }

  }
  // .pg_query.JoinType jointype = 1 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // bool is_natural = 2 [json_name = "isNatural"];
  if (this->_internal_is_natural() != 0) {
    total_size += 2;
  }

  // int32 rtindex = 9 [json_name = "rtindex"];
  if (this->_internal_rtindex() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_rtindex());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JoinExpr::_class_data_ = {
    JoinExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JoinExpr::GetClassData() const {
  return &_class_data_;
}

void JoinExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JoinExpr*>(&to_msg);
  auto& from = static_cast<const JoinExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JoinExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_using_clause()->MergeFrom(
      from._internal_using_clause());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_larg()->::pg_query::Node::MergeFrom(
          from._internal_larg());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_rarg()->::pg_query::Node::MergeFrom(
          from._internal_rarg());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_join_using_alias()->::pg_query::Alias::MergeFrom(
          from._internal_join_using_alias());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_quals()->::pg_query::Node::MergeFrom(
          from._internal_quals());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
    }
  }
  if (from._internal_jointype() != 0) {
    _this->_internal_set_jointype(from._internal_jointype());
  }
  if (from._internal_is_natural() != 0) {
    _this->_internal_set_is_natural(from._internal_is_natural());
  }
  if (from._internal_rtindex() != 0) {
    _this->_internal_set_rtindex(from._internal_rtindex());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JoinExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JoinExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JoinExpr::InternalSwap(JoinExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.using_clause_.InternalSwap(&other->_impl_.using_clause_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.rtindex_)
      + sizeof(JoinExpr::_impl_.rtindex_)
      - PROTOBUF_FIELD_OFFSET(JoinExpr, _impl_.larg_)>(
          reinterpret_cast<char*>(&_impl_.larg_),
          reinterpret_cast<char*>(&other->_impl_.larg_));
}

::google::protobuf::Metadata JoinExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[72]);
}
// ===================================================================

class FromExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<FromExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FromExpr, _impl_._has_bits_);
  static const ::pg_query::Node& quals(const FromExpr* msg);
  static void set_has_quals(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& FromExpr::_Internal::quals(const FromExpr* msg) {
  return *msg->_impl_.quals_;
}
FromExpr::FromExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FromExpr)
}
inline PROTOBUF_NDEBUG_INLINE FromExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        fromlist_{visibility, arena, from.fromlist_} {}

FromExpr::FromExpr(
    ::google::protobuf::Arena* arena,
    const FromExpr& from)
    : ::google::protobuf::Message(arena) {
  FromExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.quals_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.quals_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.FromExpr)
}
inline PROTOBUF_NDEBUG_INLINE FromExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        fromlist_{visibility, arena} {}

inline void FromExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.quals_ = {};
}
FromExpr::~FromExpr() {
  // @@protoc_insertion_point(destructor:pg_query.FromExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FromExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.quals_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FromExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FromExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.fromlist_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.quals_ != nullptr);
    _impl_.quals_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FromExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> FromExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FromExpr, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FromExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node quals = 2 [json_name = "quals"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(FromExpr, _impl_.quals_)}},
    // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FromExpr, _impl_.fromlist_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
    {PROTOBUF_FIELD_OFFSET(FromExpr, _impl_.fromlist_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node quals = 2 [json_name = "quals"];
    {PROTOBUF_FIELD_OFFSET(FromExpr, _impl_.quals_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* FromExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FromExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fromlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_fromlist().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node quals = 2 [json_name = "quals"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::quals(this),
        _Internal::quals(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FromExpr)
  return target;
}

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

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

  // repeated .pg_query.Node fromlist = 1 [json_name = "fromlist"];
  total_size += 1UL * this->_internal_fromlist_size();
  for (const auto& msg : this->_internal_fromlist()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node quals = 2 [json_name = "quals"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.quals_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FromExpr::_class_data_ = {
    FromExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FromExpr::GetClassData() const {
  return &_class_data_;
}

void FromExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FromExpr*>(&to_msg);
  auto& from = static_cast<const FromExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FromExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_fromlist()->MergeFrom(
      from._internal_fromlist());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_quals()->::pg_query::Node::MergeFrom(
        from._internal_quals());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FromExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FromExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FromExpr::InternalSwap(FromExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.fromlist_.InternalSwap(&other->_impl_.fromlist_);
  swap(_impl_.quals_, other->_impl_.quals_);
}

::google::protobuf::Metadata FromExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[73]);
}
// ===================================================================

class OnConflictExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<OnConflictExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_._has_bits_);
  static const ::pg_query::Node& arbiter_where(const OnConflictExpr* msg);
  static void set_has_arbiter_where(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& on_conflict_where(const OnConflictExpr* msg);
  static void set_has_on_conflict_where(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& OnConflictExpr::_Internal::arbiter_where(const OnConflictExpr* msg) {
  return *msg->_impl_.arbiter_where_;
}
const ::pg_query::Node& OnConflictExpr::_Internal::on_conflict_where(const OnConflictExpr* msg) {
  return *msg->_impl_.on_conflict_where_;
}
OnConflictExpr::OnConflictExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictExpr)
}
inline PROTOBUF_NDEBUG_INLINE OnConflictExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        arbiter_elems_{visibility, arena, from.arbiter_elems_},
        on_conflict_set_{visibility, arena, from.on_conflict_set_},
        excl_rel_tlist_{visibility, arena, from.excl_rel_tlist_} {}

OnConflictExpr::OnConflictExpr(
    ::google::protobuf::Arena* arena,
    const OnConflictExpr& from)
    : ::google::protobuf::Message(arena) {
  OnConflictExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arbiter_where_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arbiter_where_)
                : nullptr;
  _impl_.on_conflict_where_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.on_conflict_where_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, action_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, action_),
           offsetof(Impl_, excl_rel_index_) -
               offsetof(Impl_, action_) +
               sizeof(Impl_::excl_rel_index_));

  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictExpr)
}
inline PROTOBUF_NDEBUG_INLINE OnConflictExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        arbiter_elems_{visibility, arena},
        on_conflict_set_{visibility, arena},
        excl_rel_tlist_{visibility, arena} {}

inline void OnConflictExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, arbiter_where_),
           0,
           offsetof(Impl_, excl_rel_index_) -
               offsetof(Impl_, arbiter_where_) +
               sizeof(Impl_::excl_rel_index_));
}
OnConflictExpr::~OnConflictExpr() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void OnConflictExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.arbiter_where_;
  delete _impl_.on_conflict_where_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void OnConflictExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OnConflictExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.arbiter_elems_.Clear();
  _impl_.on_conflict_set_.Clear();
  _impl_.excl_rel_tlist_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.arbiter_where_ != nullptr);
      _impl_.arbiter_where_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.on_conflict_where_ != nullptr);
      _impl_.on_conflict_where_->Clear();
    }
  }
  ::memset(&_impl_.action_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.excl_rel_index_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.excl_rel_index_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* OnConflictExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 5, 0, 2> OnConflictExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_OnConflictExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 4, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_tlist_)}},
    // .pg_query.OnConflictAction action = 1 [json_name = "action"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OnConflictExpr, _impl_.action_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.action_)}},
    // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_elems_)}},
    // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_where_)}},
    // uint32 constraint = 4 [json_name = "constraint"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OnConflictExpr, _impl_.constraint_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.constraint_)}},
    // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.on_conflict_set_)}},
    // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
    {::_pbi::TcParser::FastMtS1,
     {50, 1, 3, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.on_conflict_where_)}},
    // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OnConflictExpr, _impl_.excl_rel_index_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_index_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.OnConflictAction action = 1 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_elems_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_where_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 constraint = 4 [json_name = "constraint"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.constraint_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.on_conflict_set_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.on_conflict_where_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_index_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
    {PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_tlist_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* OnConflictExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OnConflictExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_action(), target);
  }

  // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_arbiter_elems_size()); i < n; i++) {
    const auto& repfield = this->_internal_arbiter_elems().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::arbiter_where(this),
        _Internal::arbiter_where(this).GetCachedSize(), target, stream);
  }

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->_internal_constraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_constraint(), target);
  }

  // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_on_conflict_set_size()); i < n; i++) {
    const auto& repfield = this->_internal_on_conflict_set().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::on_conflict_where(this),
        _Internal::on_conflict_where(this).GetCachedSize(), target, stream);
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->_internal_excl_rel_index() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_excl_rel_index(), target);
  }

  // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_excl_rel_tlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_excl_rel_tlist().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.OnConflictExpr)
  return target;
}

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

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

  // repeated .pg_query.Node arbiter_elems = 2 [json_name = "arbiterElems"];
  total_size += 1UL * this->_internal_arbiter_elems_size();
  for (const auto& msg : this->_internal_arbiter_elems()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node on_conflict_set = 5 [json_name = "onConflictSet"];
  total_size += 1UL * this->_internal_on_conflict_set_size();
  for (const auto& msg : this->_internal_on_conflict_set()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node excl_rel_tlist = 8 [json_name = "exclRelTlist"];
  total_size += 1UL * this->_internal_excl_rel_tlist_size();
  for (const auto& msg : this->_internal_excl_rel_tlist()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node arbiter_where = 3 [json_name = "arbiterWhere"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arbiter_where_);
    }

    // .pg_query.Node on_conflict_where = 6 [json_name = "onConflictWhere"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_conflict_where_);
    }

  }
  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  // uint32 constraint = 4 [json_name = "constraint"];
  if (this->_internal_constraint() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_constraint());
  }

  // int32 excl_rel_index = 7 [json_name = "exclRelIndex"];
  if (this->_internal_excl_rel_index() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_excl_rel_index());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData OnConflictExpr::_class_data_ = {
    OnConflictExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* OnConflictExpr::GetClassData() const {
  return &_class_data_;
}

void OnConflictExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<OnConflictExpr*>(&to_msg);
  auto& from = static_cast<const OnConflictExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OnConflictExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_arbiter_elems()->MergeFrom(
      from._internal_arbiter_elems());
  _this->_internal_mutable_on_conflict_set()->MergeFrom(
      from._internal_on_conflict_set());
  _this->_internal_mutable_excl_rel_tlist()->MergeFrom(
      from._internal_excl_rel_tlist());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_arbiter_where()->::pg_query::Node::MergeFrom(
          from._internal_arbiter_where());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_on_conflict_where()->::pg_query::Node::MergeFrom(
          from._internal_on_conflict_where());
    }
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_constraint() != 0) {
    _this->_internal_set_constraint(from._internal_constraint());
  }
  if (from._internal_excl_rel_index() != 0) {
    _this->_internal_set_excl_rel_index(from._internal_excl_rel_index());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool OnConflictExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* OnConflictExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void OnConflictExpr::InternalSwap(OnConflictExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.arbiter_elems_.InternalSwap(&other->_impl_.arbiter_elems_);
  _impl_.on_conflict_set_.InternalSwap(&other->_impl_.on_conflict_set_);
  _impl_.excl_rel_tlist_.InternalSwap(&other->_impl_.excl_rel_tlist_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.excl_rel_index_)
      + sizeof(OnConflictExpr::_impl_.excl_rel_index_)
      - PROTOBUF_FIELD_OFFSET(OnConflictExpr, _impl_.arbiter_where_)>(
          reinterpret_cast<char*>(&_impl_.arbiter_where_),
          reinterpret_cast<char*>(&other->_impl_.arbiter_where_));
}

::google::protobuf::Metadata OnConflictExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[74]);
}
// ===================================================================

class Query::_Internal {
 public:
  using HasBits = decltype(std::declval<Query>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Query, _impl_._has_bits_);
  static const ::pg_query::Node& utility_stmt(const Query* msg);
  static void set_has_utility_stmt(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::FromExpr& jointree(const Query* msg);
  static void set_has_jointree(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& merge_join_condition(const Query* msg);
  static void set_has_merge_join_condition(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::OnConflictExpr& on_conflict(const Query* msg);
  static void set_has_on_conflict(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::Node& having_qual(const Query* msg);
  static void set_has_having_qual(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static const ::pg_query::Node& limit_offset(const Query* msg);
  static void set_has_limit_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static const ::pg_query::Node& limit_count(const Query* msg);
  static void set_has_limit_count(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static const ::pg_query::Node& set_operations(const Query* msg);
  static void set_has_set_operations(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

const ::pg_query::Node& Query::_Internal::utility_stmt(const Query* msg) {
  return *msg->_impl_.utility_stmt_;
}
const ::pg_query::FromExpr& Query::_Internal::jointree(const Query* msg) {
  return *msg->_impl_.jointree_;
}
const ::pg_query::Node& Query::_Internal::merge_join_condition(const Query* msg) {
  return *msg->_impl_.merge_join_condition_;
}
const ::pg_query::OnConflictExpr& Query::_Internal::on_conflict(const Query* msg) {
  return *msg->_impl_.on_conflict_;
}
const ::pg_query::Node& Query::_Internal::having_qual(const Query* msg) {
  return *msg->_impl_.having_qual_;
}
const ::pg_query::Node& Query::_Internal::limit_offset(const Query* msg) {
  return *msg->_impl_.limit_offset_;
}
const ::pg_query::Node& Query::_Internal::limit_count(const Query* msg) {
  return *msg->_impl_.limit_count_;
}
const ::pg_query::Node& Query::_Internal::set_operations(const Query* msg) {
  return *msg->_impl_.set_operations_;
}
Query::Query(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Query)
}
inline PROTOBUF_NDEBUG_INLINE Query::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cte_list_{visibility, arena, from.cte_list_},
        rtable_{visibility, arena, from.rtable_},
        rteperminfos_{visibility, arena, from.rteperminfos_},
        merge_action_list_{visibility, arena, from.merge_action_list_},
        target_list_{visibility, arena, from.target_list_},
        returning_list_{visibility, arena, from.returning_list_},
        group_clause_{visibility, arena, from.group_clause_},
        grouping_sets_{visibility, arena, from.grouping_sets_},
        window_clause_{visibility, arena, from.window_clause_},
        distinct_clause_{visibility, arena, from.distinct_clause_},
        sort_clause_{visibility, arena, from.sort_clause_},
        row_marks_{visibility, arena, from.row_marks_},
        constraint_deps_{visibility, arena, from.constraint_deps_},
        with_check_options_{visibility, arena, from.with_check_options_} {}

Query::Query(
    ::google::protobuf::Arena* arena,
    const Query& from)
    : ::google::protobuf::Message(arena) {
  Query* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.utility_stmt_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.utility_stmt_)
                : nullptr;
  _impl_.jointree_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::FromExpr>(arena, *from._impl_.jointree_)
                : nullptr;
  _impl_.merge_join_condition_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.merge_join_condition_)
                : nullptr;
  _impl_.on_conflict_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::OnConflictExpr>(arena, *from._impl_.on_conflict_)
                : nullptr;
  _impl_.having_qual_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.having_qual_)
                : nullptr;
  _impl_.limit_offset_ = (cached_has_bits & 0x00000020u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.limit_offset_)
                : nullptr;
  _impl_.limit_count_ = (cached_has_bits & 0x00000040u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.limit_count_)
                : nullptr;
  _impl_.set_operations_ = (cached_has_bits & 0x00000080u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.set_operations_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, command_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, command_type_),
           offsetof(Impl_, stmt_len_) -
               offsetof(Impl_, command_type_) +
               sizeof(Impl_::stmt_len_));

  // @@protoc_insertion_point(copy_constructor:pg_query.Query)
}
inline PROTOBUF_NDEBUG_INLINE Query::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        cte_list_{visibility, arena},
        rtable_{visibility, arena},
        rteperminfos_{visibility, arena},
        merge_action_list_{visibility, arena},
        target_list_{visibility, arena},
        returning_list_{visibility, arena},
        group_clause_{visibility, arena},
        grouping_sets_{visibility, arena},
        window_clause_{visibility, arena},
        distinct_clause_{visibility, arena},
        sort_clause_{visibility, arena},
        row_marks_{visibility, arena},
        constraint_deps_{visibility, arena},
        with_check_options_{visibility, arena} {}

inline void Query::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, utility_stmt_),
           0,
           offsetof(Impl_, stmt_len_) -
               offsetof(Impl_, utility_stmt_) +
               sizeof(Impl_::stmt_len_));
}
Query::~Query() {
  // @@protoc_insertion_point(destructor:pg_query.Query)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Query::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.utility_stmt_;
  delete _impl_.jointree_;
  delete _impl_.merge_join_condition_;
  delete _impl_.on_conflict_;
  delete _impl_.having_qual_;
  delete _impl_.limit_offset_;
  delete _impl_.limit_count_;
  delete _impl_.set_operations_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Query::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Query)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cte_list_.Clear();
  _impl_.rtable_.Clear();
  _impl_.rteperminfos_.Clear();
  _impl_.merge_action_list_.Clear();
  _impl_.target_list_.Clear();
  _impl_.returning_list_.Clear();
  _impl_.group_clause_.Clear();
  _impl_.grouping_sets_.Clear();
  _impl_.window_clause_.Clear();
  _impl_.distinct_clause_.Clear();
  _impl_.sort_clause_.Clear();
  _impl_.row_marks_.Clear();
  _impl_.constraint_deps_.Clear();
  _impl_.with_check_options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.utility_stmt_ != nullptr);
      _impl_.utility_stmt_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.jointree_ != nullptr);
      _impl_.jointree_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.merge_join_condition_ != nullptr);
      _impl_.merge_join_condition_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.on_conflict_ != nullptr);
      _impl_.on_conflict_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.having_qual_ != nullptr);
      _impl_.having_qual_->Clear();
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(_impl_.limit_offset_ != nullptr);
      _impl_.limit_offset_->Clear();
    }
    if (cached_has_bits & 0x00000040u) {
      ABSL_DCHECK(_impl_.limit_count_ != nullptr);
      _impl_.limit_count_->Clear();
    }
    if (cached_has_bits & 0x00000080u) {
      ABSL_DCHECK(_impl_.set_operations_ != nullptr);
      _impl_.set_operations_->Clear();
    }
  }
  ::memset(&_impl_.command_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.stmt_len_) -
      reinterpret_cast<char*>(&_impl_.command_type_)) + sizeof(_impl_.stmt_len_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Query::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 42, 22, 0, 7> Query::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Query, _impl_._has_bits_),
    0, // no _extensions_
    42, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    0,  // skipmap
    offsetof(decltype(_table_), field_entries),
    42,  // num_field_entries
    22,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Query_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Query, _impl_.command_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.command_type_)}},
    // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Query, _impl_.query_source_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.query_source_)}},
    // bool can_set_tag = 3 [json_name = "canSetTag"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.can_set_tag_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.can_set_tag_)}},
    // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.utility_stmt_)}},
    // int32 result_relation = 5 [json_name = "resultRelation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Query, _impl_.result_relation_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.result_relation_)}},
    // bool has_aggs = 6 [json_name = "hasAggs"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_aggs_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_aggs_)}},
    // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_window_funcs_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_window_funcs_)}},
    // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_target_srfs_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_target_srfs_)}},
    // bool has_sub_links = 9 [json_name = "hasSubLinks"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_sub_links_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_sub_links_)}},
    // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_distinct_on_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_distinct_on_)}},
    // bool has_recursive = 11 [json_name = "hasRecursive"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_recursive_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_recursive_)}},
    // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_modifying_cte_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_modifying_cte_)}},
    // bool has_for_update = 13 [json_name = "hasForUpdate"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_for_update_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_for_update_)}},
    // bool has_row_security = 14 [json_name = "hasRowSecurity"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.has_row_security_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.has_row_security_)}},
    // bool is_return = 15 [json_name = "isReturn"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Query, _impl_.is_return_), 63>(),
     {120, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.is_return_)}},
    // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
    {::_pbi::TcParser::FastMtR2,
     {386, 63, 1, PROTOBUF_FIELD_OFFSET(Query, _impl_.cte_list_)}},
    // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
    {::_pbi::TcParser::FastMtR2,
     {394, 63, 2, PROTOBUF_FIELD_OFFSET(Query, _impl_.rtable_)}},
    // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"];
    {::_pbi::TcParser::FastMtR2,
     {402, 63, 3, PROTOBUF_FIELD_OFFSET(Query, _impl_.rteperminfos_)}},
    // .pg_query.FromExpr jointree = 19 [json_name = "jointree"];
    {::_pbi::TcParser::FastMtS2,
     {410, 1, 4, PROTOBUF_FIELD_OFFSET(Query, _impl_.jointree_)}},
    // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"];
    {::_pbi::TcParser::FastMtR2,
     {418, 63, 5, PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_action_list_)}},
    // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"];
    {::_pbi::TcParser::FastV32S2,
     {424, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_target_relation_)}},
    // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"];
    {::_pbi::TcParser::FastMtS2,
     {434, 2, 6, PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_join_condition_)}},
    // repeated .pg_query.Node target_list = 23 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR2,
     {442, 63, 7, PROTOBUF_FIELD_OFFSET(Query, _impl_.target_list_)}},
    // .pg_query.OverridingKind override = 24 [json_name = "override"];
    {::_pbi::TcParser::FastV32S2,
     {448, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.override_)}},
    // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"];
    {::_pbi::TcParser::FastMtS2,
     {458, 3, 8, PROTOBUF_FIELD_OFFSET(Query, _impl_.on_conflict_)}},
    // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"];
    {::_pbi::TcParser::FastMtR2,
     {466, 63, 9, PROTOBUF_FIELD_OFFSET(Query, _impl_.returning_list_)}},
    // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"];
    {::_pbi::TcParser::FastMtR2,
     {474, 63, 10, PROTOBUF_FIELD_OFFSET(Query, _impl_.group_clause_)}},
    // bool group_distinct = 28 [json_name = "groupDistinct"];
    {::_pbi::TcParser::FastV8S2,
     {480, 63, 0, PROTOBUF_FIELD_OFFSET(Query, _impl_.group_distinct_)}},
    // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"];
    {::_pbi::TcParser::FastMtR2,
     {490, 63, 11, PROTOBUF_FIELD_OFFSET(Query, _impl_.grouping_sets_)}},
    // .pg_query.Node having_qual = 30 [json_name = "havingQual"];
    {::_pbi::TcParser::FastMtS2,
     {498, 4, 12, PROTOBUF_FIELD_OFFSET(Query, _impl_.having_qual_)}},
    // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"];
    {::_pbi::TcParser::FastMtR2,
     {506, 63, 13, PROTOBUF_FIELD_OFFSET(Query, _impl_.window_clause_)}},
  }}, {{
    33, 0, 1,
    64512, 32,
    65535, 65535
  }}, {{
    // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.command_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.query_source_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool can_set_tag = 3 [json_name = "canSetTag"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.can_set_tag_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.utility_stmt_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 result_relation = 5 [json_name = "resultRelation"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.result_relation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool has_aggs = 6 [json_name = "hasAggs"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_aggs_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_window_funcs_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_target_srfs_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_sub_links = 9 [json_name = "hasSubLinks"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_sub_links_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_distinct_on_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_recursive = 11 [json_name = "hasRecursive"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_recursive_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_modifying_cte_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_for_update = 13 [json_name = "hasForUpdate"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_for_update_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool has_row_security = 14 [json_name = "hasRowSecurity"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.has_row_security_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_return = 15 [json_name = "isReturn"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.is_return_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.cte_list_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.rtable_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.rteperminfos_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FromExpr jointree = 19 [json_name = "jointree"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.jointree_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_action_list_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_target_relation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.merge_join_condition_), _Internal::kHasBitsOffset + 2, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 23 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.target_list_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OverridingKind override = 24 [json_name = "override"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.override_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.on_conflict_), _Internal::kHasBitsOffset + 3, 8,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.returning_list_), -1, 9,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.group_clause_), -1, 10,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool group_distinct = 28 [json_name = "groupDistinct"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.group_distinct_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.grouping_sets_), -1, 11,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node having_qual = 30 [json_name = "havingQual"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.having_qual_), _Internal::kHasBitsOffset + 4, 12,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.window_clause_), -1, 13,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.distinct_clause_), -1, 14,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.sort_clause_), -1, 15,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node limit_offset = 34 [json_name = "limitOffset"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.limit_offset_), _Internal::kHasBitsOffset + 5, 16,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node limit_count = 35 [json_name = "limitCount"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.limit_count_), _Internal::kHasBitsOffset + 6, 17,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.limit_option_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.row_marks_), -1, 18,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node set_operations = 38 [json_name = "setOperations"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.set_operations_), _Internal::kHasBitsOffset + 7, 19,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.constraint_deps_), -1, 20,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.with_check_options_), -1, 21,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 stmt_location = 41 [json_name = "stmt_location"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.stmt_location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 stmt_len = 42 [json_name = "stmt_len"];
    {PROTOBUF_FIELD_OFFSET(Query, _impl_.stmt_len_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::FromExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::OnConflictExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* Query::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Query)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_command_type(), target);
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->_internal_query_source() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_query_source(), target);
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->_internal_can_set_tag() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_can_set_tag(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::utility_stmt(this),
        _Internal::utility_stmt(this).GetCachedSize(), target, stream);
  }

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->_internal_result_relation() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_result_relation(), target);
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->_internal_has_aggs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_has_aggs(), target);
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->_internal_has_window_funcs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_has_window_funcs(), target);
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->_internal_has_target_srfs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_has_target_srfs(), target);
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->_internal_has_sub_links() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        9, this->_internal_has_sub_links(), target);
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->_internal_has_distinct_on() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        10, this->_internal_has_distinct_on(), target);
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->_internal_has_recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_has_recursive(), target);
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->_internal_has_modifying_cte() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_has_modifying_cte(), target);
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->_internal_has_for_update() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this->_internal_has_for_update(), target);
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->_internal_has_row_security() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this->_internal_has_row_security(), target);
  }

  // bool is_return = 15 [json_name = "isReturn"];
  if (this->_internal_is_return() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        15, this->_internal_is_return(), target);
  }

  // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cte_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_cte_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rtable_size()); i < n; i++) {
    const auto& repfield = this->_internal_rtable().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(17, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rteperminfos_size()); i < n; i++) {
    const auto& repfield = this->_internal_rteperminfos().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(18, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.FromExpr jointree = 19 [json_name = "jointree"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        19, _Internal::jointree(this),
        _Internal::jointree(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_merge_action_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_merge_action_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(20, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"];
  if (this->_internal_merge_target_relation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        21, this->_internal_merge_target_relation(), target);
  }

  // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        22, _Internal::merge_join_condition(this),
        _Internal::merge_join_condition(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 23 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(23, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OverridingKind override = 24 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        24, this->_internal_override(), target);
  }

  // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        25, _Internal::on_conflict(this),
        _Internal::on_conflict(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(26, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(27, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool group_distinct = 28 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        28, this->_internal_group_distinct(), target);
  }

  // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grouping_sets_size()); i < n; i++) {
    const auto& repfield = this->_internal_grouping_sets().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(29, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node having_qual = 30 [json_name = "havingQual"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        30, _Internal::having_qual(this),
        _Internal::having_qual(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_window_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_window_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(31, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_distinct_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_distinct_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(32, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_sort_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_sort_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(33, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_offset = 34 [json_name = "limitOffset"];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        34, _Internal::limit_offset(this),
        _Internal::limit_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_count = 35 [json_name = "limitCount"];
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        35, _Internal::limit_count(this),
        _Internal::limit_count(this).GetCachedSize(), target, stream);
  }

  // .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        36, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_row_marks_size()); i < n; i++) {
    const auto& repfield = this->_internal_row_marks().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(37, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node set_operations = 38 [json_name = "setOperations"];
  if (cached_has_bits & 0x00000080u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        38, _Internal::set_operations(this),
        _Internal::set_operations(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraint_deps_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraint_deps().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(39, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_with_check_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_with_check_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(40, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 stmt_location = 41 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        41, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 42 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        42, this->_internal_stmt_len(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Query)
  return target;
}

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

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

  // repeated .pg_query.Node cte_list = 16 [json_name = "cteList"];
  total_size += 2UL * this->_internal_cte_list_size();
  for (const auto& msg : this->_internal_cte_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node rtable = 17 [json_name = "rtable"];
  total_size += 2UL * this->_internal_rtable_size();
  for (const auto& msg : this->_internal_rtable()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node rteperminfos = 18 [json_name = "rteperminfos"];
  total_size += 2UL * this->_internal_rteperminfos_size();
  for (const auto& msg : this->_internal_rteperminfos()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node merge_action_list = 20 [json_name = "mergeActionList"];
  total_size += 2UL * this->_internal_merge_action_list_size();
  for (const auto& msg : this->_internal_merge_action_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node target_list = 23 [json_name = "targetList"];
  total_size += 2UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node returning_list = 26 [json_name = "returningList"];
  total_size += 2UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_internal_returning_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node group_clause = 27 [json_name = "groupClause"];
  total_size += 2UL * this->_internal_group_clause_size();
  for (const auto& msg : this->_internal_group_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node grouping_sets = 29 [json_name = "groupingSets"];
  total_size += 2UL * this->_internal_grouping_sets_size();
  for (const auto& msg : this->_internal_grouping_sets()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node window_clause = 31 [json_name = "windowClause"];
  total_size += 2UL * this->_internal_window_clause_size();
  for (const auto& msg : this->_internal_window_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node distinct_clause = 32 [json_name = "distinctClause"];
  total_size += 2UL * this->_internal_distinct_clause_size();
  for (const auto& msg : this->_internal_distinct_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node sort_clause = 33 [json_name = "sortClause"];
  total_size += 2UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->_internal_sort_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node row_marks = 37 [json_name = "rowMarks"];
  total_size += 2UL * this->_internal_row_marks_size();
  for (const auto& msg : this->_internal_row_marks()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node constraint_deps = 39 [json_name = "constraintDeps"];
  total_size += 2UL * this->_internal_constraint_deps_size();
  for (const auto& msg : this->_internal_constraint_deps()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node with_check_options = 40 [json_name = "withCheckOptions"];
  total_size += 2UL * this->_internal_with_check_options_size();
  for (const auto& msg : this->_internal_with_check_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // .pg_query.Node utility_stmt = 4 [json_name = "utilityStmt"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.utility_stmt_);
    }

    // .pg_query.FromExpr jointree = 19 [json_name = "jointree"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.jointree_);
    }

    // .pg_query.Node merge_join_condition = 22 [json_name = "mergeJoinCondition"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.merge_join_condition_);
    }

    // .pg_query.OnConflictExpr on_conflict = 25 [json_name = "onConflict"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_conflict_);
    }

    // .pg_query.Node having_qual = 30 [json_name = "havingQual"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.having_qual_);
    }

    // .pg_query.Node limit_offset = 34 [json_name = "limitOffset"];
    if (cached_has_bits & 0x00000020u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.limit_offset_);
    }

    // .pg_query.Node limit_count = 35 [json_name = "limitCount"];
    if (cached_has_bits & 0x00000040u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.limit_count_);
    }

    // .pg_query.Node set_operations = 38 [json_name = "setOperations"];
    if (cached_has_bits & 0x00000080u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.set_operations_);
    }

  }
  // .pg_query.CmdType command_type = 1 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.QuerySource query_source = 2 [json_name = "querySource"];
  if (this->_internal_query_source() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_query_source());
  }

  // int32 result_relation = 5 [json_name = "resultRelation"];
  if (this->_internal_result_relation() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_result_relation());
  }

  // bool can_set_tag = 3 [json_name = "canSetTag"];
  if (this->_internal_can_set_tag() != 0) {
    total_size += 2;
  }

  // bool has_aggs = 6 [json_name = "hasAggs"];
  if (this->_internal_has_aggs() != 0) {
    total_size += 2;
  }

  // bool has_window_funcs = 7 [json_name = "hasWindowFuncs"];
  if (this->_internal_has_window_funcs() != 0) {
    total_size += 2;
  }

  // bool has_target_srfs = 8 [json_name = "hasTargetSRFs"];
  if (this->_internal_has_target_srfs() != 0) {
    total_size += 2;
  }

  // bool has_sub_links = 9 [json_name = "hasSubLinks"];
  if (this->_internal_has_sub_links() != 0) {
    total_size += 2;
  }

  // bool has_distinct_on = 10 [json_name = "hasDistinctOn"];
  if (this->_internal_has_distinct_on() != 0) {
    total_size += 2;
  }

  // bool has_recursive = 11 [json_name = "hasRecursive"];
  if (this->_internal_has_recursive() != 0) {
    total_size += 2;
  }

  // bool has_modifying_cte = 12 [json_name = "hasModifyingCTE"];
  if (this->_internal_has_modifying_cte() != 0) {
    total_size += 2;
  }

  // bool has_for_update = 13 [json_name = "hasForUpdate"];
  if (this->_internal_has_for_update() != 0) {
    total_size += 2;
  }

  // bool has_row_security = 14 [json_name = "hasRowSecurity"];
  if (this->_internal_has_row_security() != 0) {
    total_size += 2;
  }

  // bool is_return = 15 [json_name = "isReturn"];
  if (this->_internal_is_return() != 0) {
    total_size += 2;
  }

  // bool group_distinct = 28 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    total_size += 3;
  }

  // int32 merge_target_relation = 21 [json_name = "mergeTargetRelation"];
  if (this->_internal_merge_target_relation() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_merge_target_relation());
  }

  // .pg_query.OverridingKind override = 24 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 2 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  // .pg_query.LimitOption limit_option = 36 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    total_size += 2 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // int32 stmt_location = 41 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_stmt_location());
  }

  // int32 stmt_len = 42 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_stmt_len());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Query::_class_data_ = {
    Query::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Query::GetClassData() const {
  return &_class_data_;
}

void Query::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Query*>(&to_msg);
  auto& from = static_cast<const Query&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Query)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cte_list()->MergeFrom(
      from._internal_cte_list());
  _this->_internal_mutable_rtable()->MergeFrom(
      from._internal_rtable());
  _this->_internal_mutable_rteperminfos()->MergeFrom(
      from._internal_rteperminfos());
  _this->_internal_mutable_merge_action_list()->MergeFrom(
      from._internal_merge_action_list());
  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  _this->_internal_mutable_returning_list()->MergeFrom(
      from._internal_returning_list());
  _this->_internal_mutable_group_clause()->MergeFrom(
      from._internal_group_clause());
  _this->_internal_mutable_grouping_sets()->MergeFrom(
      from._internal_grouping_sets());
  _this->_internal_mutable_window_clause()->MergeFrom(
      from._internal_window_clause());
  _this->_internal_mutable_distinct_clause()->MergeFrom(
      from._internal_distinct_clause());
  _this->_internal_mutable_sort_clause()->MergeFrom(
      from._internal_sort_clause());
  _this->_internal_mutable_row_marks()->MergeFrom(
      from._internal_row_marks());
  _this->_internal_mutable_constraint_deps()->MergeFrom(
      from._internal_constraint_deps());
  _this->_internal_mutable_with_check_options()->MergeFrom(
      from._internal_with_check_options());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_utility_stmt()->::pg_query::Node::MergeFrom(
          from._internal_utility_stmt());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_jointree()->::pg_query::FromExpr::MergeFrom(
          from._internal_jointree());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_merge_join_condition()->::pg_query::Node::MergeFrom(
          from._internal_merge_join_condition());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_on_conflict()->::pg_query::OnConflictExpr::MergeFrom(
          from._internal_on_conflict());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_having_qual()->::pg_query::Node::MergeFrom(
          from._internal_having_qual());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(
          from._internal_limit_offset());
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_internal_mutable_limit_count()->::pg_query::Node::MergeFrom(
          from._internal_limit_count());
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_internal_mutable_set_operations()->::pg_query::Node::MergeFrom(
          from._internal_set_operations());
    }
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_query_source() != 0) {
    _this->_internal_set_query_source(from._internal_query_source());
  }
  if (from._internal_result_relation() != 0) {
    _this->_internal_set_result_relation(from._internal_result_relation());
  }
  if (from._internal_can_set_tag() != 0) {
    _this->_internal_set_can_set_tag(from._internal_can_set_tag());
  }
  if (from._internal_has_aggs() != 0) {
    _this->_internal_set_has_aggs(from._internal_has_aggs());
  }
  if (from._internal_has_window_funcs() != 0) {
    _this->_internal_set_has_window_funcs(from._internal_has_window_funcs());
  }
  if (from._internal_has_target_srfs() != 0) {
    _this->_internal_set_has_target_srfs(from._internal_has_target_srfs());
  }
  if (from._internal_has_sub_links() != 0) {
    _this->_internal_set_has_sub_links(from._internal_has_sub_links());
  }
  if (from._internal_has_distinct_on() != 0) {
    _this->_internal_set_has_distinct_on(from._internal_has_distinct_on());
  }
  if (from._internal_has_recursive() != 0) {
    _this->_internal_set_has_recursive(from._internal_has_recursive());
  }
  if (from._internal_has_modifying_cte() != 0) {
    _this->_internal_set_has_modifying_cte(from._internal_has_modifying_cte());
  }
  if (from._internal_has_for_update() != 0) {
    _this->_internal_set_has_for_update(from._internal_has_for_update());
  }
  if (from._internal_has_row_security() != 0) {
    _this->_internal_set_has_row_security(from._internal_has_row_security());
  }
  if (from._internal_is_return() != 0) {
    _this->_internal_set_is_return(from._internal_is_return());
  }
  if (from._internal_group_distinct() != 0) {
    _this->_internal_set_group_distinct(from._internal_group_distinct());
  }
  if (from._internal_merge_target_relation() != 0) {
    _this->_internal_set_merge_target_relation(from._internal_merge_target_relation());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  if (from._internal_limit_option() != 0) {
    _this->_internal_set_limit_option(from._internal_limit_option());
  }
  if (from._internal_stmt_location() != 0) {
    _this->_internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from._internal_stmt_len() != 0) {
    _this->_internal_set_stmt_len(from._internal_stmt_len());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Query::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Query::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Query::InternalSwap(Query* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cte_list_.InternalSwap(&other->_impl_.cte_list_);
  _impl_.rtable_.InternalSwap(&other->_impl_.rtable_);
  _impl_.rteperminfos_.InternalSwap(&other->_impl_.rteperminfos_);
  _impl_.merge_action_list_.InternalSwap(&other->_impl_.merge_action_list_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  _impl_.group_clause_.InternalSwap(&other->_impl_.group_clause_);
  _impl_.grouping_sets_.InternalSwap(&other->_impl_.grouping_sets_);
  _impl_.window_clause_.InternalSwap(&other->_impl_.window_clause_);
  _impl_.distinct_clause_.InternalSwap(&other->_impl_.distinct_clause_);
  _impl_.sort_clause_.InternalSwap(&other->_impl_.sort_clause_);
  _impl_.row_marks_.InternalSwap(&other->_impl_.row_marks_);
  _impl_.constraint_deps_.InternalSwap(&other->_impl_.constraint_deps_);
  _impl_.with_check_options_.InternalSwap(&other->_impl_.with_check_options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Query, _impl_.stmt_len_)
      + sizeof(Query::_impl_.stmt_len_)
      - PROTOBUF_FIELD_OFFSET(Query, _impl_.utility_stmt_)>(
          reinterpret_cast<char*>(&_impl_.utility_stmt_),
          reinterpret_cast<char*>(&other->_impl_.utility_stmt_));
}

::google::protobuf::Metadata Query::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[75]);
}
// ===================================================================

class TypeName::_Internal {
 public:
};

TypeName::TypeName(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeName)
}
inline PROTOBUF_NDEBUG_INLINE TypeName::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : names_{visibility, arena, from.names_},
        typmods_{visibility, arena, from.typmods_},
        array_bounds_{visibility, arena, from.array_bounds_},
        _cached_size_{0} {}

TypeName::TypeName(
    ::google::protobuf::Arena* arena,
    const TypeName& from)
    : ::google::protobuf::Message(arena) {
  TypeName* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_oid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, type_oid_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_oid_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TypeName)
}
inline PROTOBUF_NDEBUG_INLINE TypeName::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : names_{visibility, arena},
        typmods_{visibility, arena},
        array_bounds_{visibility, arena},
        _cached_size_{0} {}

inline void TypeName::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_oid_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_oid_) +
               sizeof(Impl_::location_));
}
TypeName::~TypeName() {
  // @@protoc_insertion_point(destructor:pg_query.TypeName)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TypeName::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TypeName::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeName)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.names_.Clear();
  _impl_.typmods_.Clear();
  _impl_.array_bounds_.Clear();
  ::memset(&_impl_.type_oid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.type_oid_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TypeName::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 3, 0, 2> TypeName::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TypeName_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeName, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.location_)}},
    // repeated .pg_query.Node names = 1 [json_name = "names"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.names_)}},
    // uint32 type_oid = 2 [json_name = "typeOid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeName, _impl_.type_oid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.type_oid_)}},
    // bool setof = 3 [json_name = "setof"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TypeName, _impl_.setof_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.setof_)}},
    // bool pct_type = 4 [json_name = "pct_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TypeName, _impl_.pct_type_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.pct_type_)}},
    // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.typmods_)}},
    // int32 typemod = 6 [json_name = "typemod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeName, _impl_.typemod_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.typemod_)}},
    // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 2, PROTOBUF_FIELD_OFFSET(TypeName, _impl_.array_bounds_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node names = 1 [json_name = "names"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.names_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 type_oid = 2 [json_name = "typeOid"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.type_oid_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool setof = 3 [json_name = "setof"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.setof_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool pct_type = 4 [json_name = "pct_type"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.pct_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.typmods_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 typemod = 6 [json_name = "typemod"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.typemod_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.array_bounds_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(TypeName, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* TypeName::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeName)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node names = 1 [json_name = "names"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->_internal_type_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_type_oid(), target);
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->_internal_setof() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_setof(), target);
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->_internal_pct_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_pct_type(), target);
  }

  // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_typmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_typmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->_internal_typemod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_typemod(), target);
  }

  // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_array_bounds_size()); i < n; i++) {
    const auto& repfield = this->_internal_array_bounds().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TypeName)
  return target;
}

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

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

  // repeated .pg_query.Node names = 1 [json_name = "names"];
  total_size += 1UL * this->_internal_names_size();
  for (const auto& msg : this->_internal_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node typmods = 5 [json_name = "typmods"];
  total_size += 1UL * this->_internal_typmods_size();
  for (const auto& msg : this->_internal_typmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node array_bounds = 7 [json_name = "arrayBounds"];
  total_size += 1UL * this->_internal_array_bounds_size();
  for (const auto& msg : this->_internal_array_bounds()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // uint32 type_oid = 2 [json_name = "typeOid"];
  if (this->_internal_type_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_type_oid());
  }

  // bool setof = 3 [json_name = "setof"];
  if (this->_internal_setof() != 0) {
    total_size += 2;
  }

  // bool pct_type = 4 [json_name = "pct_type"];
  if (this->_internal_pct_type() != 0) {
    total_size += 2;
  }

  // int32 typemod = 6 [json_name = "typemod"];
  if (this->_internal_typemod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_typemod());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TypeName::_class_data_ = {
    TypeName::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TypeName::GetClassData() const {
  return &_class_data_;
}

void TypeName::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TypeName*>(&to_msg);
  auto& from = static_cast<const TypeName&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeName)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_names()->MergeFrom(
      from._internal_names());
  _this->_internal_mutable_typmods()->MergeFrom(
      from._internal_typmods());
  _this->_internal_mutable_array_bounds()->MergeFrom(
      from._internal_array_bounds());
  if (from._internal_type_oid() != 0) {
    _this->_internal_set_type_oid(from._internal_type_oid());
  }
  if (from._internal_setof() != 0) {
    _this->_internal_set_setof(from._internal_setof());
  }
  if (from._internal_pct_type() != 0) {
    _this->_internal_set_pct_type(from._internal_pct_type());
  }
  if (from._internal_typemod() != 0) {
    _this->_internal_set_typemod(from._internal_typemod());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TypeName::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TypeName::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TypeName::InternalSwap(TypeName* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.names_.InternalSwap(&other->_impl_.names_);
  _impl_.typmods_.InternalSwap(&other->_impl_.typmods_);
  _impl_.array_bounds_.InternalSwap(&other->_impl_.array_bounds_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeName, _impl_.location_)
      + sizeof(TypeName::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TypeName, _impl_.type_oid_)>(
          reinterpret_cast<char*>(&_impl_.type_oid_),
          reinterpret_cast<char*>(&other->_impl_.type_oid_));
}

::google::protobuf::Metadata TypeName::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[76]);
}
// ===================================================================

class ColumnRef::_Internal {
 public:
};

ColumnRef::ColumnRef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnRef)
}
inline PROTOBUF_NDEBUG_INLINE ColumnRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : fields_{visibility, arena, from.fields_},
        _cached_size_{0} {}

ColumnRef::ColumnRef(
    ::google::protobuf::Arena* arena,
    const ColumnRef& from)
    : ::google::protobuf::Message(arena) {
  ColumnRef* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnRef)
}
inline PROTOBUF_NDEBUG_INLINE ColumnRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : fields_{visibility, arena},
        _cached_size_{0} {}

inline void ColumnRef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.location_ = {};
}
ColumnRef::~ColumnRef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnRef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ColumnRef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ColumnRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnRef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.fields_.Clear();
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ColumnRef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> ColumnRef::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ColumnRef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 2 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ColumnRef, _impl_.location_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnRef, _impl_.location_)}},
    // repeated .pg_query.Node fields = 1 [json_name = "fields"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnRef, _impl_.fields_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node fields = 1 [json_name = "fields"];
    {PROTOBUF_FIELD_OFFSET(ColumnRef, _impl_.fields_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 2 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ColumnRef, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ColumnRef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnRef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node fields = 1 [json_name = "fields"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fields_size()); i < n; i++) {
    const auto& repfield = this->_internal_fields().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ColumnRef)
  return target;
}

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

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

  // repeated .pg_query.Node fields = 1 [json_name = "fields"];
  total_size += 1UL * this->_internal_fields_size();
  for (const auto& msg : this->_internal_fields()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ColumnRef::_class_data_ = {
    ColumnRef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ColumnRef::GetClassData() const {
  return &_class_data_;
}

void ColumnRef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ColumnRef*>(&to_msg);
  auto& from = static_cast<const ColumnRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnRef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_fields()->MergeFrom(
      from._internal_fields());
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ColumnRef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ColumnRef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ColumnRef::InternalSwap(ColumnRef* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.fields_.InternalSwap(&other->_impl_.fields_);
        swap(_impl_.location_, other->_impl_.location_);
}

::google::protobuf::Metadata ColumnRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[77]);
}
// ===================================================================

class ParamRef::_Internal {
 public:
};

ParamRef::ParamRef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ParamRef)
}
ParamRef::ParamRef(
    ::google::protobuf::Arena* arena, const ParamRef& from)
    : ParamRef(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE ParamRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ParamRef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, number_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, number_) +
               sizeof(Impl_::location_));
}
ParamRef::~ParamRef() {
  // @@protoc_insertion_point(destructor:pg_query.ParamRef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ParamRef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ParamRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ParamRef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.number_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.number_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ParamRef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 0, 2> ParamRef::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ParamRef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 2 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ParamRef, _impl_.location_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.location_)}},
    // int32 number = 1 [json_name = "number"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ParamRef, _impl_.number_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.number_)}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 number = 1 [json_name = "number"];
    {PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.number_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 2 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* ParamRef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ParamRef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 number = 1 [json_name = "number"];
  if (this->_internal_number() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_number(), target);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ParamRef)
  return target;
}

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

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

  // int32 number = 1 [json_name = "number"];
  if (this->_internal_number() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_number());
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ParamRef::_class_data_ = {
    ParamRef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ParamRef::GetClassData() const {
  return &_class_data_;
}

void ParamRef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ParamRef*>(&to_msg);
  auto& from = static_cast<const ParamRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ParamRef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_number() != 0) {
    _this->_internal_set_number(from._internal_number());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ParamRef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ParamRef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ParamRef::InternalSwap(ParamRef* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.location_)
      + sizeof(ParamRef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ParamRef, _impl_.number_)>(
          reinterpret_cast<char*>(&_impl_.number_),
          reinterpret_cast<char*>(&other->_impl_.number_));
}

::google::protobuf::Metadata ParamRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[78]);
}
// ===================================================================

class A_Expr::_Internal {
 public:
  using HasBits = decltype(std::declval<A_Expr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(A_Expr, _impl_._has_bits_);
  static const ::pg_query::Node& lexpr(const A_Expr* msg);
  static void set_has_lexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& rexpr(const A_Expr* msg);
  static void set_has_rexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& A_Expr::_Internal::lexpr(const A_Expr* msg) {
  return *msg->_impl_.lexpr_;
}
const ::pg_query::Node& A_Expr::_Internal::rexpr(const A_Expr* msg) {
  return *msg->_impl_.rexpr_;
}
A_Expr::A_Expr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Expr)
}
inline PROTOBUF_NDEBUG_INLINE A_Expr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_{visibility, arena, from.name_} {}

A_Expr::A_Expr(
    ::google::protobuf::Arena* arena,
    const A_Expr& from)
    : ::google::protobuf::Message(arena) {
  A_Expr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.lexpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.lexpr_)
                : nullptr;
  _impl_.rexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rexpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.A_Expr)
}
inline PROTOBUF_NDEBUG_INLINE A_Expr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_{visibility, arena} {}

inline void A_Expr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lexpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, lexpr_) +
               sizeof(Impl_::location_));
}
A_Expr::~A_Expr() {
  // @@protoc_insertion_point(destructor:pg_query.A_Expr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void A_Expr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.lexpr_;
  delete _impl_.rexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void A_Expr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Expr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.lexpr_ != nullptr);
      _impl_.lexpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.rexpr_ != nullptr);
      _impl_.rexpr_->Clear();
    }
  }
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* A_Expr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> A_Expr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(A_Expr, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_A_Expr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(A_Expr, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.kind_)}},
    // repeated .pg_query.Node name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.name_)}},
    // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.lexpr_)}},
    // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 2, PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.rexpr_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(A_Expr, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
    {PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.lexpr_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
    {PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.rexpr_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* A_Expr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Expr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node name = 2 [json_name = "name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::lexpr(this),
        _Internal::lexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::rexpr(this),
        _Internal::rexpr(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_Expr)
  return target;
}

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

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

  // repeated .pg_query.Node name = 2 [json_name = "name"];
  total_size += 1UL * this->_internal_name_size();
  for (const auto& msg : this->_internal_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node lexpr = 3 [json_name = "lexpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.lexpr_);
    }

    // .pg_query.Node rexpr = 4 [json_name = "rexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rexpr_);
    }

  }
  // .pg_query.A_Expr_Kind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData A_Expr::_class_data_ = {
    A_Expr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* A_Expr::GetClassData() const {
  return &_class_data_;
}

void A_Expr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<A_Expr*>(&to_msg);
  auto& from = static_cast<const A_Expr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Expr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_name()->MergeFrom(
      from._internal_name());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_lexpr()->::pg_query::Node::MergeFrom(
          from._internal_lexpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_rexpr()->::pg_query::Node::MergeFrom(
          from._internal_rexpr());
    }
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool A_Expr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* A_Expr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void A_Expr::InternalSwap(A_Expr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.name_.InternalSwap(&other->_impl_.name_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.location_)
      + sizeof(A_Expr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(A_Expr, _impl_.lexpr_)>(
          reinterpret_cast<char*>(&_impl_.lexpr_),
          reinterpret_cast<char*>(&other->_impl_.lexpr_));
}

::google::protobuf::Metadata A_Expr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[79]);
}
// ===================================================================

class TypeCast::_Internal {
 public:
  using HasBits = decltype(std::declval<TypeCast>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TypeCast, _impl_._has_bits_);
  static const ::pg_query::Node& arg(const TypeCast* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::TypeName& type_name(const TypeCast* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& TypeCast::_Internal::arg(const TypeCast* msg) {
  return *msg->_impl_.arg_;
}
const ::pg_query::TypeName& TypeCast::_Internal::type_name(const TypeCast* msg) {
  return *msg->_impl_.type_name_;
}
TypeCast::TypeCast(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TypeCast)
}
inline PROTOBUF_NDEBUG_INLINE TypeCast::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

TypeCast::TypeCast(
    ::google::protobuf::Arena* arena,
    const TypeCast& from)
    : ::google::protobuf::Message(arena) {
  TypeCast* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.type_name_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.TypeCast)
}
inline PROTOBUF_NDEBUG_INLINE TypeCast::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void TypeCast::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, arg_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, arg_) +
               sizeof(Impl_::location_));
}
TypeCast::~TypeCast() {
  // @@protoc_insertion_point(destructor:pg_query.TypeCast)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TypeCast::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.arg_;
  delete _impl_.type_name_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TypeCast::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TypeCast)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TypeCast::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> TypeCast::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TypeCast, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TypeCast_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.arg_)}},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.type_name_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TypeCast, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.arg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.type_name_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
  }}, {{
  }},
};

::uint8_t* TypeCast::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TypeCast)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TypeCast)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node arg = 1 [json_name = "arg"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

  }
  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TypeCast::_class_data_ = {
    TypeCast::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TypeCast::GetClassData() const {
  return &_class_data_;
}

void TypeCast::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TypeCast*>(&to_msg);
  auto& from = static_cast<const TypeCast&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TypeCast)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
          from._internal_arg());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TypeCast::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TypeCast::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TypeCast::InternalSwap(TypeCast* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.location_)
      + sizeof(TypeCast::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TypeCast, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::google::protobuf::Metadata TypeCast::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[80]);
}
// ===================================================================

class CollateClause::_Internal {
 public:
  using HasBits = decltype(std::declval<CollateClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CollateClause, _impl_._has_bits_);
  static const ::pg_query::Node& arg(const CollateClause* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CollateClause::_Internal::arg(const CollateClause* msg) {
  return *msg->_impl_.arg_;
}
CollateClause::CollateClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CollateClause)
}
inline PROTOBUF_NDEBUG_INLINE CollateClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        collname_{visibility, arena, from.collname_} {}

CollateClause::CollateClause(
    ::google::protobuf::Arena* arena,
    const CollateClause& from)
    : ::google::protobuf::Message(arena) {
  CollateClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CollateClause)
}
inline PROTOBUF_NDEBUG_INLINE CollateClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        collname_{visibility, arena} {}

inline void CollateClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, arg_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, arg_) +
               sizeof(Impl_::location_));
}
CollateClause::~CollateClause() {
  // @@protoc_insertion_point(destructor:pg_query.CollateClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CollateClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CollateClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CollateClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collname_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.arg_ != nullptr);
    _impl_.arg_->Clear();
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CollateClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> CollateClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CollateClause, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CollateClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.arg_)}},
    // repeated .pg_query.Node collname = 2 [json_name = "collname"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.collname_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CollateClause, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.arg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node collname = 2 [json_name = "collname"];
    {PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.collname_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CollateClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CollateClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node collname = 2 [json_name = "collname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collname_size()); i < n; i++) {
    const auto& repfield = this->_internal_collname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CollateClause)
  return target;
}

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

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

  // repeated .pg_query.Node collname = 2 [json_name = "collname"];
  total_size += 1UL * this->_internal_collname_size();
  for (const auto& msg : this->_internal_collname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node arg = 1 [json_name = "arg"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CollateClause::_class_data_ = {
    CollateClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CollateClause::GetClassData() const {
  return &_class_data_;
}

void CollateClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CollateClause*>(&to_msg);
  auto& from = static_cast<const CollateClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CollateClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_collname()->MergeFrom(
      from._internal_collname());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CollateClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CollateClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CollateClause::InternalSwap(CollateClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.collname_.InternalSwap(&other->_impl_.collname_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.location_)
      + sizeof(CollateClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CollateClause, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::google::protobuf::Metadata CollateClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[81]);
}
// ===================================================================

class RoleSpec::_Internal {
 public:
};

RoleSpec::RoleSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RoleSpec)
}
inline PROTOBUF_NDEBUG_INLINE RoleSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : rolename_(arena, from.rolename_),
        _cached_size_{0} {}

RoleSpec::RoleSpec(
    ::google::protobuf::Arena* arena,
    const RoleSpec& from)
    : ::google::protobuf::Message(arena) {
  RoleSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, roletype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, roletype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, roletype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RoleSpec)
}
inline PROTOBUF_NDEBUG_INLINE RoleSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : rolename_(arena),
        _cached_size_{0} {}

inline void RoleSpec::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, roletype_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, roletype_) +
               sizeof(Impl_::location_));
}
RoleSpec::~RoleSpec() {
  // @@protoc_insertion_point(destructor:pg_query.RoleSpec)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RoleSpec::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.rolename_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RoleSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RoleSpec)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.rolename_.ClearToEmpty();
  ::memset(&_impl_.roletype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.roletype_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RoleSpec::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 34, 2> RoleSpec::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_RoleSpec_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RoleSpec, _impl_.roletype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.roletype_)}},
    // string rolename = 2 [json_name = "rolename"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.rolename_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RoleSpec, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
    {PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.roletype_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string rolename = 2 [json_name = "rolename"];
    {PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.rolename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
    "\21\0\10\0\0\0\0\0"
    "pg_query.RoleSpec"
    "rolename"
  }},
};

::uint8_t* RoleSpec::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RoleSpec)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->_internal_roletype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_roletype(), target);
  }

  // string rolename = 2 [json_name = "rolename"];
  if (!this->_internal_rolename().empty()) {
    const std::string& _s = this->_internal_rolename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RoleSpec.rolename");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RoleSpec)
  return target;
}

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

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

  // string rolename = 2 [json_name = "rolename"];
  if (!this->_internal_rolename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_rolename());
  }

  // .pg_query.RoleSpecType roletype = 1 [json_name = "roletype"];
  if (this->_internal_roletype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_roletype());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RoleSpec::_class_data_ = {
    RoleSpec::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RoleSpec::GetClassData() const {
  return &_class_data_;
}

void RoleSpec::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RoleSpec*>(&to_msg);
  auto& from = static_cast<const RoleSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RoleSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_rolename().empty()) {
    _this->_internal_set_rolename(from._internal_rolename());
  }
  if (from._internal_roletype() != 0) {
    _this->_internal_set_roletype(from._internal_roletype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RoleSpec::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RoleSpec::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RoleSpec::InternalSwap(RoleSpec* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rolename_, &other->_impl_.rolename_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.location_)
      + sizeof(RoleSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RoleSpec, _impl_.roletype_)>(
          reinterpret_cast<char*>(&_impl_.roletype_),
          reinterpret_cast<char*>(&other->_impl_.roletype_));
}

::google::protobuf::Metadata RoleSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[82]);
}
// ===================================================================

class FuncCall::_Internal {
 public:
  using HasBits = decltype(std::declval<FuncCall>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FuncCall, _impl_._has_bits_);
  static const ::pg_query::Node& agg_filter(const FuncCall* msg);
  static void set_has_agg_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::WindowDef& over(const FuncCall* msg);
  static void set_has_over(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& FuncCall::_Internal::agg_filter(const FuncCall* msg) {
  return *msg->_impl_.agg_filter_;
}
const ::pg_query::WindowDef& FuncCall::_Internal::over(const FuncCall* msg) {
  return *msg->_impl_.over_;
}
FuncCall::FuncCall(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FuncCall)
}
inline PROTOBUF_NDEBUG_INLINE FuncCall::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        funcname_{visibility, arena, from.funcname_},
        args_{visibility, arena, from.args_},
        agg_order_{visibility, arena, from.agg_order_} {}

FuncCall::FuncCall(
    ::google::protobuf::Arena* arena,
    const FuncCall& from)
    : ::google::protobuf::Message(arena) {
  FuncCall* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.agg_filter_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.agg_filter_)
                : nullptr;
  _impl_.over_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::WindowDef>(arena, *from._impl_.over_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, agg_within_group_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, agg_within_group_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, agg_within_group_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.FuncCall)
}
inline PROTOBUF_NDEBUG_INLINE FuncCall::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        funcname_{visibility, arena},
        args_{visibility, arena},
        agg_order_{visibility, arena} {}

inline void FuncCall::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, agg_filter_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, agg_filter_) +
               sizeof(Impl_::location_));
}
FuncCall::~FuncCall() {
  // @@protoc_insertion_point(destructor:pg_query.FuncCall)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FuncCall::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.agg_filter_;
  delete _impl_.over_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FuncCall::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FuncCall)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funcname_.Clear();
  _impl_.args_.Clear();
  _impl_.agg_order_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.agg_filter_ != nullptr);
      _impl_.agg_filter_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.over_ != nullptr);
      _impl_.over_->Clear();
    }
  }
  ::memset(&_impl_.agg_within_group_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.agg_within_group_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FuncCall::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 11, 5, 0, 2> FuncCall::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FuncCall, _impl_._has_bits_),
    0, // no _extensions_
    11, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965248,  // skipmap
    offsetof(decltype(_table_), field_entries),
    11,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FuncCall_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.funcname_)}},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.args_)}},
    // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_order_)}},
    // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 3, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_filter_)}},
    // .pg_query.WindowDef over = 5 [json_name = "over"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 4, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.over_)}},
    // bool agg_within_group = 6 [json_name = "agg_within_group"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncCall, _impl_.agg_within_group_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_within_group_)}},
    // bool agg_star = 7 [json_name = "agg_star"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncCall, _impl_.agg_star_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_star_)}},
    // bool agg_distinct = 8 [json_name = "agg_distinct"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncCall, _impl_.agg_distinct_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_distinct_)}},
    // bool func_variadic = 9 [json_name = "func_variadic"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FuncCall, _impl_.func_variadic_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.func_variadic_)}},
    // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncCall, _impl_.funcformat_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.funcformat_)}},
    // int32 location = 11 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FuncCall, _impl_.location_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.funcname_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.args_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_order_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_filter_), _Internal::kHasBitsOffset + 0, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowDef over = 5 [json_name = "over"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.over_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool agg_within_group = 6 [json_name = "agg_within_group"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_within_group_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool agg_star = 7 [json_name = "agg_star"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_star_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool agg_distinct = 8 [json_name = "agg_distinct"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_distinct_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool func_variadic = 9 [json_name = "func_variadic"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.func_variadic_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.funcformat_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 11 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowDef>()},
  }}, {{
  }},
};

::uint8_t* FuncCall::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FuncCall)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_agg_order_size()); i < n; i++) {
    const auto& repfield = this->_internal_agg_order().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::agg_filter(this),
        _Internal::agg_filter(this).GetCachedSize(), target, stream);
  }

  // .pg_query.WindowDef over = 5 [json_name = "over"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::over(this),
        _Internal::over(this).GetCachedSize(), target, stream);
  }

  // bool agg_within_group = 6 [json_name = "agg_within_group"];
  if (this->_internal_agg_within_group() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_agg_within_group(), target);
  }

  // bool agg_star = 7 [json_name = "agg_star"];
  if (this->_internal_agg_star() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_agg_star(), target);
  }

  // bool agg_distinct = 8 [json_name = "agg_distinct"];
  if (this->_internal_agg_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_agg_distinct(), target);
  }

  // bool func_variadic = 9 [json_name = "func_variadic"];
  if (this->_internal_func_variadic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        9, this->_internal_func_variadic(), target);
  }

  // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this->_internal_funcformat(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FuncCall)
  return target;
}

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

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

  // repeated .pg_query.Node funcname = 1 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->_internal_funcname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  total_size += 1UL * this->_internal_agg_order_size();
  for (const auto& msg : this->_internal_agg_order()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node agg_filter = 4 [json_name = "agg_filter"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.agg_filter_);
    }

    // .pg_query.WindowDef over = 5 [json_name = "over"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.over_);
    }

  }
  // bool agg_within_group = 6 [json_name = "agg_within_group"];
  if (this->_internal_agg_within_group() != 0) {
    total_size += 2;
  }

  // bool agg_star = 7 [json_name = "agg_star"];
  if (this->_internal_agg_star() != 0) {
    total_size += 2;
  }

  // bool agg_distinct = 8 [json_name = "agg_distinct"];
  if (this->_internal_agg_distinct() != 0) {
    total_size += 2;
  }

  // bool func_variadic = 9 [json_name = "func_variadic"];
  if (this->_internal_func_variadic() != 0) {
    total_size += 2;
  }

  // .pg_query.CoercionForm funcformat = 10 [json_name = "funcformat"];
  if (this->_internal_funcformat() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_funcformat());
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FuncCall::_class_data_ = {
    FuncCall::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FuncCall::GetClassData() const {
  return &_class_data_;
}

void FuncCall::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FuncCall*>(&to_msg);
  auto& from = static_cast<const FuncCall&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FuncCall)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_funcname()->MergeFrom(
      from._internal_funcname());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_agg_order()->MergeFrom(
      from._internal_agg_order());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_agg_filter()->::pg_query::Node::MergeFrom(
          from._internal_agg_filter());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_over()->::pg_query::WindowDef::MergeFrom(
          from._internal_over());
    }
  }
  if (from._internal_agg_within_group() != 0) {
    _this->_internal_set_agg_within_group(from._internal_agg_within_group());
  }
  if (from._internal_agg_star() != 0) {
    _this->_internal_set_agg_star(from._internal_agg_star());
  }
  if (from._internal_agg_distinct() != 0) {
    _this->_internal_set_agg_distinct(from._internal_agg_distinct());
  }
  if (from._internal_func_variadic() != 0) {
    _this->_internal_set_func_variadic(from._internal_func_variadic());
  }
  if (from._internal_funcformat() != 0) {
    _this->_internal_set_funcformat(from._internal_funcformat());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FuncCall::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FuncCall::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FuncCall::InternalSwap(FuncCall* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.agg_order_.InternalSwap(&other->_impl_.agg_order_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.location_)
      + sizeof(FuncCall::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(FuncCall, _impl_.agg_filter_)>(
          reinterpret_cast<char*>(&_impl_.agg_filter_),
          reinterpret_cast<char*>(&other->_impl_.agg_filter_));
}

::google::protobuf::Metadata FuncCall::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[83]);
}
// ===================================================================

class A_Star::_Internal {
 public:
};

A_Star::A_Star(::google::protobuf::Arena* arena)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Star)
}
A_Star::A_Star(
    ::google::protobuf::Arena* arena,
    const A_Star& from)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  A_Star* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:pg_query.A_Star)
}









::google::protobuf::Metadata A_Star::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[84]);
}
// ===================================================================

class A_Indices::_Internal {
 public:
  using HasBits = decltype(std::declval<A_Indices>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(A_Indices, _impl_._has_bits_);
  static const ::pg_query::Node& lidx(const A_Indices* msg);
  static void set_has_lidx(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& uidx(const A_Indices* msg);
  static void set_has_uidx(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& A_Indices::_Internal::lidx(const A_Indices* msg) {
  return *msg->_impl_.lidx_;
}
const ::pg_query::Node& A_Indices::_Internal::uidx(const A_Indices* msg) {
  return *msg->_impl_.uidx_;
}
A_Indices::A_Indices(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indices)
}
inline PROTOBUF_NDEBUG_INLINE A_Indices::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

A_Indices::A_Indices(
    ::google::protobuf::Arena* arena,
    const A_Indices& from)
    : ::google::protobuf::Message(arena) {
  A_Indices* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.lidx_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.lidx_)
                : nullptr;
  _impl_.uidx_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.uidx_)
                : nullptr;
  _impl_.is_slice_ = from._impl_.is_slice_;

  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indices)
}
inline PROTOBUF_NDEBUG_INLINE A_Indices::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void A_Indices::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lidx_),
           0,
           offsetof(Impl_, is_slice_) -
               offsetof(Impl_, lidx_) +
               sizeof(Impl_::is_slice_));
}
A_Indices::~A_Indices() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indices)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void A_Indices::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.lidx_;
  delete _impl_.uidx_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void A_Indices::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indices)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.lidx_ != nullptr);
      _impl_.lidx_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.uidx_ != nullptr);
      _impl_.uidx_->Clear();
    }
  }
  _impl_.is_slice_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* A_Indices::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> A_Indices::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(A_Indices, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_A_Indices_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool is_slice = 1 [json_name = "is_slice"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(A_Indices, _impl_.is_slice_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.is_slice_)}},
    // .pg_query.Node lidx = 2 [json_name = "lidx"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.lidx_)}},
    // .pg_query.Node uidx = 3 [json_name = "uidx"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.uidx_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool is_slice = 1 [json_name = "is_slice"];
    {PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.is_slice_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node lidx = 2 [json_name = "lidx"];
    {PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.lidx_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node uidx = 3 [json_name = "uidx"];
    {PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.uidx_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* A_Indices::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indices)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->_internal_is_slice() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_is_slice(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node lidx = 2 [json_name = "lidx"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::lidx(this),
        _Internal::lidx(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node uidx = 3 [json_name = "uidx"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::uidx(this),
        _Internal::uidx(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_Indices)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node lidx = 2 [json_name = "lidx"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.lidx_);
    }

    // .pg_query.Node uidx = 3 [json_name = "uidx"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.uidx_);
    }

  }
  // bool is_slice = 1 [json_name = "is_slice"];
  if (this->_internal_is_slice() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData A_Indices::_class_data_ = {
    A_Indices::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* A_Indices::GetClassData() const {
  return &_class_data_;
}

void A_Indices::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<A_Indices*>(&to_msg);
  auto& from = static_cast<const A_Indices&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indices)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_lidx()->::pg_query::Node::MergeFrom(
          from._internal_lidx());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_uidx()->::pg_query::Node::MergeFrom(
          from._internal_uidx());
    }
  }
  if (from._internal_is_slice() != 0) {
    _this->_internal_set_is_slice(from._internal_is_slice());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool A_Indices::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* A_Indices::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void A_Indices::InternalSwap(A_Indices* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.is_slice_)
      + sizeof(A_Indices::_impl_.is_slice_)
      - PROTOBUF_FIELD_OFFSET(A_Indices, _impl_.lidx_)>(
          reinterpret_cast<char*>(&_impl_.lidx_),
          reinterpret_cast<char*>(&other->_impl_.lidx_));
}

::google::protobuf::Metadata A_Indices::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[85]);
}
// ===================================================================

class A_Indirection::_Internal {
 public:
  using HasBits = decltype(std::declval<A_Indirection>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_._has_bits_);
  static const ::pg_query::Node& arg(const A_Indirection* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& A_Indirection::_Internal::arg(const A_Indirection* msg) {
  return *msg->_impl_.arg_;
}
A_Indirection::A_Indirection(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_Indirection)
}
inline PROTOBUF_NDEBUG_INLINE A_Indirection::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        indirection_{visibility, arena, from.indirection_} {}

A_Indirection::A_Indirection(
    ::google::protobuf::Arena* arena,
    const A_Indirection& from)
    : ::google::protobuf::Message(arena) {
  A_Indirection* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.A_Indirection)
}
inline PROTOBUF_NDEBUG_INLINE A_Indirection::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        indirection_{visibility, arena} {}

inline void A_Indirection::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.arg_ = {};
}
A_Indirection::~A_Indirection() {
  // @@protoc_insertion_point(destructor:pg_query.A_Indirection)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void A_Indirection::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void A_Indirection::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_Indirection)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.indirection_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.arg_ != nullptr);
    _impl_.arg_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* A_Indirection::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> A_Indirection::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_A_Indirection_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_.indirection_)}},
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_.arg_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node arg = 1 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_.arg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {PROTOBUF_FIELD_OFFSET(A_Indirection, _impl_.indirection_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* A_Indirection::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_Indirection)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node arg = 1 [json_name = "arg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_Indirection)
  return target;
}

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

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

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  total_size += 1UL * this->_internal_indirection_size();
  for (const auto& msg : this->_internal_indirection()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node arg = 1 [json_name = "arg"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData A_Indirection::_class_data_ = {
    A_Indirection::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* A_Indirection::GetClassData() const {
  return &_class_data_;
}

void A_Indirection::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<A_Indirection*>(&to_msg);
  auto& from = static_cast<const A_Indirection&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_Indirection)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_indirection()->MergeFrom(
      from._internal_indirection());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool A_Indirection::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* A_Indirection::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void A_Indirection::InternalSwap(A_Indirection* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  swap(_impl_.arg_, other->_impl_.arg_);
}

::google::protobuf::Metadata A_Indirection::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[86]);
}
// ===================================================================

class A_ArrayExpr::_Internal {
 public:
};

A_ArrayExpr::A_ArrayExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.A_ArrayExpr)
}
inline PROTOBUF_NDEBUG_INLINE A_ArrayExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : elements_{visibility, arena, from.elements_},
        _cached_size_{0} {}

A_ArrayExpr::A_ArrayExpr(
    ::google::protobuf::Arena* arena,
    const A_ArrayExpr& from)
    : ::google::protobuf::Message(arena) {
  A_ArrayExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.A_ArrayExpr)
}
inline PROTOBUF_NDEBUG_INLINE A_ArrayExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : elements_{visibility, arena},
        _cached_size_{0} {}

inline void A_ArrayExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.location_ = {};
}
A_ArrayExpr::~A_ArrayExpr() {
  // @@protoc_insertion_point(destructor:pg_query.A_ArrayExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void A_ArrayExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void A_ArrayExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.A_ArrayExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.elements_.Clear();
  _impl_.location_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* A_ArrayExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> A_ArrayExpr::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_A_ArrayExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 2 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(A_ArrayExpr, _impl_.location_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(A_ArrayExpr, _impl_.location_)}},
    // repeated .pg_query.Node elements = 1 [json_name = "elements"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(A_ArrayExpr, _impl_.elements_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node elements = 1 [json_name = "elements"];
    {PROTOBUF_FIELD_OFFSET(A_ArrayExpr, _impl_.elements_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 2 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(A_ArrayExpr, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* A_ArrayExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.A_ArrayExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node elements = 1 [json_name = "elements"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_elements_size()); i < n; i++) {
    const auto& repfield = this->_internal_elements().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.A_ArrayExpr)
  return target;
}

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

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

  // repeated .pg_query.Node elements = 1 [json_name = "elements"];
  total_size += 1UL * this->_internal_elements_size();
  for (const auto& msg : this->_internal_elements()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // int32 location = 2 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData A_ArrayExpr::_class_data_ = {
    A_ArrayExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* A_ArrayExpr::GetClassData() const {
  return &_class_data_;
}

void A_ArrayExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<A_ArrayExpr*>(&to_msg);
  auto& from = static_cast<const A_ArrayExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.A_ArrayExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_elements()->MergeFrom(
      from._internal_elements());
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool A_ArrayExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* A_ArrayExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void A_ArrayExpr::InternalSwap(A_ArrayExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.elements_.InternalSwap(&other->_impl_.elements_);
        swap(_impl_.location_, other->_impl_.location_);
}

::google::protobuf::Metadata A_ArrayExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[87]);
}
// ===================================================================

class ResTarget::_Internal {
 public:
  using HasBits = decltype(std::declval<ResTarget>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ResTarget, _impl_._has_bits_);
  static const ::pg_query::Node& val(const ResTarget* msg);
  static void set_has_val(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& ResTarget::_Internal::val(const ResTarget* msg) {
  return *msg->_impl_.val_;
}
ResTarget::ResTarget(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ResTarget)
}
inline PROTOBUF_NDEBUG_INLINE ResTarget::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        indirection_{visibility, arena, from.indirection_},
        name_(arena, from.name_) {}

ResTarget::ResTarget(
    ::google::protobuf::Arena* arena,
    const ResTarget& from)
    : ::google::protobuf::Message(arena) {
  ResTarget* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.val_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.val_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ResTarget)
}
inline PROTOBUF_NDEBUG_INLINE ResTarget::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        indirection_{visibility, arena},
        name_(arena) {}

inline void ResTarget::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, val_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, val_) +
               sizeof(Impl_::location_));
}
ResTarget::~ResTarget() {
  // @@protoc_insertion_point(destructor:pg_query.ResTarget)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ResTarget::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.val_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ResTarget::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ResTarget)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.indirection_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.val_ != nullptr);
    _impl_.val_->Clear();
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ResTarget::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 31, 2> ResTarget::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ResTarget, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ResTarget_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ResTarget, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.location_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.name_)}},
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.indirection_)}},
    // .pg_query.Node val = 3 [json_name = "val"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.val_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.indirection_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node val = 3 [json_name = "val"];
    {PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.val_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\4\0\0\0\0\0\0"
    "pg_query.ResTarget"
    "name"
  }},
};

::uint8_t* ResTarget::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ResTarget)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ResTarget.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node val = 3 [json_name = "val"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::val(this),
        _Internal::val(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ResTarget)
  return target;
}

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

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

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  total_size += 1UL * this->_internal_indirection_size();
  for (const auto& msg : this->_internal_indirection()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node val = 3 [json_name = "val"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ResTarget::_class_data_ = {
    ResTarget::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ResTarget::GetClassData() const {
  return &_class_data_;
}

void ResTarget::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ResTarget*>(&to_msg);
  auto& from = static_cast<const ResTarget&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ResTarget)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_indirection()->MergeFrom(
      from._internal_indirection());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_val()->::pg_query::Node::MergeFrom(
        from._internal_val());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ResTarget::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ResTarget::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ResTarget::InternalSwap(ResTarget* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.location_)
      + sizeof(ResTarget::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ResTarget, _impl_.val_)>(
          reinterpret_cast<char*>(&_impl_.val_),
          reinterpret_cast<char*>(&other->_impl_.val_));
}

::google::protobuf::Metadata ResTarget::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[88]);
}
// ===================================================================

class MultiAssignRef::_Internal {
 public:
  using HasBits = decltype(std::declval<MultiAssignRef>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_._has_bits_);
  static const ::pg_query::Node& source(const MultiAssignRef* msg);
  static void set_has_source(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& MultiAssignRef::_Internal::source(const MultiAssignRef* msg) {
  return *msg->_impl_.source_;
}
MultiAssignRef::MultiAssignRef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MultiAssignRef)
}
inline PROTOBUF_NDEBUG_INLINE MultiAssignRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

MultiAssignRef::MultiAssignRef(
    ::google::protobuf::Arena* arena,
    const MultiAssignRef& from)
    : ::google::protobuf::Message(arena) {
  MultiAssignRef* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.source_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.source_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, colno_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, colno_),
           offsetof(Impl_, ncolumns_) -
               offsetof(Impl_, colno_) +
               sizeof(Impl_::ncolumns_));

  // @@protoc_insertion_point(copy_constructor:pg_query.MultiAssignRef)
}
inline PROTOBUF_NDEBUG_INLINE MultiAssignRef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void MultiAssignRef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, source_),
           0,
           offsetof(Impl_, ncolumns_) -
               offsetof(Impl_, source_) +
               sizeof(Impl_::ncolumns_));
}
MultiAssignRef::~MultiAssignRef() {
  // @@protoc_insertion_point(destructor:pg_query.MultiAssignRef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MultiAssignRef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.source_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MultiAssignRef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MultiAssignRef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.source_ != nullptr);
    _impl_.source_->Clear();
  }
  ::memset(&_impl_.colno_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.ncolumns_) -
      reinterpret_cast<char*>(&_impl_.colno_)) + sizeof(_impl_.ncolumns_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MultiAssignRef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> MultiAssignRef::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MultiAssignRef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node source = 1 [json_name = "source"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.source_)}},
    // int32 colno = 2 [json_name = "colno"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MultiAssignRef, _impl_.colno_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.colno_)}},
    // int32 ncolumns = 3 [json_name = "ncolumns"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MultiAssignRef, _impl_.ncolumns_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.ncolumns_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node source = 1 [json_name = "source"];
    {PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.source_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 colno = 2 [json_name = "colno"];
    {PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.colno_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 ncolumns = 3 [json_name = "ncolumns"];
    {PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.ncolumns_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* MultiAssignRef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MultiAssignRef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node source = 1 [json_name = "source"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::source(this),
        _Internal::source(this).GetCachedSize(), target, stream);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->_internal_colno() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_colno(), target);
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->_internal_ncolumns() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_ncolumns(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MultiAssignRef)
  return target;
}

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

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

  // .pg_query.Node source = 1 [json_name = "source"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.source_);
  }

  // int32 colno = 2 [json_name = "colno"];
  if (this->_internal_colno() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_colno());
  }

  // int32 ncolumns = 3 [json_name = "ncolumns"];
  if (this->_internal_ncolumns() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_ncolumns());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MultiAssignRef::_class_data_ = {
    MultiAssignRef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MultiAssignRef::GetClassData() const {
  return &_class_data_;
}

void MultiAssignRef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MultiAssignRef*>(&to_msg);
  auto& from = static_cast<const MultiAssignRef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MultiAssignRef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_source()->::pg_query::Node::MergeFrom(
        from._internal_source());
  }
  if (from._internal_colno() != 0) {
    _this->_internal_set_colno(from._internal_colno());
  }
  if (from._internal_ncolumns() != 0) {
    _this->_internal_set_ncolumns(from._internal_ncolumns());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MultiAssignRef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MultiAssignRef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MultiAssignRef::InternalSwap(MultiAssignRef* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.ncolumns_)
      + sizeof(MultiAssignRef::_impl_.ncolumns_)
      - PROTOBUF_FIELD_OFFSET(MultiAssignRef, _impl_.source_)>(
          reinterpret_cast<char*>(&_impl_.source_),
          reinterpret_cast<char*>(&other->_impl_.source_));
}

::google::protobuf::Metadata MultiAssignRef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[89]);
}
// ===================================================================

class SortBy::_Internal {
 public:
  using HasBits = decltype(std::declval<SortBy>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SortBy, _impl_._has_bits_);
  static const ::pg_query::Node& node(const SortBy* msg);
  static void set_has_node(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& SortBy::_Internal::node(const SortBy* msg) {
  return *msg->_impl_.node_;
}
SortBy::SortBy(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortBy)
}
inline PROTOBUF_NDEBUG_INLINE SortBy::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        use_op_{visibility, arena, from.use_op_} {}

SortBy::SortBy(
    ::google::protobuf::Arena* arena,
    const SortBy& from)
    : ::google::protobuf::Message(arena) {
  SortBy* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.node_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.node_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sortby_dir_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, sortby_dir_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, sortby_dir_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SortBy)
}
inline PROTOBUF_NDEBUG_INLINE SortBy::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        use_op_{visibility, arena} {}

inline void SortBy::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, node_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, node_) +
               sizeof(Impl_::location_));
}
SortBy::~SortBy() {
  // @@protoc_insertion_point(destructor:pg_query.SortBy)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SortBy::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.node_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SortBy::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortBy)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.use_op_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.node_ != nullptr);
    _impl_.node_->Clear();
  }
  ::memset(&_impl_.sortby_dir_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.sortby_dir_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SortBy::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> SortBy::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SortBy, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SortBy_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node node = 1 [json_name = "node"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(SortBy, _impl_.node_)}},
    // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortBy, _impl_.sortby_dir_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SortBy, _impl_.sortby_dir_)}},
    // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortBy, _impl_.sortby_nulls_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SortBy, _impl_.sortby_nulls_)}},
    // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(SortBy, _impl_.use_op_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortBy, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SortBy, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node node = 1 [json_name = "node"];
    {PROTOBUF_FIELD_OFFSET(SortBy, _impl_.node_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
    {PROTOBUF_FIELD_OFFSET(SortBy, _impl_.sortby_dir_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
    {PROTOBUF_FIELD_OFFSET(SortBy, _impl_.sortby_nulls_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
    {PROTOBUF_FIELD_OFFSET(SortBy, _impl_.use_op_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(SortBy, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SortBy::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortBy)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node node = 1 [json_name = "node"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::node(this),
        _Internal::node(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->_internal_sortby_dir() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_sortby_dir(), target);
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->_internal_sortby_nulls() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_sortby_nulls(), target);
  }

  // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_use_op_size()); i < n; i++) {
    const auto& repfield = this->_internal_use_op().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SortBy)
  return target;
}

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

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

  // repeated .pg_query.Node use_op = 4 [json_name = "useOp"];
  total_size += 1UL * this->_internal_use_op_size();
  for (const auto& msg : this->_internal_use_op()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node node = 1 [json_name = "node"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.node_);
  }

  // .pg_query.SortByDir sortby_dir = 2 [json_name = "sortby_dir"];
  if (this->_internal_sortby_dir() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_sortby_dir());
  }

  // .pg_query.SortByNulls sortby_nulls = 3 [json_name = "sortby_nulls"];
  if (this->_internal_sortby_nulls() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_sortby_nulls());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SortBy::_class_data_ = {
    SortBy::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SortBy::GetClassData() const {
  return &_class_data_;
}

void SortBy::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SortBy*>(&to_msg);
  auto& from = static_cast<const SortBy&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortBy)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_use_op()->MergeFrom(
      from._internal_use_op());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_node()->::pg_query::Node::MergeFrom(
        from._internal_node());
  }
  if (from._internal_sortby_dir() != 0) {
    _this->_internal_set_sortby_dir(from._internal_sortby_dir());
  }
  if (from._internal_sortby_nulls() != 0) {
    _this->_internal_set_sortby_nulls(from._internal_sortby_nulls());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SortBy::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SortBy::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SortBy::InternalSwap(SortBy* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.use_op_.InternalSwap(&other->_impl_.use_op_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortBy, _impl_.location_)
      + sizeof(SortBy::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(SortBy, _impl_.node_)>(
          reinterpret_cast<char*>(&_impl_.node_),
          reinterpret_cast<char*>(&other->_impl_.node_));
}

::google::protobuf::Metadata SortBy::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[90]);
}
// ===================================================================

class WindowDef::_Internal {
 public:
  using HasBits = decltype(std::declval<WindowDef>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(WindowDef, _impl_._has_bits_);
  static const ::pg_query::Node& start_offset(const WindowDef* msg);
  static void set_has_start_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& end_offset(const WindowDef* msg);
  static void set_has_end_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& WindowDef::_Internal::start_offset(const WindowDef* msg) {
  return *msg->_impl_.start_offset_;
}
const ::pg_query::Node& WindowDef::_Internal::end_offset(const WindowDef* msg) {
  return *msg->_impl_.end_offset_;
}
WindowDef::WindowDef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowDef)
}
inline PROTOBUF_NDEBUG_INLINE WindowDef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        partition_clause_{visibility, arena, from.partition_clause_},
        order_clause_{visibility, arena, from.order_clause_},
        name_(arena, from.name_),
        refname_(arena, from.refname_) {}

WindowDef::WindowDef(
    ::google::protobuf::Arena* arena,
    const WindowDef& from)
    : ::google::protobuf::Message(arena) {
  WindowDef* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.start_offset_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.start_offset_)
                : nullptr;
  _impl_.end_offset_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.end_offset_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, frame_options_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, frame_options_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, frame_options_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WindowDef)
}
inline PROTOBUF_NDEBUG_INLINE WindowDef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        partition_clause_{visibility, arena},
        order_clause_{visibility, arena},
        name_(arena),
        refname_(arena) {}

inline void WindowDef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_offset_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, start_offset_) +
               sizeof(Impl_::location_));
}
WindowDef::~WindowDef() {
  // @@protoc_insertion_point(destructor:pg_query.WindowDef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WindowDef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.refname_.Destroy();
  delete _impl_.start_offset_;
  delete _impl_.end_offset_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WindowDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowDef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.partition_clause_.Clear();
  _impl_.order_clause_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.refname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.start_offset_ != nullptr);
      _impl_.start_offset_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.end_offset_ != nullptr);
      _impl_.end_offset_->Clear();
    }
  }
  ::memset(&_impl_.frame_options_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WindowDef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 4, 46, 2> WindowDef::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(WindowDef, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WindowDef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowDef, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.location_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.name_)}},
    // string refname = 2 [json_name = "refname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.refname_)}},
    // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.partition_clause_)}},
    // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.order_clause_)}},
    // int32 frame_options = 5 [json_name = "frameOptions"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowDef, _impl_.frame_options_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.frame_options_)}},
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 2, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.start_offset_)}},
    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 3, PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.end_offset_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string refname = 2 [json_name = "refname"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.refname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.partition_clause_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.order_clause_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 frame_options = 5 [json_name = "frameOptions"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.frame_options_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.start_offset_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.end_offset_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\4\7\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.WindowDef"
    "name"
    "refname"
  }},
};

::uint8_t* WindowDef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowDef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WindowDef.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    const std::string& _s = this->_internal_refname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WindowDef.refname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_partition_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_partition_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_frame_options(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::start_offset(this),
        _Internal::start_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::end_offset(this),
        _Internal::end_offset(this).GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WindowDef)
  return target;
}

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

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

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  total_size += 1UL * this->_internal_partition_clause_size();
  for (const auto& msg : this->_internal_partition_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  total_size += 1UL * this->_internal_order_clause_size();
  for (const auto& msg : this->_internal_order_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_refname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.start_offset_);
    }

    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.end_offset_);
    }

  }
  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_frame_options());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WindowDef::_class_data_ = {
    WindowDef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WindowDef::GetClassData() const {
  return &_class_data_;
}

void WindowDef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WindowDef*>(&to_msg);
  auto& from = static_cast<const WindowDef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowDef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_partition_clause()->MergeFrom(
      from._internal_partition_clause());
  _this->_internal_mutable_order_clause()->MergeFrom(
      from._internal_order_clause());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_refname().empty()) {
    _this->_internal_set_refname(from._internal_refname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_start_offset()->::pg_query::Node::MergeFrom(
          from._internal_start_offset());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_end_offset()->::pg_query::Node::MergeFrom(
          from._internal_end_offset());
    }
  }
  if (from._internal_frame_options() != 0) {
    _this->_internal_set_frame_options(from._internal_frame_options());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WindowDef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WindowDef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WindowDef::InternalSwap(WindowDef* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.partition_clause_.InternalSwap(&other->_impl_.partition_clause_);
  _impl_.order_clause_.InternalSwap(&other->_impl_.order_clause_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.refname_, &other->_impl_.refname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.location_)
      + sizeof(WindowDef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WindowDef, _impl_.start_offset_)>(
          reinterpret_cast<char*>(&_impl_.start_offset_),
          reinterpret_cast<char*>(&other->_impl_.start_offset_));
}

::google::protobuf::Metadata WindowDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[91]);
}
// ===================================================================

class RangeSubselect::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeSubselect>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_._has_bits_);
  static const ::pg_query::Node& subquery(const RangeSubselect* msg);
  static void set_has_subquery(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Alias& alias(const RangeSubselect* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& RangeSubselect::_Internal::subquery(const RangeSubselect* msg) {
  return *msg->_impl_.subquery_;
}
const ::pg_query::Alias& RangeSubselect::_Internal::alias(const RangeSubselect* msg) {
  return *msg->_impl_.alias_;
}
RangeSubselect::RangeSubselect(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeSubselect)
}
inline PROTOBUF_NDEBUG_INLINE RangeSubselect::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

RangeSubselect::RangeSubselect(
    ::google::protobuf::Arena* arena,
    const RangeSubselect& from)
    : ::google::protobuf::Message(arena) {
  RangeSubselect* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.subquery_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.subquery_)
                : nullptr;
  _impl_.alias_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  _impl_.lateral_ = from._impl_.lateral_;

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeSubselect)
}
inline PROTOBUF_NDEBUG_INLINE RangeSubselect::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RangeSubselect::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, subquery_),
           0,
           offsetof(Impl_, lateral_) -
               offsetof(Impl_, subquery_) +
               sizeof(Impl_::lateral_));
}
RangeSubselect::~RangeSubselect() {
  // @@protoc_insertion_point(destructor:pg_query.RangeSubselect)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeSubselect::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.subquery_;
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeSubselect::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeSubselect)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.subquery_ != nullptr);
      _impl_.subquery_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.alias_ != nullptr);
      _impl_.alias_->Clear();
    }
  }
  _impl_.lateral_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeSubselect::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> RangeSubselect::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeSubselect_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool lateral = 1 [json_name = "lateral"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeSubselect, _impl_.lateral_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.lateral_)}},
    // .pg_query.Node subquery = 2 [json_name = "subquery"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.subquery_)}},
    // .pg_query.Alias alias = 3 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.alias_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool lateral = 1 [json_name = "lateral"];
    {PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.lateral_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node subquery = 2 [json_name = "subquery"];
    {PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.subquery_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias alias = 3 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.alias_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
  }}, {{
  }},
};

::uint8_t* RangeSubselect::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeSubselect)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_lateral(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node subquery = 2 [json_name = "subquery"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::subquery(this),
        _Internal::subquery(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 3 [json_name = "alias"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeSubselect)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node subquery = 2 [json_name = "subquery"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.subquery_);
    }

    // .pg_query.Alias alias = 3 [json_name = "alias"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
    }

  }
  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeSubselect::_class_data_ = {
    RangeSubselect::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeSubselect::GetClassData() const {
  return &_class_data_;
}

void RangeSubselect::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeSubselect*>(&to_msg);
  auto& from = static_cast<const RangeSubselect&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeSubselect)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_subquery()->::pg_query::Node::MergeFrom(
          from._internal_subquery());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
    }
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeSubselect::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeSubselect::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeSubselect::InternalSwap(RangeSubselect* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.lateral_)
      + sizeof(RangeSubselect::_impl_.lateral_)
      - PROTOBUF_FIELD_OFFSET(RangeSubselect, _impl_.subquery_)>(
          reinterpret_cast<char*>(&_impl_.subquery_),
          reinterpret_cast<char*>(&other->_impl_.subquery_));
}

::google::protobuf::Metadata RangeSubselect::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[92]);
}
// ===================================================================

class RangeFunction::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeFunction>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_._has_bits_);
  static const ::pg_query::Alias& alias(const RangeFunction* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Alias& RangeFunction::_Internal::alias(const RangeFunction* msg) {
  return *msg->_impl_.alias_;
}
RangeFunction::RangeFunction(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeFunction)
}
inline PROTOBUF_NDEBUG_INLINE RangeFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        functions_{visibility, arena, from.functions_},
        coldeflist_{visibility, arena, from.coldeflist_} {}

RangeFunction::RangeFunction(
    ::google::protobuf::Arena* arena,
    const RangeFunction& from)
    : ::google::protobuf::Message(arena) {
  RangeFunction* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.alias_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lateral_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, lateral_),
           offsetof(Impl_, is_rowsfrom_) -
               offsetof(Impl_, lateral_) +
               sizeof(Impl_::is_rowsfrom_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeFunction)
}
inline PROTOBUF_NDEBUG_INLINE RangeFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        functions_{visibility, arena},
        coldeflist_{visibility, arena} {}

inline void RangeFunction::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, alias_),
           0,
           offsetof(Impl_, is_rowsfrom_) -
               offsetof(Impl_, alias_) +
               sizeof(Impl_::is_rowsfrom_));
}
RangeFunction::~RangeFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeFunction)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeFunction::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeFunction)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.functions_.Clear();
  _impl_.coldeflist_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.alias_ != nullptr);
    _impl_.alias_->Clear();
  }
  ::memset(&_impl_.lateral_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.is_rowsfrom_) -
      reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.is_rowsfrom_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeFunction::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 0, 2> RangeFunction::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeFunction_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool lateral = 1 [json_name = "lateral"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeFunction, _impl_.lateral_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.lateral_)}},
    // bool ordinality = 2 [json_name = "ordinality"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeFunction, _impl_.ordinality_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.ordinality_)}},
    // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeFunction, _impl_.is_rowsfrom_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.is_rowsfrom_)}},
    // repeated .pg_query.Node functions = 4 [json_name = "functions"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.functions_)}},
    // .pg_query.Alias alias = 5 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {42, 0, 1, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.alias_)}},
    // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.coldeflist_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bool lateral = 1 [json_name = "lateral"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.lateral_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool ordinality = 2 [json_name = "ordinality"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.ordinality_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.is_rowsfrom_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node functions = 4 [json_name = "functions"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.functions_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias alias = 5 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.alias_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
    {PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.coldeflist_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RangeFunction::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeFunction)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_lateral(), target);
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->_internal_ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_ordinality(), target);
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->_internal_is_rowsfrom() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_rowsfrom(), target);
  }

  // repeated .pg_query.Node functions = 4 [json_name = "functions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_functions_size()); i < n; i++) {
    const auto& repfield = this->_internal_functions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Alias alias = 5 [json_name = "alias"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coldeflist_size()); i < n; i++) {
    const auto& repfield = this->_internal_coldeflist().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeFunction)
  return target;
}

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

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

  // repeated .pg_query.Node functions = 4 [json_name = "functions"];
  total_size += 1UL * this->_internal_functions_size();
  for (const auto& msg : this->_internal_functions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coldeflist = 6 [json_name = "coldeflist"];
  total_size += 1UL * this->_internal_coldeflist_size();
  for (const auto& msg : this->_internal_coldeflist()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Alias alias = 5 [json_name = "alias"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
  }

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 2;
  }

  // bool ordinality = 2 [json_name = "ordinality"];
  if (this->_internal_ordinality() != 0) {
    total_size += 2;
  }

  // bool is_rowsfrom = 3 [json_name = "is_rowsfrom"];
  if (this->_internal_is_rowsfrom() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeFunction::_class_data_ = {
    RangeFunction::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeFunction::GetClassData() const {
  return &_class_data_;
}

void RangeFunction::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeFunction*>(&to_msg);
  auto& from = static_cast<const RangeFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeFunction)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_functions()->MergeFrom(
      from._internal_functions());
  _this->_internal_mutable_coldeflist()->MergeFrom(
      from._internal_coldeflist());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
        from._internal_alias());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_ordinality() != 0) {
    _this->_internal_set_ordinality(from._internal_ordinality());
  }
  if (from._internal_is_rowsfrom() != 0) {
    _this->_internal_set_is_rowsfrom(from._internal_is_rowsfrom());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeFunction::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeFunction::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeFunction::InternalSwap(RangeFunction* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.functions_.InternalSwap(&other->_impl_.functions_);
  _impl_.coldeflist_.InternalSwap(&other->_impl_.coldeflist_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.is_rowsfrom_)
      + sizeof(RangeFunction::_impl_.is_rowsfrom_)
      - PROTOBUF_FIELD_OFFSET(RangeFunction, _impl_.alias_)>(
          reinterpret_cast<char*>(&_impl_.alias_),
          reinterpret_cast<char*>(&other->_impl_.alias_));
}

::google::protobuf::Metadata RangeFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[93]);
}
// ===================================================================

class RangeTableFunc::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeTableFunc>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_._has_bits_);
  static const ::pg_query::Node& docexpr(const RangeTableFunc* msg);
  static void set_has_docexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& rowexpr(const RangeTableFunc* msg);
  static void set_has_rowexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Alias& alias(const RangeTableFunc* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& RangeTableFunc::_Internal::docexpr(const RangeTableFunc* msg) {
  return *msg->_impl_.docexpr_;
}
const ::pg_query::Node& RangeTableFunc::_Internal::rowexpr(const RangeTableFunc* msg) {
  return *msg->_impl_.rowexpr_;
}
const ::pg_query::Alias& RangeTableFunc::_Internal::alias(const RangeTableFunc* msg) {
  return *msg->_impl_.alias_;
}
RangeTableFunc::RangeTableFunc(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFunc)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        namespaces_{visibility, arena, from.namespaces_},
        columns_{visibility, arena, from.columns_} {}

RangeTableFunc::RangeTableFunc(
    ::google::protobuf::Arena* arena,
    const RangeTableFunc& from)
    : ::google::protobuf::Message(arena) {
  RangeTableFunc* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.docexpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.docexpr_)
                : nullptr;
  _impl_.rowexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rowexpr_)
                : nullptr;
  _impl_.alias_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lateral_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, lateral_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, lateral_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFunc)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableFunc::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        namespaces_{visibility, arena},
        columns_{visibility, arena} {}

inline void RangeTableFunc::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, docexpr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, docexpr_) +
               sizeof(Impl_::location_));
}
RangeTableFunc::~RangeTableFunc() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFunc)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTableFunc::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.docexpr_;
  delete _impl_.rowexpr_;
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTableFunc::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFunc)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.namespaces_.Clear();
  _impl_.columns_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.docexpr_ != nullptr);
      _impl_.docexpr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.rowexpr_ != nullptr);
      _impl_.rowexpr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.alias_ != nullptr);
      _impl_.alias_->Clear();
    }
  }
  ::memset(&_impl_.lateral_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTableFunc::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 5, 0, 2> RangeTableFunc::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeTableFunc_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool lateral = 1 [json_name = "lateral"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeTableFunc, _impl_.lateral_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.lateral_)}},
    // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.docexpr_)}},
    // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.rowexpr_)}},
    // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.namespaces_)}},
    // repeated .pg_query.Node columns = 5 [json_name = "columns"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.columns_)}},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 4, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.alias_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTableFunc, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool lateral = 1 [json_name = "lateral"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.lateral_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.docexpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.rowexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.namespaces_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node columns = 5 [json_name = "columns"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.columns_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.alias_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
  }}, {{
  }},
};

::uint8_t* RangeTableFunc::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFunc)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_lateral(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::docexpr(this),
        _Internal::docexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::rowexpr(this),
        _Internal::rowexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_namespaces_size()); i < n; i++) {
    const auto& repfield = this->_internal_namespaces().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node columns = 5 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTableFunc)
  return target;
}

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

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

  // repeated .pg_query.Node namespaces = 4 [json_name = "namespaces"];
  total_size += 1UL * this->_internal_namespaces_size();
  for (const auto& msg : this->_internal_namespaces()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node columns = 5 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_internal_columns()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node docexpr = 2 [json_name = "docexpr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.docexpr_);
    }

    // .pg_query.Node rowexpr = 3 [json_name = "rowexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rowexpr_);
    }

    // .pg_query.Alias alias = 6 [json_name = "alias"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
    }

  }
  // bool lateral = 1 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 2;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTableFunc::_class_data_ = {
    RangeTableFunc::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTableFunc::GetClassData() const {
  return &_class_data_;
}

void RangeTableFunc::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTableFunc*>(&to_msg);
  auto& from = static_cast<const RangeTableFunc&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFunc)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_namespaces()->MergeFrom(
      from._internal_namespaces());
  _this->_internal_mutable_columns()->MergeFrom(
      from._internal_columns());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_docexpr()->::pg_query::Node::MergeFrom(
          from._internal_docexpr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_rowexpr()->::pg_query::Node::MergeFrom(
          from._internal_rowexpr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
    }
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTableFunc::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTableFunc::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTableFunc::InternalSwap(RangeTableFunc* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.namespaces_.InternalSwap(&other->_impl_.namespaces_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.location_)
      + sizeof(RangeTableFunc::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFunc, _impl_.docexpr_)>(
          reinterpret_cast<char*>(&_impl_.docexpr_),
          reinterpret_cast<char*>(&other->_impl_.docexpr_));
}

::google::protobuf::Metadata RangeTableFunc::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[94]);
}
// ===================================================================

class RangeTableFuncCol::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeTableFuncCol>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const RangeTableFuncCol* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& colexpr(const RangeTableFuncCol* msg);
  static void set_has_colexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& coldefexpr(const RangeTableFuncCol* msg);
  static void set_has_coldefexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::TypeName& RangeTableFuncCol::_Internal::type_name(const RangeTableFuncCol* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::Node& RangeTableFuncCol::_Internal::colexpr(const RangeTableFuncCol* msg) {
  return *msg->_impl_.colexpr_;
}
const ::pg_query::Node& RangeTableFuncCol::_Internal::coldefexpr(const RangeTableFuncCol* msg) {
  return *msg->_impl_.coldefexpr_;
}
RangeTableFuncCol::RangeTableFuncCol(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableFuncCol)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableFuncCol::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        colname_(arena, from.colname_) {}

RangeTableFuncCol::RangeTableFuncCol(
    ::google::protobuf::Arena* arena,
    const RangeTableFuncCol& from)
    : ::google::protobuf::Message(arena) {
  RangeTableFuncCol* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.colexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.colexpr_)
                : nullptr;
  _impl_.coldefexpr_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.coldefexpr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, for_ordinality_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, for_ordinality_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, for_ordinality_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableFuncCol)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableFuncCol::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        colname_(arena) {}

inline void RangeTableFuncCol::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::location_));
}
RangeTableFuncCol::~RangeTableFuncCol() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableFuncCol)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTableFuncCol::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.colname_.Destroy();
  delete _impl_.type_name_;
  delete _impl_.colexpr_;
  delete _impl_.coldefexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTableFuncCol::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableFuncCol)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.colname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.colexpr_ != nullptr);
      _impl_.colexpr_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.coldefexpr_ != nullptr);
      _impl_.coldefexpr_->Clear();
    }
  }
  ::memset(&_impl_.for_ordinality_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.for_ordinality_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTableFuncCol::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 3, 42, 2> RangeTableFuncCol::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeTableFuncCol_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string colname = 1 [json_name = "colname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.colname_)}},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.type_name_)}},
    // bool for_ordinality = 3 [json_name = "for_ordinality"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeTableFuncCol, _impl_.for_ordinality_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.for_ordinality_)}},
    // bool is_not_null = 4 [json_name = "is_not_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeTableFuncCol, _impl_.is_not_null_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.is_not_null_)}},
    // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.colexpr_)}},
    // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 2, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.coldefexpr_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTableFuncCol, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string colname = 1 [json_name = "colname"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.colname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool for_ordinality = 3 [json_name = "for_ordinality"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.for_ordinality_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_not_null = 4 [json_name = "is_not_null"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.is_not_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.colexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.coldefexpr_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\7\0\0\0\0\0\0"
    "pg_query.RangeTableFuncCol"
    "colname"
  }},
};

::uint8_t* RangeTableFuncCol::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableFuncCol)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    const std::string& _s = this->_internal_colname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeTableFuncCol.colname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->_internal_for_ordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_for_ordinality(), target);
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_is_not_null(), target);
  }

  // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::colexpr(this),
        _Internal::colexpr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::coldefexpr(this),
        _Internal::coldefexpr(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTableFuncCol)
  return target;
}

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

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

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_colname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.Node colexpr = 5 [json_name = "colexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.colexpr_);
    }

    // .pg_query.Node coldefexpr = 6 [json_name = "coldefexpr"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.coldefexpr_);
    }

  }
  // bool for_ordinality = 3 [json_name = "for_ordinality"];
  if (this->_internal_for_ordinality() != 0) {
    total_size += 2;
  }

  // bool is_not_null = 4 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    total_size += 2;
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTableFuncCol::_class_data_ = {
    RangeTableFuncCol::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTableFuncCol::GetClassData() const {
  return &_class_data_;
}

void RangeTableFuncCol::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTableFuncCol*>(&to_msg);
  auto& from = static_cast<const RangeTableFuncCol&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableFuncCol)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_colname().empty()) {
    _this->_internal_set_colname(from._internal_colname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_colexpr()->::pg_query::Node::MergeFrom(
          from._internal_colexpr());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_coldefexpr()->::pg_query::Node::MergeFrom(
          from._internal_coldefexpr());
    }
  }
  if (from._internal_for_ordinality() != 0) {
    _this->_internal_set_for_ordinality(from._internal_for_ordinality());
  }
  if (from._internal_is_not_null() != 0) {
    _this->_internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTableFuncCol::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTableFuncCol::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTableFuncCol::InternalSwap(RangeTableFuncCol* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.colname_, &other->_impl_.colname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.location_)
      + sizeof(RangeTableFuncCol::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableFuncCol, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata RangeTableFuncCol::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[95]);
}
// ===================================================================

class RangeTableSample::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeTableSample>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_._has_bits_);
  static const ::pg_query::Node& relation(const RangeTableSample* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& repeatable(const RangeTableSample* msg);
  static void set_has_repeatable(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& RangeTableSample::_Internal::relation(const RangeTableSample* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& RangeTableSample::_Internal::repeatable(const RangeTableSample* msg) {
  return *msg->_impl_.repeatable_;
}
RangeTableSample::RangeTableSample(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTableSample)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableSample::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        method_{visibility, arena, from.method_},
        args_{visibility, arena, from.args_} {}

RangeTableSample::RangeTableSample(
    ::google::protobuf::Arena* arena,
    const RangeTableSample& from)
    : ::google::protobuf::Message(arena) {
  RangeTableSample* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.repeatable_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.repeatable_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTableSample)
}
inline PROTOBUF_NDEBUG_INLINE RangeTableSample::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        method_{visibility, arena},
        args_{visibility, arena} {}

inline void RangeTableSample::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::location_));
}
RangeTableSample::~RangeTableSample() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTableSample)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTableSample::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.repeatable_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTableSample::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTableSample)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.method_.Clear();
  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.repeatable_ != nullptr);
      _impl_.repeatable_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTableSample::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 4, 0, 2> RangeTableSample::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeTableSample_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.relation_)}},
    // repeated .pg_query.Node method = 2 [json_name = "method"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.method_)}},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.args_)}},
    // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 3, PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.repeatable_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTableSample, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node method = 2 [json_name = "method"];
    {PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.method_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.args_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
    {PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.repeatable_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RangeTableSample::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTableSample)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node method = 2 [json_name = "method"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_method_size()); i < n; i++) {
    const auto& repfield = this->_internal_method().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::repeatable(this),
        _Internal::repeatable(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTableSample)
  return target;
}

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

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

  // repeated .pg_query.Node method = 2 [json_name = "method"];
  total_size += 1UL * this->_internal_method_size();
  for (const auto& msg : this->_internal_method()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node repeatable = 4 [json_name = "repeatable"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.repeatable_);
    }

  }
  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTableSample::_class_data_ = {
    RangeTableSample::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTableSample::GetClassData() const {
  return &_class_data_;
}

void RangeTableSample::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTableSample*>(&to_msg);
  auto& from = static_cast<const RangeTableSample&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTableSample)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_method()->MergeFrom(
      from._internal_method());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::Node::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_repeatable()->::pg_query::Node::MergeFrom(
          from._internal_repeatable());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTableSample::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTableSample::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTableSample::InternalSwap(RangeTableSample* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.method_.InternalSwap(&other->_impl_.method_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.location_)
      + sizeof(RangeTableSample::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(RangeTableSample, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata RangeTableSample::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[96]);
}
// ===================================================================

class ColumnDef::_Internal {
 public:
  using HasBits = decltype(std::declval<ColumnDef>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const ColumnDef* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& raw_default(const ColumnDef* msg);
  static void set_has_raw_default(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& cooked_default(const ColumnDef* msg);
  static void set_has_cooked_default(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::RangeVar& identity_sequence(const ColumnDef* msg);
  static void set_has_identity_sequence(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::CollateClause& coll_clause(const ColumnDef* msg);
  static void set_has_coll_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::pg_query::TypeName& ColumnDef::_Internal::type_name(const ColumnDef* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::Node& ColumnDef::_Internal::raw_default(const ColumnDef* msg) {
  return *msg->_impl_.raw_default_;
}
const ::pg_query::Node& ColumnDef::_Internal::cooked_default(const ColumnDef* msg) {
  return *msg->_impl_.cooked_default_;
}
const ::pg_query::RangeVar& ColumnDef::_Internal::identity_sequence(const ColumnDef* msg) {
  return *msg->_impl_.identity_sequence_;
}
const ::pg_query::CollateClause& ColumnDef::_Internal::coll_clause(const ColumnDef* msg) {
  return *msg->_impl_.coll_clause_;
}
ColumnDef::ColumnDef(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ColumnDef)
}
inline PROTOBUF_NDEBUG_INLINE ColumnDef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        constraints_{visibility, arena, from.constraints_},
        fdwoptions_{visibility, arena, from.fdwoptions_},
        colname_(arena, from.colname_),
        compression_(arena, from.compression_),
        storage_(arena, from.storage_),
        storage_name_(arena, from.storage_name_),
        identity_(arena, from.identity_),
        generated_(arena, from.generated_) {}

ColumnDef::ColumnDef(
    ::google::protobuf::Arena* arena,
    const ColumnDef& from)
    : ::google::protobuf::Message(arena) {
  ColumnDef* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.raw_default_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.raw_default_)
                : nullptr;
  _impl_.cooked_default_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.cooked_default_)
                : nullptr;
  _impl_.identity_sequence_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.identity_sequence_)
                : nullptr;
  _impl_.coll_clause_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::CollateClause>(arena, *from._impl_.coll_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, inhcount_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, inhcount_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, inhcount_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ColumnDef)
}
inline PROTOBUF_NDEBUG_INLINE ColumnDef::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        constraints_{visibility, arena},
        fdwoptions_{visibility, arena},
        colname_(arena),
        compression_(arena),
        storage_(arena),
        storage_name_(arena),
        identity_(arena),
        generated_(arena) {}

inline void ColumnDef::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::location_));
}
ColumnDef::~ColumnDef() {
  // @@protoc_insertion_point(destructor:pg_query.ColumnDef)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ColumnDef::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.colname_.Destroy();
  _impl_.compression_.Destroy();
  _impl_.storage_.Destroy();
  _impl_.storage_name_.Destroy();
  _impl_.identity_.Destroy();
  _impl_.generated_.Destroy();
  delete _impl_.type_name_;
  delete _impl_.raw_default_;
  delete _impl_.cooked_default_;
  delete _impl_.identity_sequence_;
  delete _impl_.coll_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ColumnDef::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ColumnDef)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.constraints_.Clear();
  _impl_.fdwoptions_.Clear();
  _impl_.colname_.ClearToEmpty();
  _impl_.compression_.ClearToEmpty();
  _impl_.storage_.ClearToEmpty();
  _impl_.storage_name_.ClearToEmpty();
  _impl_.identity_.ClearToEmpty();
  _impl_.generated_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.raw_default_ != nullptr);
      _impl_.raw_default_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.cooked_default_ != nullptr);
      _impl_.cooked_default_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.identity_sequence_ != nullptr);
      _impl_.identity_sequence_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.coll_clause_ != nullptr);
      _impl_.coll_clause_->Clear();
    }
  }
  ::memset(&_impl_.inhcount_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.inhcount_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ColumnDef::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 19, 7, 97, 2> ColumnDef::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_._has_bits_),
    0, // no _extensions_
    19, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294443008,  // skipmap
    offsetof(decltype(_table_), field_entries),
    19,  // num_field_entries
    7,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ColumnDef_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string colname = 1 [json_name = "colname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.colname_)}},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.type_name_)}},
    // string compression = 3 [json_name = "compression"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.compression_)}},
    // int32 inhcount = 4 [json_name = "inhcount"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ColumnDef, _impl_.inhcount_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.inhcount_)}},
    // bool is_local = 5 [json_name = "is_local"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ColumnDef, _impl_.is_local_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_local_)}},
    // bool is_not_null = 6 [json_name = "is_not_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ColumnDef, _impl_.is_not_null_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_not_null_)}},
    // bool is_from_type = 7 [json_name = "is_from_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ColumnDef, _impl_.is_from_type_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_from_type_)}},
    // string storage = 8 [json_name = "storage"];
    {::_pbi::TcParser::FastUS1,
     {66, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.storage_)}},
    // string storage_name = 9 [json_name = "storage_name"];
    {::_pbi::TcParser::FastUS1,
     {74, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.storage_name_)}},
    // .pg_query.Node raw_default = 10 [json_name = "raw_default"];
    {::_pbi::TcParser::FastMtS1,
     {82, 1, 1, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.raw_default_)}},
    // .pg_query.Node cooked_default = 11 [json_name = "cooked_default"];
    {::_pbi::TcParser::FastMtS1,
     {90, 2, 2, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.cooked_default_)}},
    // string identity = 12 [json_name = "identity"];
    {::_pbi::TcParser::FastUS1,
     {98, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.identity_)}},
    // .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"];
    {::_pbi::TcParser::FastMtS1,
     {106, 3, 3, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.identity_sequence_)}},
    // string generated = 14 [json_name = "generated"];
    {::_pbi::TcParser::FastUS1,
     {114, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.generated_)}},
    // .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"];
    {::_pbi::TcParser::FastMtS1,
     {122, 4, 4, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.coll_clause_)}},
    // uint32 coll_oid = 16 [json_name = "collOid"];
    {::_pbi::TcParser::FastV32S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.coll_oid_)}},
    // repeated .pg_query.Node constraints = 17 [json_name = "constraints"];
    {::_pbi::TcParser::FastMtR2,
     {394, 63, 5, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.constraints_)}},
    // repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"];
    {::_pbi::TcParser::FastMtR2,
     {402, 63, 6, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.fdwoptions_)}},
    // int32 location = 19 [json_name = "location"];
    {::_pbi::TcParser::FastV32S2,
     {408, 63, 0, PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string colname = 1 [json_name = "colname"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.colname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string compression = 3 [json_name = "compression"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.compression_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 inhcount = 4 [json_name = "inhcount"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.inhcount_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool is_local = 5 [json_name = "is_local"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_local_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_not_null = 6 [json_name = "is_not_null"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_not_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_from_type = 7 [json_name = "is_from_type"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.is_from_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string storage = 8 [json_name = "storage"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.storage_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string storage_name = 9 [json_name = "storage_name"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.storage_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node raw_default = 10 [json_name = "raw_default"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.raw_default_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node cooked_default = 11 [json_name = "cooked_default"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.cooked_default_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string identity = 12 [json_name = "identity"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.identity_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.identity_sequence_), _Internal::kHasBitsOffset + 3, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string generated = 14 [json_name = "generated"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.generated_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.coll_clause_), _Internal::kHasBitsOffset + 4, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 coll_oid = 16 [json_name = "collOid"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.coll_oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node constraints = 17 [json_name = "constraints"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.constraints_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.fdwoptions_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 19 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::CollateClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\7\0\13\0\0\0\0\7\14\0\0\10\0\11\0\0\0\0\0\0\0\0\0"
    "pg_query.ColumnDef"
    "colname"
    "compression"
    "storage"
    "storage_name"
    "identity"
    "generated"
  }},
};

::uint8_t* ColumnDef::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ColumnDef)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    const std::string& _s = this->_internal_colname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.colname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // string compression = 3 [json_name = "compression"];
  if (!this->_internal_compression().empty()) {
    const std::string& _s = this->_internal_compression();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.compression");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // int32 inhcount = 4 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_inhcount(), target);
  }

  // bool is_local = 5 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_is_local(), target);
  }

  // bool is_not_null = 6 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_is_not_null(), target);
  }

  // bool is_from_type = 7 [json_name = "is_from_type"];
  if (this->_internal_is_from_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_is_from_type(), target);
  }

  // string storage = 8 [json_name = "storage"];
  if (!this->_internal_storage().empty()) {
    const std::string& _s = this->_internal_storage();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.storage");
    target = stream->WriteStringMaybeAliased(8, _s, target);
  }

  // string storage_name = 9 [json_name = "storage_name"];
  if (!this->_internal_storage_name().empty()) {
    const std::string& _s = this->_internal_storage_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.storage_name");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // .pg_query.Node raw_default = 10 [json_name = "raw_default"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, _Internal::raw_default(this),
        _Internal::raw_default(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node cooked_default = 11 [json_name = "cooked_default"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, _Internal::cooked_default(this),
        _Internal::cooked_default(this).GetCachedSize(), target, stream);
  }

  // string identity = 12 [json_name = "identity"];
  if (!this->_internal_identity().empty()) {
    const std::string& _s = this->_internal_identity();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.identity");
    target = stream->WriteStringMaybeAliased(12, _s, target);
  }

  // .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, _Internal::identity_sequence(this),
        _Internal::identity_sequence(this).GetCachedSize(), target, stream);
  }

  // string generated = 14 [json_name = "generated"];
  if (!this->_internal_generated().empty()) {
    const std::string& _s = this->_internal_generated();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ColumnDef.generated");
    target = stream->WriteStringMaybeAliased(14, _s, target);
  }

  // .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, _Internal::coll_clause(this),
        _Internal::coll_clause(this).GetCachedSize(), target, stream);
  }

  // uint32 coll_oid = 16 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        16, this->_internal_coll_oid(), target);
  }

  // repeated .pg_query.Node constraints = 17 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(17, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fdwoptions_size()); i < n; i++) {
    const auto& repfield = this->_internal_fdwoptions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(18, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 19 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        19, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ColumnDef)
  return target;
}

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

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

  // repeated .pg_query.Node constraints = 17 [json_name = "constraints"];
  total_size += 2UL * this->_internal_constraints_size();
  for (const auto& msg : this->_internal_constraints()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node fdwoptions = 18 [json_name = "fdwoptions"];
  total_size += 2UL * this->_internal_fdwoptions_size();
  for (const auto& msg : this->_internal_fdwoptions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string colname = 1 [json_name = "colname"];
  if (!this->_internal_colname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_colname());
  }

  // string compression = 3 [json_name = "compression"];
  if (!this->_internal_compression().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_compression());
  }

  // string storage = 8 [json_name = "storage"];
  if (!this->_internal_storage().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_storage());
  }

  // string storage_name = 9 [json_name = "storage_name"];
  if (!this->_internal_storage_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_storage_name());
  }

  // string identity = 12 [json_name = "identity"];
  if (!this->_internal_identity().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_identity());
  }

  // string generated = 14 [json_name = "generated"];
  if (!this->_internal_generated().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_generated());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.Node raw_default = 10 [json_name = "raw_default"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.raw_default_);
    }

    // .pg_query.Node cooked_default = 11 [json_name = "cooked_default"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.cooked_default_);
    }

    // .pg_query.RangeVar identity_sequence = 13 [json_name = "identitySequence"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.identity_sequence_);
    }

    // .pg_query.CollateClause coll_clause = 15 [json_name = "collClause"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.coll_clause_);
    }

  }
  // int32 inhcount = 4 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_inhcount());
  }

  // bool is_local = 5 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    total_size += 2;
  }

  // bool is_not_null = 6 [json_name = "is_not_null"];
  if (this->_internal_is_not_null() != 0) {
    total_size += 2;
  }

  // bool is_from_type = 7 [json_name = "is_from_type"];
  if (this->_internal_is_from_type() != 0) {
    total_size += 2;
  }

  // uint32 coll_oid = 16 [json_name = "collOid"];
  if (this->_internal_coll_oid() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                    this->_internal_coll_oid());
  }

  // int32 location = 19 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ColumnDef::_class_data_ = {
    ColumnDef::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ColumnDef::GetClassData() const {
  return &_class_data_;
}

void ColumnDef::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ColumnDef*>(&to_msg);
  auto& from = static_cast<const ColumnDef&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ColumnDef)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_constraints()->MergeFrom(
      from._internal_constraints());
  _this->_internal_mutable_fdwoptions()->MergeFrom(
      from._internal_fdwoptions());
  if (!from._internal_colname().empty()) {
    _this->_internal_set_colname(from._internal_colname());
  }
  if (!from._internal_compression().empty()) {
    _this->_internal_set_compression(from._internal_compression());
  }
  if (!from._internal_storage().empty()) {
    _this->_internal_set_storage(from._internal_storage());
  }
  if (!from._internal_storage_name().empty()) {
    _this->_internal_set_storage_name(from._internal_storage_name());
  }
  if (!from._internal_identity().empty()) {
    _this->_internal_set_identity(from._internal_identity());
  }
  if (!from._internal_generated().empty()) {
    _this->_internal_set_generated(from._internal_generated());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_raw_default()->::pg_query::Node::MergeFrom(
          from._internal_raw_default());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_cooked_default()->::pg_query::Node::MergeFrom(
          from._internal_cooked_default());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_identity_sequence()->::pg_query::RangeVar::MergeFrom(
          from._internal_identity_sequence());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(
          from._internal_coll_clause());
    }
  }
  if (from._internal_inhcount() != 0) {
    _this->_internal_set_inhcount(from._internal_inhcount());
  }
  if (from._internal_is_local() != 0) {
    _this->_internal_set_is_local(from._internal_is_local());
  }
  if (from._internal_is_not_null() != 0) {
    _this->_internal_set_is_not_null(from._internal_is_not_null());
  }
  if (from._internal_is_from_type() != 0) {
    _this->_internal_set_is_from_type(from._internal_is_from_type());
  }
  if (from._internal_coll_oid() != 0) {
    _this->_internal_set_coll_oid(from._internal_coll_oid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ColumnDef::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ColumnDef::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ColumnDef::InternalSwap(ColumnDef* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  _impl_.fdwoptions_.InternalSwap(&other->_impl_.fdwoptions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.colname_, &other->_impl_.colname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.compression_, &other->_impl_.compression_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.storage_, &other->_impl_.storage_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.storage_name_, &other->_impl_.storage_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.identity_, &other->_impl_.identity_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.generated_, &other->_impl_.generated_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.location_)
      + sizeof(ColumnDef::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(ColumnDef, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata ColumnDef::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[97]);
}
// ===================================================================

class TableLikeClause::_Internal {
 public:
  using HasBits = decltype(std::declval<TableLikeClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const TableLikeClause* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& TableLikeClause::_Internal::relation(const TableLikeClause* msg) {
  return *msg->_impl_.relation_;
}
TableLikeClause::TableLikeClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableLikeClause)
}
inline PROTOBUF_NDEBUG_INLINE TableLikeClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

TableLikeClause::TableLikeClause(
    ::google::protobuf::Arena* arena,
    const TableLikeClause& from)
    : ::google::protobuf::Message(arena) {
  TableLikeClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, options_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, options_),
           offsetof(Impl_, relation_oid_) -
               offsetof(Impl_, options_) +
               sizeof(Impl_::relation_oid_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TableLikeClause)
}
inline PROTOBUF_NDEBUG_INLINE TableLikeClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void TableLikeClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, relation_oid_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::relation_oid_));
}
TableLikeClause::~TableLikeClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableLikeClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TableLikeClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TableLikeClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableLikeClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  ::memset(&_impl_.options_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.relation_oid_) -
      reinterpret_cast<char*>(&_impl_.options_)) + sizeof(_impl_.relation_oid_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TableLikeClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> TableLikeClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TableLikeClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_)}},
    // uint32 options = 2 [json_name = "options"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TableLikeClause, _impl_.options_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.options_)}},
    // uint32 relation_oid = 3 [json_name = "relationOid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TableLikeClause, _impl_.relation_oid_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_oid_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.options_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 relation_oid = 3 [json_name = "relationOid"];
    {PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
  }}, {{
  }},
};

::uint8_t* TableLikeClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableLikeClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_options(), target);
  }

  // uint32 relation_oid = 3 [json_name = "relationOid"];
  if (this->_internal_relation_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_relation_oid(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TableLikeClause)
  return target;
}

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

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

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  // uint32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_options());
  }

  // uint32 relation_oid = 3 [json_name = "relationOid"];
  if (this->_internal_relation_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_relation_oid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TableLikeClause::_class_data_ = {
    TableLikeClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TableLikeClause::GetClassData() const {
  return &_class_data_;
}

void TableLikeClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TableLikeClause*>(&to_msg);
  auto& from = static_cast<const TableLikeClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableLikeClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_options() != 0) {
    _this->_internal_set_options(from._internal_options());
  }
  if (from._internal_relation_oid() != 0) {
    _this->_internal_set_relation_oid(from._internal_relation_oid());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TableLikeClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TableLikeClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TableLikeClause::InternalSwap(TableLikeClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_oid_)
      + sizeof(TableLikeClause::_impl_.relation_oid_)
      - PROTOBUF_FIELD_OFFSET(TableLikeClause, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata TableLikeClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[98]);
}
// ===================================================================

class IndexElem::_Internal {
 public:
  using HasBits = decltype(std::declval<IndexElem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(IndexElem, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const IndexElem* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& IndexElem::_Internal::expr(const IndexElem* msg) {
  return *msg->_impl_.expr_;
}
IndexElem::IndexElem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexElem)
}
inline PROTOBUF_NDEBUG_INLINE IndexElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        collation_{visibility, arena, from.collation_},
        opclass_{visibility, arena, from.opclass_},
        opclassopts_{visibility, arena, from.opclassopts_},
        name_(arena, from.name_),
        indexcolname_(arena, from.indexcolname_) {}

IndexElem::IndexElem(
    ::google::protobuf::Arena* arena,
    const IndexElem& from)
    : ::google::protobuf::Message(arena) {
  IndexElem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, ordering_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, ordering_),
           offsetof(Impl_, nulls_ordering_) -
               offsetof(Impl_, ordering_) +
               sizeof(Impl_::nulls_ordering_));

  // @@protoc_insertion_point(copy_constructor:pg_query.IndexElem)
}
inline PROTOBUF_NDEBUG_INLINE IndexElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        collation_{visibility, arena},
        opclass_{visibility, arena},
        opclassopts_{visibility, arena},
        name_(arena),
        indexcolname_(arena) {}

inline void IndexElem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, nulls_ordering_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::nulls_ordering_));
}
IndexElem::~IndexElem() {
  // @@protoc_insertion_point(destructor:pg_query.IndexElem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void IndexElem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.indexcolname_.Destroy();
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void IndexElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IndexElem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collation_.Clear();
  _impl_.opclass_.Clear();
  _impl_.opclassopts_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.indexcolname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.expr_ != nullptr);
    _impl_.expr_->Clear();
  }
  ::memset(&_impl_.ordering_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.nulls_ordering_) -
      reinterpret_cast<char*>(&_impl_.ordering_)) + sizeof(_impl_.nulls_ordering_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* IndexElem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 4, 51, 2> IndexElem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(IndexElem, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_IndexElem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexElem, _impl_.nulls_ordering_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.nulls_ordering_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.name_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.expr_)}},
    // string indexcolname = 3 [json_name = "indexcolname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.indexcolname_)}},
    // repeated .pg_query.Node collation = 4 [json_name = "collation"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.collation_)}},
    // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.opclass_)}},
    // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 3, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.opclassopts_)}},
    // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexElem, _impl_.ordering_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.ordering_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string indexcolname = 3 [json_name = "indexcolname"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.indexcolname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node collation = 4 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.collation_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.opclass_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.opclassopts_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.ordering_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
    {PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.nulls_ordering_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\4\0\14\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.IndexElem"
    "name"
    "indexcolname"
  }},
};

::uint8_t* IndexElem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IndexElem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexElem.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (!this->_internal_indexcolname().empty()) {
    const std::string& _s = this->_internal_indexcolname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexElem.indexcolname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node collation = 4 [json_name = "collation"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collation_size()); i < n; i++) {
    const auto& repfield = this->_internal_collation().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclass_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclass().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclassopts_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclassopts().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->_internal_ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_ordering(), target);
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->_internal_nulls_ordering() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        8, this->_internal_nulls_ordering(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.IndexElem)
  return target;
}

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

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

  // repeated .pg_query.Node collation = 4 [json_name = "collation"];
  total_size += 1UL * this->_internal_collation_size();
  for (const auto& msg : this->_internal_collation()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opclass = 5 [json_name = "opclass"];
  total_size += 1UL * this->_internal_opclass_size();
  for (const auto& msg : this->_internal_opclass()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opclassopts = 6 [json_name = "opclassopts"];
  total_size += 1UL * this->_internal_opclassopts_size();
  for (const auto& msg : this->_internal_opclassopts()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string indexcolname = 3 [json_name = "indexcolname"];
  if (!this->_internal_indexcolname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_indexcolname());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
  }

  // .pg_query.SortByDir ordering = 7 [json_name = "ordering"];
  if (this->_internal_ordering() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_ordering());
  }

  // .pg_query.SortByNulls nulls_ordering = 8 [json_name = "nulls_ordering"];
  if (this->_internal_nulls_ordering() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_nulls_ordering());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData IndexElem::_class_data_ = {
    IndexElem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* IndexElem::GetClassData() const {
  return &_class_data_;
}

void IndexElem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<IndexElem*>(&to_msg);
  auto& from = static_cast<const IndexElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IndexElem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_collation()->MergeFrom(
      from._internal_collation());
  _this->_internal_mutable_opclass()->MergeFrom(
      from._internal_opclass());
  _this->_internal_mutable_opclassopts()->MergeFrom(
      from._internal_opclassopts());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_indexcolname().empty()) {
    _this->_internal_set_indexcolname(from._internal_indexcolname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_ordering() != 0) {
    _this->_internal_set_ordering(from._internal_ordering());
  }
  if (from._internal_nulls_ordering() != 0) {
    _this->_internal_set_nulls_ordering(from._internal_nulls_ordering());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool IndexElem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* IndexElem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void IndexElem::InternalSwap(IndexElem* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.collation_.InternalSwap(&other->_impl_.collation_);
  _impl_.opclass_.InternalSwap(&other->_impl_.opclass_);
  _impl_.opclassopts_.InternalSwap(&other->_impl_.opclassopts_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.indexcolname_, &other->_impl_.indexcolname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.nulls_ordering_)
      + sizeof(IndexElem::_impl_.nulls_ordering_)
      - PROTOBUF_FIELD_OFFSET(IndexElem, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata IndexElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[99]);
}
// ===================================================================

class DefElem::_Internal {
 public:
  using HasBits = decltype(std::declval<DefElem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(DefElem, _impl_._has_bits_);
  static const ::pg_query::Node& arg(const DefElem* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& DefElem::_Internal::arg(const DefElem* msg) {
  return *msg->_impl_.arg_;
}
DefElem::DefElem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefElem)
}
inline PROTOBUF_NDEBUG_INLINE DefElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        defnamespace_(arena, from.defnamespace_),
        defname_(arena, from.defname_) {}

DefElem::DefElem(
    ::google::protobuf::Arena* arena,
    const DefElem& from)
    : ::google::protobuf::Message(arena) {
  DefElem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, defaction_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, defaction_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, defaction_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DefElem)
}
inline PROTOBUF_NDEBUG_INLINE DefElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        defnamespace_(arena),
        defname_(arena) {}

inline void DefElem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, arg_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, arg_) +
               sizeof(Impl_::location_));
}
DefElem::~DefElem() {
  // @@protoc_insertion_point(destructor:pg_query.DefElem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DefElem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.defnamespace_.Destroy();
  _impl_.defname_.Destroy();
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DefElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DefElem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnamespace_.ClearToEmpty();
  _impl_.defname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.arg_ != nullptr);
    _impl_.arg_->Clear();
  }
  ::memset(&_impl_.defaction_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.defaction_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DefElem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 44, 2> DefElem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DefElem, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DefElem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string defnamespace = 1 [json_name = "defnamespace"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defnamespace_)}},
    // string defname = 2 [json_name = "defname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defname_)}},
    // .pg_query.Node arg = 3 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(DefElem, _impl_.arg_)}},
    // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DefElem, _impl_.defaction_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defaction_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DefElem, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(DefElem, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string defnamespace = 1 [json_name = "defnamespace"];
    {PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defnamespace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string defname = 2 [json_name = "defname"];
    {PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node arg = 3 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(DefElem, _impl_.arg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
    {PROTOBUF_FIELD_OFFSET(DefElem, _impl_.defaction_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(DefElem, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\20\14\7\0\0\0\0\0"
    "pg_query.DefElem"
    "defnamespace"
    "defname"
  }},
};

::uint8_t* DefElem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DefElem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string defnamespace = 1 [json_name = "defnamespace"];
  if (!this->_internal_defnamespace().empty()) {
    const std::string& _s = this->_internal_defnamespace();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DefElem.defnamespace");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string defname = 2 [json_name = "defname"];
  if (!this->_internal_defname().empty()) {
    const std::string& _s = this->_internal_defname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DefElem.defname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node arg = 3 [json_name = "arg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->_internal_defaction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_defaction(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DefElem)
  return target;
}

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

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

  // string defnamespace = 1 [json_name = "defnamespace"];
  if (!this->_internal_defnamespace().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_defnamespace());
  }

  // string defname = 2 [json_name = "defname"];
  if (!this->_internal_defname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_defname());
  }

  // .pg_query.Node arg = 3 [json_name = "arg"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
  }

  // .pg_query.DefElemAction defaction = 4 [json_name = "defaction"];
  if (this->_internal_defaction() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_defaction());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DefElem::_class_data_ = {
    DefElem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DefElem::GetClassData() const {
  return &_class_data_;
}

void DefElem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DefElem*>(&to_msg);
  auto& from = static_cast<const DefElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DefElem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_defnamespace().empty()) {
    _this->_internal_set_defnamespace(from._internal_defnamespace());
  }
  if (!from._internal_defname().empty()) {
    _this->_internal_set_defname(from._internal_defname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_arg()->::pg_query::Node::MergeFrom(
        from._internal_arg());
  }
  if (from._internal_defaction() != 0) {
    _this->_internal_set_defaction(from._internal_defaction());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DefElem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DefElem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DefElem::InternalSwap(DefElem* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.defnamespace_, &other->_impl_.defnamespace_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.defname_, &other->_impl_.defname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefElem, _impl_.location_)
      + sizeof(DefElem::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(DefElem, _impl_.arg_)>(
          reinterpret_cast<char*>(&_impl_.arg_),
          reinterpret_cast<char*>(&other->_impl_.arg_));
}

::google::protobuf::Metadata DefElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[100]);
}
// ===================================================================

class LockingClause::_Internal {
 public:
};

LockingClause::LockingClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockingClause)
}
inline PROTOBUF_NDEBUG_INLINE LockingClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : locked_rels_{visibility, arena, from.locked_rels_},
        _cached_size_{0} {}

LockingClause::LockingClause(
    ::google::protobuf::Arena* arena,
    const LockingClause& from)
    : ::google::protobuf::Message(arena) {
  LockingClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, strength_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, strength_),
           offsetof(Impl_, wait_policy_) -
               offsetof(Impl_, strength_) +
               sizeof(Impl_::wait_policy_));

  // @@protoc_insertion_point(copy_constructor:pg_query.LockingClause)
}
inline PROTOBUF_NDEBUG_INLINE LockingClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : locked_rels_{visibility, arena},
        _cached_size_{0} {}

inline void LockingClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, strength_),
           0,
           offsetof(Impl_, wait_policy_) -
               offsetof(Impl_, strength_) +
               sizeof(Impl_::wait_policy_));
}
LockingClause::~LockingClause() {
  // @@protoc_insertion_point(destructor:pg_query.LockingClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void LockingClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void LockingClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockingClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.locked_rels_.Clear();
  ::memset(&_impl_.strength_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.wait_policy_) -
      reinterpret_cast<char*>(&_impl_.strength_)) + sizeof(_impl_.wait_policy_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* LockingClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> LockingClause::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_LockingClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.locked_rels_)}},
    // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LockingClause, _impl_.strength_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.strength_)}},
    // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LockingClause, _impl_.wait_policy_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.wait_policy_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
    {PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.locked_rels_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
    {PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.strength_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
    {PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.wait_policy_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* LockingClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockingClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_locked_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_locked_rels().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_wait_policy(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.LockingClause)
  return target;
}

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

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

  // repeated .pg_query.Node locked_rels = 1 [json_name = "lockedRels"];
  total_size += 1UL * this->_internal_locked_rels_size();
  for (const auto& msg : this->_internal_locked_rels()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData LockingClause::_class_data_ = {
    LockingClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* LockingClause::GetClassData() const {
  return &_class_data_;
}

void LockingClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<LockingClause*>(&to_msg);
  auto& from = static_cast<const LockingClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockingClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_locked_rels()->MergeFrom(
      from._internal_locked_rels());
  if (from._internal_strength() != 0) {
    _this->_internal_set_strength(from._internal_strength());
  }
  if (from._internal_wait_policy() != 0) {
    _this->_internal_set_wait_policy(from._internal_wait_policy());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool LockingClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* LockingClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void LockingClause::InternalSwap(LockingClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.locked_rels_.InternalSwap(&other->_impl_.locked_rels_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.wait_policy_)
      + sizeof(LockingClause::_impl_.wait_policy_)
      - PROTOBUF_FIELD_OFFSET(LockingClause, _impl_.strength_)>(
          reinterpret_cast<char*>(&_impl_.strength_),
          reinterpret_cast<char*>(&other->_impl_.strength_));
}

::google::protobuf::Metadata LockingClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[101]);
}
// ===================================================================

class XmlSerialize::_Internal {
 public:
  using HasBits = decltype(std::declval<XmlSerialize>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const XmlSerialize* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::TypeName& type_name(const XmlSerialize* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& XmlSerialize::_Internal::expr(const XmlSerialize* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::TypeName& XmlSerialize::_Internal::type_name(const XmlSerialize* msg) {
  return *msg->_impl_.type_name_;
}
XmlSerialize::XmlSerialize(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.XmlSerialize)
}
inline PROTOBUF_NDEBUG_INLINE XmlSerialize::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

XmlSerialize::XmlSerialize(
    ::google::protobuf::Arena* arena,
    const XmlSerialize& from)
    : ::google::protobuf::Message(arena) {
  XmlSerialize* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.type_name_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, xmloption_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, xmloption_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, xmloption_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.XmlSerialize)
}
inline PROTOBUF_NDEBUG_INLINE XmlSerialize::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void XmlSerialize::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
XmlSerialize::~XmlSerialize() {
  // @@protoc_insertion_point(destructor:pg_query.XmlSerialize)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void XmlSerialize::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  delete _impl_.type_name_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void XmlSerialize::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.XmlSerialize)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
  }
  ::memset(&_impl_.xmloption_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.xmloption_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* XmlSerialize::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> XmlSerialize::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_XmlSerialize_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlSerialize, _impl_.xmloption_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.xmloption_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.expr_)}},
    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.type_name_)}},
    // bool indent = 4 [json_name = "indent"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(XmlSerialize, _impl_.indent_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.indent_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(XmlSerialize, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
    {PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.xmloption_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.type_name_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool indent = 4 [json_name = "indent"];
    {PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.indent_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
  }}, {{
  }},
};

::uint8_t* XmlSerialize::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.XmlSerialize)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_xmloption(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // bool indent = 4 [json_name = "indent"];
  if (this->_internal_indent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_indent(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.XmlSerialize)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node expr = 2 [json_name = "expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

  }
  // .pg_query.XmlOptionType xmloption = 1 [json_name = "xmloption"];
  if (this->_internal_xmloption() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_xmloption());
  }

  // bool indent = 4 [json_name = "indent"];
  if (this->_internal_indent() != 0) {
    total_size += 2;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData XmlSerialize::_class_data_ = {
    XmlSerialize::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* XmlSerialize::GetClassData() const {
  return &_class_data_;
}

void XmlSerialize::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<XmlSerialize*>(&to_msg);
  auto& from = static_cast<const XmlSerialize&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.XmlSerialize)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
  }
  if (from._internal_xmloption() != 0) {
    _this->_internal_set_xmloption(from._internal_xmloption());
  }
  if (from._internal_indent() != 0) {
    _this->_internal_set_indent(from._internal_indent());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool XmlSerialize::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* XmlSerialize::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void XmlSerialize::InternalSwap(XmlSerialize* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.location_)
      + sizeof(XmlSerialize::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(XmlSerialize, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata XmlSerialize::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[102]);
}
// ===================================================================

class PartitionElem::_Internal {
 public:
  using HasBits = decltype(std::declval<PartitionElem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const PartitionElem* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& PartitionElem::_Internal::expr(const PartitionElem* msg) {
  return *msg->_impl_.expr_;
}
PartitionElem::PartitionElem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionElem)
}
inline PROTOBUF_NDEBUG_INLINE PartitionElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        collation_{visibility, arena, from.collation_},
        opclass_{visibility, arena, from.opclass_},
        name_(arena, from.name_) {}

PartitionElem::PartitionElem(
    ::google::protobuf::Arena* arena,
    const PartitionElem& from)
    : ::google::protobuf::Message(arena) {
  PartitionElem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionElem)
}
inline PROTOBUF_NDEBUG_INLINE PartitionElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        collation_{visibility, arena},
        opclass_{visibility, arena},
        name_(arena) {}

inline void PartitionElem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
PartitionElem::~PartitionElem() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionElem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PartitionElem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PartitionElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionElem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collation_.Clear();
  _impl_.opclass_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.expr_ != nullptr);
    _impl_.expr_->Clear();
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PartitionElem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 35, 2> PartitionElem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PartitionElem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.name_)}},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.expr_)}},
    // repeated .pg_query.Node collation = 3 [json_name = "collation"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.collation_)}},
    // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.opclass_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionElem, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node collation = 3 [json_name = "collation"];
    {PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.collation_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
    {PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.opclass_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\4\0\0\0\0\0\0"
    "pg_query.PartitionElem"
    "name"
  }},
};

::uint8_t* PartitionElem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionElem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.PartitionElem.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node collation = 3 [json_name = "collation"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collation_size()); i < n; i++) {
    const auto& repfield = this->_internal_collation().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclass_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclass().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PartitionElem)
  return target;
}

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

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

  // repeated .pg_query.Node collation = 3 [json_name = "collation"];
  total_size += 1UL * this->_internal_collation_size();
  for (const auto& msg : this->_internal_collation()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opclass = 4 [json_name = "opclass"];
  total_size += 1UL * this->_internal_opclass_size();
  for (const auto& msg : this->_internal_opclass()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PartitionElem::_class_data_ = {
    PartitionElem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PartitionElem::GetClassData() const {
  return &_class_data_;
}

void PartitionElem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PartitionElem*>(&to_msg);
  auto& from = static_cast<const PartitionElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionElem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_collation()->MergeFrom(
      from._internal_collation());
  _this->_internal_mutable_opclass()->MergeFrom(
      from._internal_opclass());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PartitionElem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PartitionElem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PartitionElem::InternalSwap(PartitionElem* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.collation_.InternalSwap(&other->_impl_.collation_);
  _impl_.opclass_.InternalSwap(&other->_impl_.opclass_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.location_)
      + sizeof(PartitionElem::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionElem, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata PartitionElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[103]);
}
// ===================================================================

class PartitionSpec::_Internal {
 public:
};

PartitionSpec::PartitionSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionSpec)
}
inline PROTOBUF_NDEBUG_INLINE PartitionSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : part_params_{visibility, arena, from.part_params_},
        _cached_size_{0} {}

PartitionSpec::PartitionSpec(
    ::google::protobuf::Arena* arena,
    const PartitionSpec& from)
    : ::google::protobuf::Message(arena) {
  PartitionSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, strategy_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, strategy_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, strategy_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionSpec)
}
inline PROTOBUF_NDEBUG_INLINE PartitionSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : part_params_{visibility, arena},
        _cached_size_{0} {}

inline void PartitionSpec::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, strategy_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, strategy_) +
               sizeof(Impl_::location_));
}
PartitionSpec::~PartitionSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionSpec)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PartitionSpec::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PartitionSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionSpec)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.part_params_.Clear();
  ::memset(&_impl_.strategy_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.strategy_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PartitionSpec::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> PartitionSpec::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PartitionSpec_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionSpec, _impl_.strategy_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.strategy_)}},
    // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.part_params_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionSpec, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"];
    {PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.strategy_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
    {PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.part_params_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* PartitionSpec::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionSpec)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"];
  if (this->_internal_strategy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_strategy(), target);
  }

  // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_part_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_part_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PartitionSpec)
  return target;
}

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

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

  // repeated .pg_query.Node part_params = 2 [json_name = "partParams"];
  total_size += 1UL * this->_internal_part_params_size();
  for (const auto& msg : this->_internal_part_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.PartitionStrategy strategy = 1 [json_name = "strategy"];
  if (this->_internal_strategy() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_strategy());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PartitionSpec::_class_data_ = {
    PartitionSpec::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PartitionSpec::GetClassData() const {
  return &_class_data_;
}

void PartitionSpec::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PartitionSpec*>(&to_msg);
  auto& from = static_cast<const PartitionSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_part_params()->MergeFrom(
      from._internal_part_params());
  if (from._internal_strategy() != 0) {
    _this->_internal_set_strategy(from._internal_strategy());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PartitionSpec::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PartitionSpec::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PartitionSpec::InternalSwap(PartitionSpec* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.part_params_.InternalSwap(&other->_impl_.part_params_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.location_)
      + sizeof(PartitionSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionSpec, _impl_.strategy_)>(
          reinterpret_cast<char*>(&_impl_.strategy_),
          reinterpret_cast<char*>(&other->_impl_.strategy_));
}

::google::protobuf::Metadata PartitionSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[104]);
}
// ===================================================================

class PartitionBoundSpec::_Internal {
 public:
};

PartitionBoundSpec::PartitionBoundSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionBoundSpec)
}
inline PROTOBUF_NDEBUG_INLINE PartitionBoundSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : listdatums_{visibility, arena, from.listdatums_},
        lowerdatums_{visibility, arena, from.lowerdatums_},
        upperdatums_{visibility, arena, from.upperdatums_},
        strategy_(arena, from.strategy_),
        _cached_size_{0} {}

PartitionBoundSpec::PartitionBoundSpec(
    ::google::protobuf::Arena* arena,
    const PartitionBoundSpec& from)
    : ::google::protobuf::Message(arena) {
  PartitionBoundSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_default_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, is_default_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, is_default_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionBoundSpec)
}
inline PROTOBUF_NDEBUG_INLINE PartitionBoundSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : listdatums_{visibility, arena},
        lowerdatums_{visibility, arena},
        upperdatums_{visibility, arena},
        strategy_(arena),
        _cached_size_{0} {}

inline void PartitionBoundSpec::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_default_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, is_default_) +
               sizeof(Impl_::location_));
}
PartitionBoundSpec::~PartitionBoundSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionBoundSpec)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PartitionBoundSpec::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.strategy_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PartitionBoundSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionBoundSpec)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.listdatums_.Clear();
  _impl_.lowerdatums_.Clear();
  _impl_.upperdatums_.Clear();
  _impl_.strategy_.ClearToEmpty();
  ::memset(&_impl_.is_default_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.is_default_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PartitionBoundSpec::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 3, 52, 2> PartitionBoundSpec::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PartitionBoundSpec_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionBoundSpec, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.location_)}},
    // string strategy = 1 [json_name = "strategy"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.strategy_)}},
    // bool is_default = 2 [json_name = "is_default"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(PartitionBoundSpec, _impl_.is_default_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.is_default_)}},
    // int32 modulus = 3 [json_name = "modulus"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionBoundSpec, _impl_.modulus_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.modulus_)}},
    // int32 remainder = 4 [json_name = "remainder"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionBoundSpec, _impl_.remainder_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.remainder_)}},
    // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.listdatums_)}},
    // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 1, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.lowerdatums_)}},
    // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 2, PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.upperdatums_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string strategy = 1 [json_name = "strategy"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.strategy_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool is_default = 2 [json_name = "is_default"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.is_default_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 modulus = 3 [json_name = "modulus"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.modulus_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 remainder = 4 [json_name = "remainder"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.remainder_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.listdatums_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.lowerdatums_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.upperdatums_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\33\10\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.PartitionBoundSpec"
    "strategy"
  }},
};

::uint8_t* PartitionBoundSpec::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionBoundSpec)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    const std::string& _s = this->_internal_strategy();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.PartitionBoundSpec.strategy");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool is_default = 2 [json_name = "is_default"];
  if (this->_internal_is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_is_default(), target);
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->_internal_modulus() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_modulus(), target);
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->_internal_remainder() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_remainder(), target);
  }

  // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_listdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_listdatums().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_lowerdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_lowerdatums().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_upperdatums_size()); i < n; i++) {
    const auto& repfield = this->_internal_upperdatums().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PartitionBoundSpec)
  return target;
}

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

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

  // repeated .pg_query.Node listdatums = 5 [json_name = "listdatums"];
  total_size += 1UL * this->_internal_listdatums_size();
  for (const auto& msg : this->_internal_listdatums()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node lowerdatums = 6 [json_name = "lowerdatums"];
  total_size += 1UL * this->_internal_lowerdatums_size();
  for (const auto& msg : this->_internal_lowerdatums()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node upperdatums = 7 [json_name = "upperdatums"];
  total_size += 1UL * this->_internal_upperdatums_size();
  for (const auto& msg : this->_internal_upperdatums()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string strategy = 1 [json_name = "strategy"];
  if (!this->_internal_strategy().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_strategy());
  }

  // bool is_default = 2 [json_name = "is_default"];
  if (this->_internal_is_default() != 0) {
    total_size += 2;
  }

  // int32 modulus = 3 [json_name = "modulus"];
  if (this->_internal_modulus() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_modulus());
  }

  // int32 remainder = 4 [json_name = "remainder"];
  if (this->_internal_remainder() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_remainder());
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PartitionBoundSpec::_class_data_ = {
    PartitionBoundSpec::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PartitionBoundSpec::GetClassData() const {
  return &_class_data_;
}

void PartitionBoundSpec::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PartitionBoundSpec*>(&to_msg);
  auto& from = static_cast<const PartitionBoundSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionBoundSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_listdatums()->MergeFrom(
      from._internal_listdatums());
  _this->_internal_mutable_lowerdatums()->MergeFrom(
      from._internal_lowerdatums());
  _this->_internal_mutable_upperdatums()->MergeFrom(
      from._internal_upperdatums());
  if (!from._internal_strategy().empty()) {
    _this->_internal_set_strategy(from._internal_strategy());
  }
  if (from._internal_is_default() != 0) {
    _this->_internal_set_is_default(from._internal_is_default());
  }
  if (from._internal_modulus() != 0) {
    _this->_internal_set_modulus(from._internal_modulus());
  }
  if (from._internal_remainder() != 0) {
    _this->_internal_set_remainder(from._internal_remainder());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PartitionBoundSpec::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PartitionBoundSpec::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PartitionBoundSpec::InternalSwap(PartitionBoundSpec* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.listdatums_.InternalSwap(&other->_impl_.listdatums_);
  _impl_.lowerdatums_.InternalSwap(&other->_impl_.lowerdatums_);
  _impl_.upperdatums_.InternalSwap(&other->_impl_.upperdatums_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.strategy_, &other->_impl_.strategy_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.location_)
      + sizeof(PartitionBoundSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionBoundSpec, _impl_.is_default_)>(
          reinterpret_cast<char*>(&_impl_.is_default_),
          reinterpret_cast<char*>(&other->_impl_.is_default_));
}

::google::protobuf::Metadata PartitionBoundSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[105]);
}
// ===================================================================

class PartitionRangeDatum::_Internal {
 public:
  using HasBits = decltype(std::declval<PartitionRangeDatum>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_._has_bits_);
  static const ::pg_query::Node& value(const PartitionRangeDatum* msg);
  static void set_has_value(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& PartitionRangeDatum::_Internal::value(const PartitionRangeDatum* msg) {
  return *msg->_impl_.value_;
}
PartitionRangeDatum::PartitionRangeDatum(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionRangeDatum)
}
inline PROTOBUF_NDEBUG_INLINE PartitionRangeDatum::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PartitionRangeDatum::PartitionRangeDatum(
    ::google::protobuf::Arena* arena,
    const PartitionRangeDatum& from)
    : ::google::protobuf::Message(arena) {
  PartitionRangeDatum* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.value_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.value_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionRangeDatum)
}
inline PROTOBUF_NDEBUG_INLINE PartitionRangeDatum::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void PartitionRangeDatum::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, value_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, value_) +
               sizeof(Impl_::location_));
}
PartitionRangeDatum::~PartitionRangeDatum() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionRangeDatum)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PartitionRangeDatum::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.value_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PartitionRangeDatum::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionRangeDatum)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.value_ != nullptr);
    _impl_.value_->Clear();
  }
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PartitionRangeDatum::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> PartitionRangeDatum::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PartitionRangeDatum_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionRangeDatum, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.kind_)}},
    // .pg_query.Node value = 2 [json_name = "value"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.value_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PartitionRangeDatum, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node value = 2 [json_name = "value"];
    {PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.value_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* PartitionRangeDatum::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionRangeDatum)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node value = 2 [json_name = "value"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::value(this),
        _Internal::value(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PartitionRangeDatum)
  return target;
}

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

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

  // .pg_query.Node value = 2 [json_name = "value"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.value_);
  }

  // .pg_query.PartitionRangeDatumKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PartitionRangeDatum::_class_data_ = {
    PartitionRangeDatum::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PartitionRangeDatum::GetClassData() const {
  return &_class_data_;
}

void PartitionRangeDatum::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PartitionRangeDatum*>(&to_msg);
  auto& from = static_cast<const PartitionRangeDatum&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionRangeDatum)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_value()->::pg_query::Node::MergeFrom(
        from._internal_value());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PartitionRangeDatum::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PartitionRangeDatum::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PartitionRangeDatum::InternalSwap(PartitionRangeDatum* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.location_)
      + sizeof(PartitionRangeDatum::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PartitionRangeDatum, _impl_.value_)>(
          reinterpret_cast<char*>(&_impl_.value_),
          reinterpret_cast<char*>(&other->_impl_.value_));
}

::google::protobuf::Metadata PartitionRangeDatum::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[106]);
}
// ===================================================================

class SinglePartitionSpec::_Internal {
 public:
};

SinglePartitionSpec::SinglePartitionSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  // @@protoc_insertion_point(arena_constructor:pg_query.SinglePartitionSpec)
}
SinglePartitionSpec::SinglePartitionSpec(
    ::google::protobuf::Arena* arena,
    const SinglePartitionSpec& from)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  SinglePartitionSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:pg_query.SinglePartitionSpec)
}









::google::protobuf::Metadata SinglePartitionSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[107]);
}
// ===================================================================

class PartitionCmd::_Internal {
 public:
  using HasBits = decltype(std::declval<PartitionCmd>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_._has_bits_);
  static const ::pg_query::RangeVar& name(const PartitionCmd* msg);
  static void set_has_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::PartitionBoundSpec& bound(const PartitionCmd* msg);
  static void set_has_bound(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& PartitionCmd::_Internal::name(const PartitionCmd* msg) {
  return *msg->_impl_.name_;
}
const ::pg_query::PartitionBoundSpec& PartitionCmd::_Internal::bound(const PartitionCmd* msg) {
  return *msg->_impl_.bound_;
}
PartitionCmd::PartitionCmd(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PartitionCmd)
}
inline PROTOBUF_NDEBUG_INLINE PartitionCmd::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

PartitionCmd::PartitionCmd(
    ::google::protobuf::Arena* arena,
    const PartitionCmd& from)
    : ::google::protobuf::Message(arena) {
  PartitionCmd* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.name_)
                : nullptr;
  _impl_.bound_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::PartitionBoundSpec>(arena, *from._impl_.bound_)
                : nullptr;
  _impl_.concurrent_ = from._impl_.concurrent_;

  // @@protoc_insertion_point(copy_constructor:pg_query.PartitionCmd)
}
inline PROTOBUF_NDEBUG_INLINE PartitionCmd::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void PartitionCmd::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, name_),
           0,
           offsetof(Impl_, concurrent_) -
               offsetof(Impl_, name_) +
               sizeof(Impl_::concurrent_));
}
PartitionCmd::~PartitionCmd() {
  // @@protoc_insertion_point(destructor:pg_query.PartitionCmd)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PartitionCmd::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.name_;
  delete _impl_.bound_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PartitionCmd::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PartitionCmd)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.name_ != nullptr);
      _impl_.name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.bound_ != nullptr);
      _impl_.bound_->Clear();
    }
  }
  _impl_.concurrent_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PartitionCmd::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> PartitionCmd::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PartitionCmd_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.name_)}},
    // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.bound_)}},
    // bool concurrent = 3 [json_name = "concurrent"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(PartitionCmd, _impl_.concurrent_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.concurrent_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
    {PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.bound_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool concurrent = 3 [json_name = "concurrent"];
    {PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.concurrent_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionBoundSpec>()},
  }}, {{
  }},
};

::uint8_t* PartitionCmd::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PartitionCmd)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar name = 1 [json_name = "name"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::name(this),
        _Internal::name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::bound(this),
        _Internal::bound(this).GetCachedSize(), target, stream);
  }

  // bool concurrent = 3 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_concurrent(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PartitionCmd)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar name = 1 [json_name = "name"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.name_);
    }

    // .pg_query.PartitionBoundSpec bound = 2 [json_name = "bound"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.bound_);
    }

  }
  // bool concurrent = 3 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PartitionCmd::_class_data_ = {
    PartitionCmd::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PartitionCmd::GetClassData() const {
  return &_class_data_;
}

void PartitionCmd::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PartitionCmd*>(&to_msg);
  auto& from = static_cast<const PartitionCmd&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PartitionCmd)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_name()->::pg_query::RangeVar::MergeFrom(
          from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_bound()->::pg_query::PartitionBoundSpec::MergeFrom(
          from._internal_bound());
    }
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PartitionCmd::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PartitionCmd::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PartitionCmd::InternalSwap(PartitionCmd* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.concurrent_)
      + sizeof(PartitionCmd::_impl_.concurrent_)
      - PROTOBUF_FIELD_OFFSET(PartitionCmd, _impl_.name_)>(
          reinterpret_cast<char*>(&_impl_.name_),
          reinterpret_cast<char*>(&other->_impl_.name_));
}

::google::protobuf::Metadata PartitionCmd::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[108]);
}
// ===================================================================

class RangeTblEntry::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeTblEntry>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_._has_bits_);
  static const ::pg_query::Alias& alias(const RangeTblEntry* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Alias& eref(const RangeTblEntry* msg);
  static void set_has_eref(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::TableSampleClause& tablesample(const RangeTblEntry* msg);
  static void set_has_tablesample(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::Query& subquery(const RangeTblEntry* msg);
  static void set_has_subquery(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::Alias& join_using_alias(const RangeTblEntry* msg);
  static void set_has_join_using_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static const ::pg_query::TableFunc& tablefunc(const RangeTblEntry* msg);
  static void set_has_tablefunc(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
};

const ::pg_query::Alias& RangeTblEntry::_Internal::alias(const RangeTblEntry* msg) {
  return *msg->_impl_.alias_;
}
const ::pg_query::Alias& RangeTblEntry::_Internal::eref(const RangeTblEntry* msg) {
  return *msg->_impl_.eref_;
}
const ::pg_query::TableSampleClause& RangeTblEntry::_Internal::tablesample(const RangeTblEntry* msg) {
  return *msg->_impl_.tablesample_;
}
const ::pg_query::Query& RangeTblEntry::_Internal::subquery(const RangeTblEntry* msg) {
  return *msg->_impl_.subquery_;
}
const ::pg_query::Alias& RangeTblEntry::_Internal::join_using_alias(const RangeTblEntry* msg) {
  return *msg->_impl_.join_using_alias_;
}
const ::pg_query::TableFunc& RangeTblEntry::_Internal::tablefunc(const RangeTblEntry* msg) {
  return *msg->_impl_.tablefunc_;
}
RangeTblEntry::RangeTblEntry(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblEntry)
}
inline PROTOBUF_NDEBUG_INLINE RangeTblEntry::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        joinaliasvars_{visibility, arena, from.joinaliasvars_},
        joinleftcols_{visibility, arena, from.joinleftcols_},
        joinrightcols_{visibility, arena, from.joinrightcols_},
        functions_{visibility, arena, from.functions_},
        values_lists_{visibility, arena, from.values_lists_},
        coltypes_{visibility, arena, from.coltypes_},
        coltypmods_{visibility, arena, from.coltypmods_},
        colcollations_{visibility, arena, from.colcollations_},
        security_quals_{visibility, arena, from.security_quals_},
        relkind_(arena, from.relkind_),
        ctename_(arena, from.ctename_),
        enrname_(arena, from.enrname_) {}

RangeTblEntry::RangeTblEntry(
    ::google::protobuf::Arena* arena,
    const RangeTblEntry& from)
    : ::google::protobuf::Message(arena) {
  RangeTblEntry* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.alias_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  _impl_.eref_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.eref_)
                : nullptr;
  _impl_.tablesample_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::TableSampleClause>(arena, *from._impl_.tablesample_)
                : nullptr;
  _impl_.subquery_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::Query>(arena, *from._impl_.subquery_)
                : nullptr;
  _impl_.join_using_alias_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.join_using_alias_)
                : nullptr;
  _impl_.tablefunc_ = (cached_has_bits & 0x00000020u)
                ? CreateMaybeMessage<::pg_query::TableFunc>(arena, *from._impl_.tablefunc_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, rtekind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, rtekind_),
           offsetof(Impl_, in_from_cl_) -
               offsetof(Impl_, rtekind_) +
               sizeof(Impl_::in_from_cl_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblEntry)
}
inline PROTOBUF_NDEBUG_INLINE RangeTblEntry::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        joinaliasvars_{visibility, arena},
        joinleftcols_{visibility, arena},
        joinrightcols_{visibility, arena},
        functions_{visibility, arena},
        values_lists_{visibility, arena},
        coltypes_{visibility, arena},
        coltypmods_{visibility, arena},
        colcollations_{visibility, arena},
        security_quals_{visibility, arena},
        relkind_(arena),
        ctename_(arena),
        enrname_(arena) {}

inline void RangeTblEntry::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, alias_),
           0,
           offsetof(Impl_, in_from_cl_) -
               offsetof(Impl_, alias_) +
               sizeof(Impl_::in_from_cl_));
}
RangeTblEntry::~RangeTblEntry() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblEntry)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTblEntry::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.relkind_.Destroy();
  _impl_.ctename_.Destroy();
  _impl_.enrname_.Destroy();
  delete _impl_.alias_;
  delete _impl_.eref_;
  delete _impl_.tablesample_;
  delete _impl_.subquery_;
  delete _impl_.join_using_alias_;
  delete _impl_.tablefunc_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTblEntry::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblEntry)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.joinaliasvars_.Clear();
  _impl_.joinleftcols_.Clear();
  _impl_.joinrightcols_.Clear();
  _impl_.functions_.Clear();
  _impl_.values_lists_.Clear();
  _impl_.coltypes_.Clear();
  _impl_.coltypmods_.Clear();
  _impl_.colcollations_.Clear();
  _impl_.security_quals_.Clear();
  _impl_.relkind_.ClearToEmpty();
  _impl_.ctename_.ClearToEmpty();
  _impl_.enrname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.alias_ != nullptr);
      _impl_.alias_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.eref_ != nullptr);
      _impl_.eref_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.tablesample_ != nullptr);
      _impl_.tablesample_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.subquery_ != nullptr);
      _impl_.subquery_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.join_using_alias_ != nullptr);
      _impl_.join_using_alias_->Clear();
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(_impl_.tablefunc_ != nullptr);
      _impl_.tablefunc_->Clear();
    }
  }
  ::memset(&_impl_.rtekind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.in_from_cl_) -
      reinterpret_cast<char*>(&_impl_.rtekind_)) + sizeof(_impl_.in_from_cl_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTblEntry::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 32, 15, 84, 2> RangeTblEntry::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_._has_bits_),
    0, // no _extensions_
    32, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    0,  // skipmap
    offsetof(decltype(_table_), field_entries),
    32,  // num_field_entries
    15,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeTblEntry_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Alias alias = 1 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.alias_)}},
    // .pg_query.Alias eref = 2 [json_name = "eref"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.eref_)}},
    // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.rtekind_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.rtekind_)}},
    // uint32 relid = 4 [json_name = "relid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.relid_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.relid_)}},
    // bool inh = 5 [json_name = "inh"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeTblEntry, _impl_.inh_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.inh_)}},
    // string relkind = 6 [json_name = "relkind"];
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.relkind_)}},
    // int32 rellockmode = 7 [json_name = "rellockmode"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.rellockmode_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.rellockmode_)}},
    // uint32 perminfoindex = 8 [json_name = "perminfoindex"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.perminfoindex_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.perminfoindex_)}},
    // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"];
    {::_pbi::TcParser::FastMtS1,
     {74, 2, 2, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.tablesample_)}},
    // .pg_query.Query subquery = 10 [json_name = "subquery"];
    {::_pbi::TcParser::FastMtS1,
     {82, 3, 3, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.subquery_)}},
    // bool security_barrier = 11 [json_name = "security_barrier"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RangeTblEntry, _impl_.security_barrier_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.security_barrier_)}},
    // .pg_query.JoinType jointype = 12 [json_name = "jointype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.jointype_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.jointype_)}},
    // int32 joinmergedcols = 13 [json_name = "joinmergedcols"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblEntry, _impl_.joinmergedcols_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinmergedcols_)}},
    // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"];
    {::_pbi::TcParser::FastMtR1,
     {114, 63, 4, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinaliasvars_)}},
    // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"];
    {::_pbi::TcParser::FastMtR1,
     {122, 63, 5, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinleftcols_)}},
    // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"];
    {::_pbi::TcParser::FastMtR2,
     {386, 63, 6, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinrightcols_)}},
    // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"];
    {::_pbi::TcParser::FastMtS2,
     {394, 4, 7, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.join_using_alias_)}},
    // repeated .pg_query.Node functions = 18 [json_name = "functions"];
    {::_pbi::TcParser::FastMtR2,
     {402, 63, 8, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.functions_)}},
    // bool funcordinality = 19 [json_name = "funcordinality"];
    {::_pbi::TcParser::FastV8S2,
     {408, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.funcordinality_)}},
    // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"];
    {::_pbi::TcParser::FastMtS2,
     {418, 5, 9, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.tablefunc_)}},
    // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"];
    {::_pbi::TcParser::FastMtR2,
     {426, 63, 10, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.values_lists_)}},
    // string ctename = 22 [json_name = "ctename"];
    {::_pbi::TcParser::FastUS2,
     {434, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.ctename_)}},
    // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"];
    {::_pbi::TcParser::FastV32S2,
     {440, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.ctelevelsup_)}},
    // bool self_reference = 24 [json_name = "self_reference"];
    {::_pbi::TcParser::FastV8S2,
     {448, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.self_reference_)}},
    // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"];
    {::_pbi::TcParser::FastMtR2,
     {458, 63, 11, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.coltypes_)}},
    // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"];
    {::_pbi::TcParser::FastMtR2,
     {466, 63, 12, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.coltypmods_)}},
    // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"];
    {::_pbi::TcParser::FastMtR2,
     {474, 63, 13, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.colcollations_)}},
    // string enrname = 28 [json_name = "enrname"];
    {::_pbi::TcParser::FastUS2,
     {482, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.enrname_)}},
    // double enrtuples = 29 [json_name = "enrtuples"];
    {::_pbi::TcParser::FastF64S2,
     {489, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.enrtuples_)}},
    // bool lateral = 30 [json_name = "lateral"];
    {::_pbi::TcParser::FastV8S2,
     {496, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.lateral_)}},
    // bool in_from_cl = 31 [json_name = "inFromCl"];
    {::_pbi::TcParser::FastV8S2,
     {504, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.in_from_cl_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Alias alias = 1 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.alias_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias eref = 2 [json_name = "eref"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.eref_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.rtekind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // uint32 relid = 4 [json_name = "relid"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.relid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool inh = 5 [json_name = "inh"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.inh_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string relkind = 6 [json_name = "relkind"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.relkind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 rellockmode = 7 [json_name = "rellockmode"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.rellockmode_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 perminfoindex = 8 [json_name = "perminfoindex"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.perminfoindex_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.tablesample_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Query subquery = 10 [json_name = "subquery"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.subquery_), _Internal::kHasBitsOffset + 3, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool security_barrier = 11 [json_name = "security_barrier"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.security_barrier_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.JoinType jointype = 12 [json_name = "jointype"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.jointype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 joinmergedcols = 13 [json_name = "joinmergedcols"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinmergedcols_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinaliasvars_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinleftcols_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.joinrightcols_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.join_using_alias_), _Internal::kHasBitsOffset + 4, 7,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node functions = 18 [json_name = "functions"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.functions_), -1, 8,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool funcordinality = 19 [json_name = "funcordinality"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.funcordinality_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.tablefunc_), _Internal::kHasBitsOffset + 5, 9,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.values_lists_), -1, 10,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string ctename = 22 [json_name = "ctename"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.ctename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.ctelevelsup_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool self_reference = 24 [json_name = "self_reference"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.self_reference_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.coltypes_), -1, 11,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.coltypmods_), -1, 12,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.colcollations_), -1, 13,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string enrname = 28 [json_name = "enrname"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.enrname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // double enrtuples = 29 [json_name = "enrtuples"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.enrtuples_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kDouble)},
    // bool lateral = 30 [json_name = "lateral"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.lateral_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool in_from_cl = 31 [json_name = "inFromCl"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.in_from_cl_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
    {PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.security_quals_), -1, 14,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::TableSampleClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Query>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TableFunc>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\0\0\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\7\0\0\0\0\0\7\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.RangeTblEntry"
    "relkind"
    "ctename"
    "enrname"
  }},
};

::uint8_t* RangeTblEntry::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblEntry)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Alias alias = 1 [json_name = "alias"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias eref = 2 [json_name = "eref"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::eref(this),
        _Internal::eref(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"];
  if (this->_internal_rtekind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_rtekind(), target);
  }

  // uint32 relid = 4 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_relid(), target);
  }

  // bool inh = 5 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_inh(), target);
  }

  // string relkind = 6 [json_name = "relkind"];
  if (!this->_internal_relkind().empty()) {
    const std::string& _s = this->_internal_relkind();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeTblEntry.relkind");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // int32 rellockmode = 7 [json_name = "rellockmode"];
  if (this->_internal_rellockmode() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_rellockmode(), target);
  }

  // uint32 perminfoindex = 8 [json_name = "perminfoindex"];
  if (this->_internal_perminfoindex() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this->_internal_perminfoindex(), target);
  }

  // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, _Internal::tablesample(this),
        _Internal::tablesample(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Query subquery = 10 [json_name = "subquery"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, _Internal::subquery(this),
        _Internal::subquery(this).GetCachedSize(), target, stream);
  }

  // bool security_barrier = 11 [json_name = "security_barrier"];
  if (this->_internal_security_barrier() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_security_barrier(), target);
  }

  // .pg_query.JoinType jointype = 12 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        12, this->_internal_jointype(), target);
  }

  // int32 joinmergedcols = 13 [json_name = "joinmergedcols"];
  if (this->_internal_joinmergedcols() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<13>(
            stream, this->_internal_joinmergedcols(), target);
  }

  // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinaliasvars_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinaliasvars().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinleftcols_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinleftcols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_joinrightcols_size()); i < n; i++) {
    const auto& repfield = this->_internal_joinrightcols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        17, _Internal::join_using_alias(this),
        _Internal::join_using_alias(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node functions = 18 [json_name = "functions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_functions_size()); i < n; i++) {
    const auto& repfield = this->_internal_functions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(18, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool funcordinality = 19 [json_name = "funcordinality"];
  if (this->_internal_funcordinality() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this->_internal_funcordinality(), target);
  }

  // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        20, _Internal::tablefunc(this),
        _Internal::tablefunc(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_lists_size()); i < n; i++) {
    const auto& repfield = this->_internal_values_lists().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(21, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string ctename = 22 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    const std::string& _s = this->_internal_ctename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeTblEntry.ctename");
    target = stream->WriteStringMaybeAliased(22, _s, target);
  }

  // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"];
  if (this->_internal_ctelevelsup() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        23, this->_internal_ctelevelsup(), target);
  }

  // bool self_reference = 24 [json_name = "self_reference"];
  if (this->_internal_self_reference() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        24, this->_internal_self_reference(), target);
  }

  // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(25, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_coltypmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(26, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_colcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_colcollations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(27, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string enrname = 28 [json_name = "enrname"];
  if (!this->_internal_enrname().empty()) {
    const std::string& _s = this->_internal_enrname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RangeTblEntry.enrname");
    target = stream->WriteStringMaybeAliased(28, _s, target);
  }

  // double enrtuples = 29 [json_name = "enrtuples"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_enrtuples = this->_internal_enrtuples();
  ::uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteDoubleToArray(
        29, this->_internal_enrtuples(), target);
  }

  // bool lateral = 30 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        30, this->_internal_lateral(), target);
  }

  // bool in_from_cl = 31 [json_name = "inFromCl"];
  if (this->_internal_in_from_cl() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        31, this->_internal_in_from_cl(), target);
  }

  // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_security_quals_size()); i < n; i++) {
    const auto& repfield = this->_internal_security_quals().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(32, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTblEntry)
  return target;
}

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

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

  // repeated .pg_query.Node joinaliasvars = 14 [json_name = "joinaliasvars"];
  total_size += 1UL * this->_internal_joinaliasvars_size();
  for (const auto& msg : this->_internal_joinaliasvars()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node joinleftcols = 15 [json_name = "joinleftcols"];
  total_size += 1UL * this->_internal_joinleftcols_size();
  for (const auto& msg : this->_internal_joinleftcols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node joinrightcols = 16 [json_name = "joinrightcols"];
  total_size += 2UL * this->_internal_joinrightcols_size();
  for (const auto& msg : this->_internal_joinrightcols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node functions = 18 [json_name = "functions"];
  total_size += 2UL * this->_internal_functions_size();
  for (const auto& msg : this->_internal_functions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node values_lists = 21 [json_name = "values_lists"];
  total_size += 2UL * this->_internal_values_lists_size();
  for (const auto& msg : this->_internal_values_lists()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coltypes = 25 [json_name = "coltypes"];
  total_size += 2UL * this->_internal_coltypes_size();
  for (const auto& msg : this->_internal_coltypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node coltypmods = 26 [json_name = "coltypmods"];
  total_size += 2UL * this->_internal_coltypmods_size();
  for (const auto& msg : this->_internal_coltypmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node colcollations = 27 [json_name = "colcollations"];
  total_size += 2UL * this->_internal_colcollations_size();
  for (const auto& msg : this->_internal_colcollations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node security_quals = 32 [json_name = "securityQuals"];
  total_size += 2UL * this->_internal_security_quals_size();
  for (const auto& msg : this->_internal_security_quals()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string relkind = 6 [json_name = "relkind"];
  if (!this->_internal_relkind().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_relkind());
  }

  // string ctename = 22 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_ctename());
  }

  // string enrname = 28 [json_name = "enrname"];
  if (!this->_internal_enrname().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_enrname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    // .pg_query.Alias alias = 1 [json_name = "alias"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
    }

    // .pg_query.Alias eref = 2 [json_name = "eref"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.eref_);
    }

    // .pg_query.TableSampleClause tablesample = 9 [json_name = "tablesample"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.tablesample_);
    }

    // .pg_query.Query subquery = 10 [json_name = "subquery"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.subquery_);
    }

    // .pg_query.Alias join_using_alias = 17 [json_name = "join_using_alias"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.join_using_alias_);
    }

    // .pg_query.TableFunc tablefunc = 20 [json_name = "tablefunc"];
    if (cached_has_bits & 0x00000020u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.tablefunc_);
    }

  }
  // .pg_query.RTEKind rtekind = 3 [json_name = "rtekind"];
  if (this->_internal_rtekind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_rtekind());
  }

  // uint32 relid = 4 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_relid());
  }

  // int32 rellockmode = 7 [json_name = "rellockmode"];
  if (this->_internal_rellockmode() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_rellockmode());
  }

  // uint32 perminfoindex = 8 [json_name = "perminfoindex"];
  if (this->_internal_perminfoindex() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_perminfoindex());
  }

  // .pg_query.JoinType jointype = 12 [json_name = "jointype"];
  if (this->_internal_jointype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_jointype());
  }

  // int32 joinmergedcols = 13 [json_name = "joinmergedcols"];
  if (this->_internal_joinmergedcols() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_joinmergedcols());
  }

  // bool inh = 5 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    total_size += 2;
  }

  // bool security_barrier = 11 [json_name = "security_barrier"];
  if (this->_internal_security_barrier() != 0) {
    total_size += 2;
  }

  // bool funcordinality = 19 [json_name = "funcordinality"];
  if (this->_internal_funcordinality() != 0) {
    total_size += 3;
  }

  // bool self_reference = 24 [json_name = "self_reference"];
  if (this->_internal_self_reference() != 0) {
    total_size += 3;
  }

  // uint32 ctelevelsup = 23 [json_name = "ctelevelsup"];
  if (this->_internal_ctelevelsup() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                    this->_internal_ctelevelsup());
  }

  // double enrtuples = 29 [json_name = "enrtuples"];
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_enrtuples = this->_internal_enrtuples();
  ::uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    total_size += 10;
  }

  // bool lateral = 30 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 3;
  }

  // bool in_from_cl = 31 [json_name = "inFromCl"];
  if (this->_internal_in_from_cl() != 0) {
    total_size += 3;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTblEntry::_class_data_ = {
    RangeTblEntry::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTblEntry::GetClassData() const {
  return &_class_data_;
}

void RangeTblEntry::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTblEntry*>(&to_msg);
  auto& from = static_cast<const RangeTblEntry&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblEntry)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_joinaliasvars()->MergeFrom(
      from._internal_joinaliasvars());
  _this->_internal_mutable_joinleftcols()->MergeFrom(
      from._internal_joinleftcols());
  _this->_internal_mutable_joinrightcols()->MergeFrom(
      from._internal_joinrightcols());
  _this->_internal_mutable_functions()->MergeFrom(
      from._internal_functions());
  _this->_internal_mutable_values_lists()->MergeFrom(
      from._internal_values_lists());
  _this->_internal_mutable_coltypes()->MergeFrom(
      from._internal_coltypes());
  _this->_internal_mutable_coltypmods()->MergeFrom(
      from._internal_coltypmods());
  _this->_internal_mutable_colcollations()->MergeFrom(
      from._internal_colcollations());
  _this->_internal_mutable_security_quals()->MergeFrom(
      from._internal_security_quals());
  if (!from._internal_relkind().empty()) {
    _this->_internal_set_relkind(from._internal_relkind());
  }
  if (!from._internal_ctename().empty()) {
    _this->_internal_set_ctename(from._internal_ctename());
  }
  if (!from._internal_enrname().empty()) {
    _this->_internal_set_enrname(from._internal_enrname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000003fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_eref()->::pg_query::Alias::MergeFrom(
          from._internal_eref());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_tablesample()->::pg_query::TableSampleClause::MergeFrom(
          from._internal_tablesample());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_subquery()->::pg_query::Query::MergeFrom(
          from._internal_subquery());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_join_using_alias()->::pg_query::Alias::MergeFrom(
          from._internal_join_using_alias());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_internal_mutable_tablefunc()->::pg_query::TableFunc::MergeFrom(
          from._internal_tablefunc());
    }
  }
  if (from._internal_rtekind() != 0) {
    _this->_internal_set_rtekind(from._internal_rtekind());
  }
  if (from._internal_relid() != 0) {
    _this->_internal_set_relid(from._internal_relid());
  }
  if (from._internal_rellockmode() != 0) {
    _this->_internal_set_rellockmode(from._internal_rellockmode());
  }
  if (from._internal_perminfoindex() != 0) {
    _this->_internal_set_perminfoindex(from._internal_perminfoindex());
  }
  if (from._internal_jointype() != 0) {
    _this->_internal_set_jointype(from._internal_jointype());
  }
  if (from._internal_joinmergedcols() != 0) {
    _this->_internal_set_joinmergedcols(from._internal_joinmergedcols());
  }
  if (from._internal_inh() != 0) {
    _this->_internal_set_inh(from._internal_inh());
  }
  if (from._internal_security_barrier() != 0) {
    _this->_internal_set_security_barrier(from._internal_security_barrier());
  }
  if (from._internal_funcordinality() != 0) {
    _this->_internal_set_funcordinality(from._internal_funcordinality());
  }
  if (from._internal_self_reference() != 0) {
    _this->_internal_set_self_reference(from._internal_self_reference());
  }
  if (from._internal_ctelevelsup() != 0) {
    _this->_internal_set_ctelevelsup(from._internal_ctelevelsup());
  }
  static_assert(sizeof(::uint64_t) == sizeof(double),
                "Code assumes ::uint64_t and double are the same size.");
  double tmp_enrtuples = from._internal_enrtuples();
  ::uint64_t raw_enrtuples;
  memcpy(&raw_enrtuples, &tmp_enrtuples, sizeof(tmp_enrtuples));
  if (raw_enrtuples != 0) {
    _this->_internal_set_enrtuples(from._internal_enrtuples());
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_in_from_cl() != 0) {
    _this->_internal_set_in_from_cl(from._internal_in_from_cl());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTblEntry::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTblEntry::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTblEntry::InternalSwap(RangeTblEntry* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.joinaliasvars_.InternalSwap(&other->_impl_.joinaliasvars_);
  _impl_.joinleftcols_.InternalSwap(&other->_impl_.joinleftcols_);
  _impl_.joinrightcols_.InternalSwap(&other->_impl_.joinrightcols_);
  _impl_.functions_.InternalSwap(&other->_impl_.functions_);
  _impl_.values_lists_.InternalSwap(&other->_impl_.values_lists_);
  _impl_.coltypes_.InternalSwap(&other->_impl_.coltypes_);
  _impl_.coltypmods_.InternalSwap(&other->_impl_.coltypmods_);
  _impl_.colcollations_.InternalSwap(&other->_impl_.colcollations_);
  _impl_.security_quals_.InternalSwap(&other->_impl_.security_quals_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.relkind_, &other->_impl_.relkind_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ctename_, &other->_impl_.ctename_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.enrname_, &other->_impl_.enrname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.in_from_cl_)
      + sizeof(RangeTblEntry::_impl_.in_from_cl_)
      - PROTOBUF_FIELD_OFFSET(RangeTblEntry, _impl_.alias_)>(
          reinterpret_cast<char*>(&_impl_.alias_),
          reinterpret_cast<char*>(&other->_impl_.alias_));
}

::google::protobuf::Metadata RangeTblEntry::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[109]);
}
// ===================================================================

class RTEPermissionInfo::_Internal {
 public:
};

RTEPermissionInfo::RTEPermissionInfo(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RTEPermissionInfo)
}
inline PROTOBUF_NDEBUG_INLINE RTEPermissionInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : selected_cols_{visibility, arena, from.selected_cols_},
        _selected_cols_cached_byte_size_{0},
        inserted_cols_{visibility, arena, from.inserted_cols_},
        _inserted_cols_cached_byte_size_{0},
        updated_cols_{visibility, arena, from.updated_cols_},
        _updated_cols_cached_byte_size_{0},
        _cached_size_{0} {}

RTEPermissionInfo::RTEPermissionInfo(
    ::google::protobuf::Arena* arena,
    const RTEPermissionInfo& from)
    : ::google::protobuf::Message(arena) {
  RTEPermissionInfo* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, relid_),
           offsetof(Impl_, check_as_user_) -
               offsetof(Impl_, relid_) +
               sizeof(Impl_::check_as_user_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RTEPermissionInfo)
}
inline PROTOBUF_NDEBUG_INLINE RTEPermissionInfo::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : selected_cols_{visibility, arena},
        _selected_cols_cached_byte_size_{0},
        inserted_cols_{visibility, arena},
        _inserted_cols_cached_byte_size_{0},
        updated_cols_{visibility, arena},
        _updated_cols_cached_byte_size_{0},
        _cached_size_{0} {}

inline void RTEPermissionInfo::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relid_),
           0,
           offsetof(Impl_, check_as_user_) -
               offsetof(Impl_, relid_) +
               sizeof(Impl_::check_as_user_));
}
RTEPermissionInfo::~RTEPermissionInfo() {
  // @@protoc_insertion_point(destructor:pg_query.RTEPermissionInfo)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RTEPermissionInfo::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RTEPermissionInfo::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RTEPermissionInfo)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.selected_cols_.Clear();
  _impl_.inserted_cols_.Clear();
  _impl_.updated_cols_.Clear();
  ::memset(&_impl_.relid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.check_as_user_) -
      reinterpret_cast<char*>(&_impl_.relid_)) + sizeof(_impl_.check_as_user_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RTEPermissionInfo::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 0, 0, 2> RTEPermissionInfo::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_RTEPermissionInfo_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint32 relid = 1 [json_name = "relid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RTEPermissionInfo, _impl_.relid_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.relid_)}},
    // bool inh = 2 [json_name = "inh"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RTEPermissionInfo, _impl_.inh_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.inh_)}},
    // uint64 required_perms = 3 [json_name = "requiredPerms"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(RTEPermissionInfo, _impl_.required_perms_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.required_perms_)}},
    // uint32 check_as_user = 4 [json_name = "checkAsUser"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RTEPermissionInfo, _impl_.check_as_user_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.check_as_user_)}},
    // repeated uint64 selected_cols = 5 [json_name = "selectedCols"];
    {::_pbi::TcParser::FastV64P1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.selected_cols_)}},
    // repeated uint64 inserted_cols = 6 [json_name = "insertedCols"];
    {::_pbi::TcParser::FastV64P1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.inserted_cols_)}},
    // repeated uint64 updated_cols = 7 [json_name = "updatedCols"];
    {::_pbi::TcParser::FastV64P1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.updated_cols_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint32 relid = 1 [json_name = "relid"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.relid_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool inh = 2 [json_name = "inh"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.inh_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint64 required_perms = 3 [json_name = "requiredPerms"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.required_perms_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt64)},
    // uint32 check_as_user = 4 [json_name = "checkAsUser"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.check_as_user_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated uint64 selected_cols = 5 [json_name = "selectedCols"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.selected_cols_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    // repeated uint64 inserted_cols = 6 [json_name = "insertedCols"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.inserted_cols_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
    // repeated uint64 updated_cols = 7 [json_name = "updatedCols"];
    {PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.updated_cols_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* RTEPermissionInfo::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RTEPermissionInfo)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint32 relid = 1 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this->_internal_relid(), target);
  }

  // bool inh = 2 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_inh(), target);
  }

  // uint64 required_perms = 3 [json_name = "requiredPerms"];
  if (this->_internal_required_perms() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt64ToArray(
        3, this->_internal_required_perms(), target);
  }

  // uint32 check_as_user = 4 [json_name = "checkAsUser"];
  if (this->_internal_check_as_user() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        4, this->_internal_check_as_user(), target);
  }

  // repeated uint64 selected_cols = 5 [json_name = "selectedCols"];
  {
    int byte_size = _impl_._selected_cols_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          5, _internal_selected_cols(), byte_size, target);
    }
  }

  // repeated uint64 inserted_cols = 6 [json_name = "insertedCols"];
  {
    int byte_size = _impl_._inserted_cols_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          6, _internal_inserted_cols(), byte_size, target);
    }
  }

  // repeated uint64 updated_cols = 7 [json_name = "updatedCols"];
  {
    int byte_size = _impl_._updated_cols_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          7, _internal_updated_cols(), byte_size, target);
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RTEPermissionInfo)
  return target;
}

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

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

  // repeated uint64 selected_cols = 5 [json_name = "selectedCols"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_selected_cols())
    ;
    _impl_._selected_cols_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // repeated uint64 inserted_cols = 6 [json_name = "insertedCols"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_inserted_cols())
    ;
    _impl_._inserted_cols_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // repeated uint64 updated_cols = 7 [json_name = "updatedCols"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_updated_cols())
    ;
    _impl_._updated_cols_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // uint32 relid = 1 [json_name = "relid"];
  if (this->_internal_relid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_relid());
  }

  // bool inh = 2 [json_name = "inh"];
  if (this->_internal_inh() != 0) {
    total_size += 2;
  }

  // uint64 required_perms = 3 [json_name = "requiredPerms"];
  if (this->_internal_required_perms() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt64SizePlusOne(
        this->_internal_required_perms());
  }

  // uint32 check_as_user = 4 [json_name = "checkAsUser"];
  if (this->_internal_check_as_user() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_check_as_user());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RTEPermissionInfo::_class_data_ = {
    RTEPermissionInfo::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RTEPermissionInfo::GetClassData() const {
  return &_class_data_;
}

void RTEPermissionInfo::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RTEPermissionInfo*>(&to_msg);
  auto& from = static_cast<const RTEPermissionInfo&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RTEPermissionInfo)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_selected_cols()->MergeFrom(from._internal_selected_cols());
  _this->_internal_mutable_inserted_cols()->MergeFrom(from._internal_inserted_cols());
  _this->_internal_mutable_updated_cols()->MergeFrom(from._internal_updated_cols());
  if (from._internal_relid() != 0) {
    _this->_internal_set_relid(from._internal_relid());
  }
  if (from._internal_inh() != 0) {
    _this->_internal_set_inh(from._internal_inh());
  }
  if (from._internal_required_perms() != 0) {
    _this->_internal_set_required_perms(from._internal_required_perms());
  }
  if (from._internal_check_as_user() != 0) {
    _this->_internal_set_check_as_user(from._internal_check_as_user());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RTEPermissionInfo::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RTEPermissionInfo::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RTEPermissionInfo::InternalSwap(RTEPermissionInfo* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.selected_cols_.InternalSwap(&other->_impl_.selected_cols_);
  _impl_.inserted_cols_.InternalSwap(&other->_impl_.inserted_cols_);
  _impl_.updated_cols_.InternalSwap(&other->_impl_.updated_cols_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.check_as_user_)
      + sizeof(RTEPermissionInfo::_impl_.check_as_user_)
      - PROTOBUF_FIELD_OFFSET(RTEPermissionInfo, _impl_.relid_)>(
          reinterpret_cast<char*>(&_impl_.relid_),
          reinterpret_cast<char*>(&other->_impl_.relid_));
}

::google::protobuf::Metadata RTEPermissionInfo::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[110]);
}
// ===================================================================

class RangeTblFunction::_Internal {
 public:
  using HasBits = decltype(std::declval<RangeTblFunction>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_._has_bits_);
  static const ::pg_query::Node& funcexpr(const RangeTblFunction* msg);
  static void set_has_funcexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& RangeTblFunction::_Internal::funcexpr(const RangeTblFunction* msg) {
  return *msg->_impl_.funcexpr_;
}
RangeTblFunction::RangeTblFunction(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RangeTblFunction)
}
inline PROTOBUF_NDEBUG_INLINE RangeTblFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        funccolnames_{visibility, arena, from.funccolnames_},
        funccoltypes_{visibility, arena, from.funccoltypes_},
        funccoltypmods_{visibility, arena, from.funccoltypmods_},
        funccolcollations_{visibility, arena, from.funccolcollations_},
        funcparams_{visibility, arena, from.funcparams_},
        _funcparams_cached_byte_size_{0} {}

RangeTblFunction::RangeTblFunction(
    ::google::protobuf::Arena* arena,
    const RangeTblFunction& from)
    : ::google::protobuf::Message(arena) {
  RangeTblFunction* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.funcexpr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.funcexpr_)
                : nullptr;
  _impl_.funccolcount_ = from._impl_.funccolcount_;

  // @@protoc_insertion_point(copy_constructor:pg_query.RangeTblFunction)
}
inline PROTOBUF_NDEBUG_INLINE RangeTblFunction::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        funccolnames_{visibility, arena},
        funccoltypes_{visibility, arena},
        funccoltypmods_{visibility, arena},
        funccolcollations_{visibility, arena},
        funcparams_{visibility, arena},
        _funcparams_cached_byte_size_{0} {}

inline void RangeTblFunction::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, funcexpr_),
           0,
           offsetof(Impl_, funccolcount_) -
               offsetof(Impl_, funcexpr_) +
               sizeof(Impl_::funccolcount_));
}
RangeTblFunction::~RangeTblFunction() {
  // @@protoc_insertion_point(destructor:pg_query.RangeTblFunction)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RangeTblFunction::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.funcexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RangeTblFunction::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RangeTblFunction)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funccolnames_.Clear();
  _impl_.funccoltypes_.Clear();
  _impl_.funccoltypmods_.Clear();
  _impl_.funccolcollations_.Clear();
  _impl_.funcparams_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.funcexpr_ != nullptr);
    _impl_.funcexpr_->Clear();
  }
  _impl_.funccolcount_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RangeTblFunction::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 5, 0, 2> RangeTblFunction::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RangeTblFunction_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcexpr_)}},
    // int32 funccolcount = 2 [json_name = "funccolcount"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RangeTblFunction, _impl_.funccolcount_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcount_)}},
    // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolnames_)}},
    // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccoltypes_)}},
    // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccoltypmods_)}},
    // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 4, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcollations_)}},
    // repeated uint64 funcparams = 7 [json_name = "funcparams"];
    {::_pbi::TcParser::FastV64P1,
     {58, 63, 0, PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcparams_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcexpr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 funccolcount = 2 [json_name = "funccolcount"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcount_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolnames_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccoltypes_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccoltypmods_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcollations_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated uint64 funcparams = 7 [json_name = "funcparams"];
    {PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcparams_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kPackedUInt64)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RangeTblFunction::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RangeTblFunction)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::funcexpr(this),
        _Internal::funcexpr(this).GetCachedSize(), target, stream);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->_internal_funccolcount() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_funccolcount(), target);
  }

  // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccolnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccoltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccoltypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccoltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccoltypmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funccolcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_funccolcollations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated uint64 funcparams = 7 [json_name = "funcparams"];
  {
    int byte_size = _impl_._funcparams_cached_byte_size_.Get();
    if (byte_size > 0) {
      target = stream->WriteUInt64Packed(
          7, _internal_funcparams(), byte_size, target);
    }
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RangeTblFunction)
  return target;
}

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

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

  // repeated .pg_query.Node funccolnames = 3 [json_name = "funccolnames"];
  total_size += 1UL * this->_internal_funccolnames_size();
  for (const auto& msg : this->_internal_funccolnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node funccoltypes = 4 [json_name = "funccoltypes"];
  total_size += 1UL * this->_internal_funccoltypes_size();
  for (const auto& msg : this->_internal_funccoltypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node funccoltypmods = 5 [json_name = "funccoltypmods"];
  total_size += 1UL * this->_internal_funccoltypmods_size();
  for (const auto& msg : this->_internal_funccoltypmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node funccolcollations = 6 [json_name = "funccolcollations"];
  total_size += 1UL * this->_internal_funccolcollations_size();
  for (const auto& msg : this->_internal_funccolcollations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated uint64 funcparams = 7 [json_name = "funcparams"];
  {
    std::size_t data_size = ::_pbi::WireFormatLite::UInt64Size(
        this->_internal_funcparams())
    ;
    _impl_._funcparams_cached_byte_size_.Set(::_pbi::ToCachedSize(data_size));
    std::size_t tag_size = data_size == 0
        ? 0
        : 1 + ::_pbi::WireFormatLite::Int32Size(
                            static_cast<int32_t>(data_size))
    ;
    total_size += tag_size + data_size;
  }
  // .pg_query.Node funcexpr = 1 [json_name = "funcexpr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.funcexpr_);
  }

  // int32 funccolcount = 2 [json_name = "funccolcount"];
  if (this->_internal_funccolcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_funccolcount());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RangeTblFunction::_class_data_ = {
    RangeTblFunction::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RangeTblFunction::GetClassData() const {
  return &_class_data_;
}

void RangeTblFunction::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RangeTblFunction*>(&to_msg);
  auto& from = static_cast<const RangeTblFunction&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RangeTblFunction)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_funccolnames()->MergeFrom(
      from._internal_funccolnames());
  _this->_internal_mutable_funccoltypes()->MergeFrom(
      from._internal_funccoltypes());
  _this->_internal_mutable_funccoltypmods()->MergeFrom(
      from._internal_funccoltypmods());
  _this->_internal_mutable_funccolcollations()->MergeFrom(
      from._internal_funccolcollations());
  _this->_internal_mutable_funcparams()->MergeFrom(from._internal_funcparams());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_funcexpr()->::pg_query::Node::MergeFrom(
        from._internal_funcexpr());
  }
  if (from._internal_funccolcount() != 0) {
    _this->_internal_set_funccolcount(from._internal_funccolcount());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RangeTblFunction::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RangeTblFunction::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RangeTblFunction::InternalSwap(RangeTblFunction* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.funccolnames_.InternalSwap(&other->_impl_.funccolnames_);
  _impl_.funccoltypes_.InternalSwap(&other->_impl_.funccoltypes_);
  _impl_.funccoltypmods_.InternalSwap(&other->_impl_.funccoltypmods_);
  _impl_.funccolcollations_.InternalSwap(&other->_impl_.funccolcollations_);
  _impl_.funcparams_.InternalSwap(&other->_impl_.funcparams_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funccolcount_)
      + sizeof(RangeTblFunction::_impl_.funccolcount_)
      - PROTOBUF_FIELD_OFFSET(RangeTblFunction, _impl_.funcexpr_)>(
          reinterpret_cast<char*>(&_impl_.funcexpr_),
          reinterpret_cast<char*>(&other->_impl_.funcexpr_));
}

::google::protobuf::Metadata RangeTblFunction::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[111]);
}
// ===================================================================

class TableSampleClause::_Internal {
 public:
  using HasBits = decltype(std::declval<TableSampleClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_._has_bits_);
  static const ::pg_query::Node& repeatable(const TableSampleClause* msg);
  static void set_has_repeatable(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& TableSampleClause::_Internal::repeatable(const TableSampleClause* msg) {
  return *msg->_impl_.repeatable_;
}
TableSampleClause::TableSampleClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TableSampleClause)
}
inline PROTOBUF_NDEBUG_INLINE TableSampleClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        args_{visibility, arena, from.args_} {}

TableSampleClause::TableSampleClause(
    ::google::protobuf::Arena* arena,
    const TableSampleClause& from)
    : ::google::protobuf::Message(arena) {
  TableSampleClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.repeatable_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.repeatable_)
                : nullptr;
  _impl_.tsmhandler_ = from._impl_.tsmhandler_;

  // @@protoc_insertion_point(copy_constructor:pg_query.TableSampleClause)
}
inline PROTOBUF_NDEBUG_INLINE TableSampleClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        args_{visibility, arena} {}

inline void TableSampleClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, repeatable_),
           0,
           offsetof(Impl_, tsmhandler_) -
               offsetof(Impl_, repeatable_) +
               sizeof(Impl_::tsmhandler_));
}
TableSampleClause::~TableSampleClause() {
  // @@protoc_insertion_point(destructor:pg_query.TableSampleClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TableSampleClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.repeatable_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TableSampleClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TableSampleClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.repeatable_ != nullptr);
    _impl_.repeatable_->Clear();
  }
  _impl_.tsmhandler_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TableSampleClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> TableSampleClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TableSampleClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TableSampleClause, _impl_.tsmhandler_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.tsmhandler_)}},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.args_)}},
    // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.repeatable_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
    {PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.tsmhandler_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node args = 2 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.args_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
    {PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.repeatable_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* TableSampleClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TableSampleClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->_internal_tsmhandler() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this->_internal_tsmhandler(), target);
  }

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::repeatable(this),
        _Internal::repeatable(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TableSampleClause)
  return target;
}

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

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

  // repeated .pg_query.Node args = 2 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node repeatable = 3 [json_name = "repeatable"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.repeatable_);
  }

  // uint32 tsmhandler = 1 [json_name = "tsmhandler"];
  if (this->_internal_tsmhandler() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_tsmhandler());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TableSampleClause::_class_data_ = {
    TableSampleClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TableSampleClause::GetClassData() const {
  return &_class_data_;
}

void TableSampleClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TableSampleClause*>(&to_msg);
  auto& from = static_cast<const TableSampleClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TableSampleClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_repeatable()->::pg_query::Node::MergeFrom(
        from._internal_repeatable());
  }
  if (from._internal_tsmhandler() != 0) {
    _this->_internal_set_tsmhandler(from._internal_tsmhandler());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TableSampleClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TableSampleClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TableSampleClause::InternalSwap(TableSampleClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.tsmhandler_)
      + sizeof(TableSampleClause::_impl_.tsmhandler_)
      - PROTOBUF_FIELD_OFFSET(TableSampleClause, _impl_.repeatable_)>(
          reinterpret_cast<char*>(&_impl_.repeatable_),
          reinterpret_cast<char*>(&other->_impl_.repeatable_));
}

::google::protobuf::Metadata TableSampleClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[112]);
}
// ===================================================================

class WithCheckOption::_Internal {
 public:
  using HasBits = decltype(std::declval<WithCheckOption>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_._has_bits_);
  static const ::pg_query::Node& qual(const WithCheckOption* msg);
  static void set_has_qual(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& WithCheckOption::_Internal::qual(const WithCheckOption* msg) {
  return *msg->_impl_.qual_;
}
WithCheckOption::WithCheckOption(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithCheckOption)
}
inline PROTOBUF_NDEBUG_INLINE WithCheckOption::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        relname_(arena, from.relname_),
        polname_(arena, from.polname_) {}

WithCheckOption::WithCheckOption(
    ::google::protobuf::Arena* arena,
    const WithCheckOption& from)
    : ::google::protobuf::Message(arena) {
  WithCheckOption* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.qual_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.qual_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, cascaded_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::cascaded_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WithCheckOption)
}
inline PROTOBUF_NDEBUG_INLINE WithCheckOption::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        relname_(arena),
        polname_(arena) {}

inline void WithCheckOption::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, qual_),
           0,
           offsetof(Impl_, cascaded_) -
               offsetof(Impl_, qual_) +
               sizeof(Impl_::cascaded_));
}
WithCheckOption::~WithCheckOption() {
  // @@protoc_insertion_point(destructor:pg_query.WithCheckOption)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WithCheckOption::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.relname_.Destroy();
  _impl_.polname_.Destroy();
  delete _impl_.qual_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WithCheckOption::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithCheckOption)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.relname_.ClearToEmpty();
  _impl_.polname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.qual_ != nullptr);
    _impl_.qual_->Clear();
  }
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.cascaded_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.cascaded_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WithCheckOption::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 47, 2> WithCheckOption::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WithCheckOption_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.WCOKind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WithCheckOption, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.kind_)}},
    // string relname = 2 [json_name = "relname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.relname_)}},
    // string polname = 3 [json_name = "polname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.polname_)}},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.qual_)}},
    // bool cascaded = 5 [json_name = "cascaded"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WithCheckOption, _impl_.cascaded_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.cascaded_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.WCOKind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string relname = 2 [json_name = "relname"];
    {PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.relname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string polname = 3 [json_name = "polname"];
    {PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.polname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.qual_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool cascaded = 5 [json_name = "cascaded"];
    {PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.cascaded_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\7\7\0\0\0\0"
    "pg_query.WithCheckOption"
    "relname"
    "polname"
  }},
};

::uint8_t* WithCheckOption::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithCheckOption)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // string relname = 2 [json_name = "relname"];
  if (!this->_internal_relname().empty()) {
    const std::string& _s = this->_internal_relname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WithCheckOption.relname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string polname = 3 [json_name = "polname"];
  if (!this->_internal_polname().empty()) {
    const std::string& _s = this->_internal_polname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WithCheckOption.polname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->_internal_cascaded() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_cascaded(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WithCheckOption)
  return target;
}

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

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

  // string relname = 2 [json_name = "relname"];
  if (!this->_internal_relname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_relname());
  }

  // string polname = 3 [json_name = "polname"];
  if (!this->_internal_polname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_polname());
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.qual_);
  }

  // .pg_query.WCOKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool cascaded = 5 [json_name = "cascaded"];
  if (this->_internal_cascaded() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WithCheckOption::_class_data_ = {
    WithCheckOption::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WithCheckOption::GetClassData() const {
  return &_class_data_;
}

void WithCheckOption::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WithCheckOption*>(&to_msg);
  auto& from = static_cast<const WithCheckOption&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithCheckOption)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_relname().empty()) {
    _this->_internal_set_relname(from._internal_relname());
  }
  if (!from._internal_polname().empty()) {
    _this->_internal_set_polname(from._internal_polname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
        from._internal_qual());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_cascaded() != 0) {
    _this->_internal_set_cascaded(from._internal_cascaded());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WithCheckOption::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WithCheckOption::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WithCheckOption::InternalSwap(WithCheckOption* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.relname_, &other->_impl_.relname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.polname_, &other->_impl_.polname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.cascaded_)
      + sizeof(WithCheckOption::_impl_.cascaded_)
      - PROTOBUF_FIELD_OFFSET(WithCheckOption, _impl_.qual_)>(
          reinterpret_cast<char*>(&_impl_.qual_),
          reinterpret_cast<char*>(&other->_impl_.qual_));
}

::google::protobuf::Metadata WithCheckOption::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[113]);
}
// ===================================================================

class SortGroupClause::_Internal {
 public:
};

SortGroupClause::SortGroupClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SortGroupClause)
}
SortGroupClause::SortGroupClause(
    ::google::protobuf::Arena* arena, const SortGroupClause& from)
    : SortGroupClause(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE SortGroupClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void SortGroupClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, tle_sort_group_ref_),
           0,
           offsetof(Impl_, hashable_) -
               offsetof(Impl_, tle_sort_group_ref_) +
               sizeof(Impl_::hashable_));
}
SortGroupClause::~SortGroupClause() {
  // @@protoc_insertion_point(destructor:pg_query.SortGroupClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SortGroupClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SortGroupClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SortGroupClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.tle_sort_group_ref_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.hashable_) -
      reinterpret_cast<char*>(&_impl_.tle_sort_group_ref_)) + sizeof(_impl_.hashable_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SortGroupClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 0, 0, 2> SortGroupClause::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_SortGroupClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortGroupClause, _impl_.tle_sort_group_ref_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.tle_sort_group_ref_)}},
    // uint32 eqop = 2 [json_name = "eqop"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortGroupClause, _impl_.eqop_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.eqop_)}},
    // uint32 sortop = 3 [json_name = "sortop"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SortGroupClause, _impl_.sortop_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.sortop_)}},
    // bool nulls_first = 4 [json_name = "nulls_first"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SortGroupClause, _impl_.nulls_first_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.nulls_first_)}},
    // bool hashable = 5 [json_name = "hashable"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SortGroupClause, _impl_.hashable_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.hashable_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
    {PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.tle_sort_group_ref_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 eqop = 2 [json_name = "eqop"];
    {PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.eqop_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 sortop = 3 [json_name = "sortop"];
    {PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.sortop_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool nulls_first = 4 [json_name = "nulls_first"];
    {PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.nulls_first_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool hashable = 5 [json_name = "hashable"];
    {PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.hashable_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* SortGroupClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SortGroupClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
  if (this->_internal_tle_sort_group_ref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this->_internal_tle_sort_group_ref(), target);
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->_internal_eqop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_eqop(), target);
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->_internal_sortop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_sortop(), target);
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->_internal_nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_nulls_first(), target);
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->_internal_hashable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_hashable(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SortGroupClause)
  return target;
}

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

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

  // uint32 tle_sort_group_ref = 1 [json_name = "tleSortGroupRef"];
  if (this->_internal_tle_sort_group_ref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_tle_sort_group_ref());
  }

  // uint32 eqop = 2 [json_name = "eqop"];
  if (this->_internal_eqop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_eqop());
  }

  // uint32 sortop = 3 [json_name = "sortop"];
  if (this->_internal_sortop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_sortop());
  }

  // bool nulls_first = 4 [json_name = "nulls_first"];
  if (this->_internal_nulls_first() != 0) {
    total_size += 2;
  }

  // bool hashable = 5 [json_name = "hashable"];
  if (this->_internal_hashable() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SortGroupClause::_class_data_ = {
    SortGroupClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SortGroupClause::GetClassData() const {
  return &_class_data_;
}

void SortGroupClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SortGroupClause*>(&to_msg);
  auto& from = static_cast<const SortGroupClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SortGroupClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_tle_sort_group_ref() != 0) {
    _this->_internal_set_tle_sort_group_ref(from._internal_tle_sort_group_ref());
  }
  if (from._internal_eqop() != 0) {
    _this->_internal_set_eqop(from._internal_eqop());
  }
  if (from._internal_sortop() != 0) {
    _this->_internal_set_sortop(from._internal_sortop());
  }
  if (from._internal_nulls_first() != 0) {
    _this->_internal_set_nulls_first(from._internal_nulls_first());
  }
  if (from._internal_hashable() != 0) {
    _this->_internal_set_hashable(from._internal_hashable());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SortGroupClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SortGroupClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SortGroupClause::InternalSwap(SortGroupClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.hashable_)
      + sizeof(SortGroupClause::_impl_.hashable_)
      - PROTOBUF_FIELD_OFFSET(SortGroupClause, _impl_.tle_sort_group_ref_)>(
          reinterpret_cast<char*>(&_impl_.tle_sort_group_ref_),
          reinterpret_cast<char*>(&other->_impl_.tle_sort_group_ref_));
}

::google::protobuf::Metadata SortGroupClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[114]);
}
// ===================================================================

class GroupingSet::_Internal {
 public:
};

GroupingSet::GroupingSet(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GroupingSet)
}
inline PROTOBUF_NDEBUG_INLINE GroupingSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : content_{visibility, arena, from.content_},
        _cached_size_{0} {}

GroupingSet::GroupingSet(
    ::google::protobuf::Arena* arena,
    const GroupingSet& from)
    : ::google::protobuf::Message(arena) {
  GroupingSet* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.GroupingSet)
}
inline PROTOBUF_NDEBUG_INLINE GroupingSet::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : content_{visibility, arena},
        _cached_size_{0} {}

inline void GroupingSet::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));
}
GroupingSet::~GroupingSet() {
  // @@protoc_insertion_point(destructor:pg_query.GroupingSet)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GroupingSet::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void GroupingSet::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GroupingSet)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.content_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GroupingSet::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> GroupingSet::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GroupingSet_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GroupingSet, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.kind_)}},
    // repeated .pg_query.Node content = 2 [json_name = "content"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.content_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GroupingSet, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node content = 2 [json_name = "content"];
    {PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.content_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* GroupingSet::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GroupingSet)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node content = 2 [json_name = "content"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_content_size()); i < n; i++) {
    const auto& repfield = this->_internal_content().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.GroupingSet)
  return target;
}

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

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

  // repeated .pg_query.Node content = 2 [json_name = "content"];
  total_size += 1UL * this->_internal_content_size();
  for (const auto& msg : this->_internal_content()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.GroupingSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData GroupingSet::_class_data_ = {
    GroupingSet::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* GroupingSet::GetClassData() const {
  return &_class_data_;
}

void GroupingSet::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<GroupingSet*>(&to_msg);
  auto& from = static_cast<const GroupingSet&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GroupingSet)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_content()->MergeFrom(
      from._internal_content());
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool GroupingSet::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* GroupingSet::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void GroupingSet::InternalSwap(GroupingSet* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.content_.InternalSwap(&other->_impl_.content_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.location_)
      + sizeof(GroupingSet::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(GroupingSet, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::google::protobuf::Metadata GroupingSet::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[115]);
}
// ===================================================================

class WindowClause::_Internal {
 public:
  using HasBits = decltype(std::declval<WindowClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(WindowClause, _impl_._has_bits_);
  static const ::pg_query::Node& start_offset(const WindowClause* msg);
  static void set_has_start_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& end_offset(const WindowClause* msg);
  static void set_has_end_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& WindowClause::_Internal::start_offset(const WindowClause* msg) {
  return *msg->_impl_.start_offset_;
}
const ::pg_query::Node& WindowClause::_Internal::end_offset(const WindowClause* msg) {
  return *msg->_impl_.end_offset_;
}
WindowClause::WindowClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WindowClause)
}
inline PROTOBUF_NDEBUG_INLINE WindowClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        partition_clause_{visibility, arena, from.partition_clause_},
        order_clause_{visibility, arena, from.order_clause_},
        name_(arena, from.name_),
        refname_(arena, from.refname_) {}

WindowClause::WindowClause(
    ::google::protobuf::Arena* arena,
    const WindowClause& from)
    : ::google::protobuf::Message(arena) {
  WindowClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.start_offset_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.start_offset_)
                : nullptr;
  _impl_.end_offset_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.end_offset_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, frame_options_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, frame_options_),
           offsetof(Impl_, winref_) -
               offsetof(Impl_, frame_options_) +
               sizeof(Impl_::winref_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WindowClause)
}
inline PROTOBUF_NDEBUG_INLINE WindowClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        partition_clause_{visibility, arena},
        order_clause_{visibility, arena},
        name_(arena),
        refname_(arena) {}

inline void WindowClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_offset_),
           0,
           offsetof(Impl_, winref_) -
               offsetof(Impl_, start_offset_) +
               sizeof(Impl_::winref_));
}
WindowClause::~WindowClause() {
  // @@protoc_insertion_point(destructor:pg_query.WindowClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WindowClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.refname_.Destroy();
  delete _impl_.start_offset_;
  delete _impl_.end_offset_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WindowClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WindowClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.partition_clause_.Clear();
  _impl_.order_clause_.Clear();
  _impl_.name_.ClearToEmpty();
  _impl_.refname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.start_offset_ != nullptr);
      _impl_.start_offset_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.end_offset_ != nullptr);
      _impl_.end_offset_->Clear();
    }
  }
  ::memset(&_impl_.frame_options_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.winref_) -
      reinterpret_cast<char*>(&_impl_.frame_options_)) + sizeof(_impl_.winref_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WindowClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 14, 4, 49, 2> WindowClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(WindowClause, _impl_._has_bits_),
    0, // no _extensions_
    14, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294950912,  // skipmap
    offsetof(decltype(_table_), field_entries),
    14,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WindowClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.name_)}},
    // string refname = 2 [json_name = "refname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.refname_)}},
    // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.partition_clause_)}},
    // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.order_clause_)}},
    // int32 frame_options = 5 [json_name = "frameOptions"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowClause, _impl_.frame_options_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.frame_options_)}},
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    {::_pbi::TcParser::FastMtS1,
     {50, 0, 2, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_offset_)}},
    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 3, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.end_offset_)}},
    // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowClause, _impl_.start_in_range_func_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_in_range_func_)}},
    // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowClause, _impl_.end_in_range_func_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.end_in_range_func_)}},
    // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowClause, _impl_.in_range_coll_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_coll_)}},
    // bool in_range_asc = 11 [json_name = "inRangeAsc"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowClause, _impl_.in_range_asc_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_asc_)}},
    // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowClause, _impl_.in_range_nulls_first_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_nulls_first_)}},
    // uint32 winref = 13 [json_name = "winref"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WindowClause, _impl_.winref_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.winref_)}},
    // bool copied_order = 14 [json_name = "copiedOrder"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WindowClause, _impl_.copied_order_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.copied_order_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string refname = 2 [json_name = "refname"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.refname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.partition_clause_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.order_clause_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 frame_options = 5 [json_name = "frameOptions"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.frame_options_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_offset_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.end_offset_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_in_range_func_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.end_in_range_func_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_coll_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool in_range_asc = 11 [json_name = "inRangeAsc"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_asc_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.in_range_nulls_first_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // uint32 winref = 13 [json_name = "winref"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.winref_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool copied_order = 14 [json_name = "copiedOrder"];
    {PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.copied_order_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\4\7\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.WindowClause"
    "name"
    "refname"
  }},
};

::uint8_t* WindowClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WindowClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WindowClause.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    const std::string& _s = this->_internal_refname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.WindowClause.refname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_partition_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_partition_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_frame_options(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::start_offset(this),
        _Internal::start_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::end_offset(this),
        _Internal::end_offset(this).GetCachedSize(), target, stream);
  }

  // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
  if (this->_internal_start_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        8, this->_internal_start_in_range_func(), target);
  }

  // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
  if (this->_internal_end_in_range_func() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this->_internal_end_in_range_func(), target);
  }

  // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
  if (this->_internal_in_range_coll() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this->_internal_in_range_coll(), target);
  }

  // bool in_range_asc = 11 [json_name = "inRangeAsc"];
  if (this->_internal_in_range_asc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        11, this->_internal_in_range_asc(), target);
  }

  // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
  if (this->_internal_in_range_nulls_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_in_range_nulls_first(), target);
  }

  // uint32 winref = 13 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        13, this->_internal_winref(), target);
  }

  // bool copied_order = 14 [json_name = "copiedOrder"];
  if (this->_internal_copied_order() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this->_internal_copied_order(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WindowClause)
  return target;
}

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

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

  // repeated .pg_query.Node partition_clause = 3 [json_name = "partitionClause"];
  total_size += 1UL * this->_internal_partition_clause_size();
  for (const auto& msg : this->_internal_partition_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node order_clause = 4 [json_name = "orderClause"];
  total_size += 1UL * this->_internal_order_clause_size();
  for (const auto& msg : this->_internal_order_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // string refname = 2 [json_name = "refname"];
  if (!this->_internal_refname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_refname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node start_offset = 6 [json_name = "startOffset"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.start_offset_);
    }

    // .pg_query.Node end_offset = 7 [json_name = "endOffset"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.end_offset_);
    }

  }
  // int32 frame_options = 5 [json_name = "frameOptions"];
  if (this->_internal_frame_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_frame_options());
  }

  // uint32 start_in_range_func = 8 [json_name = "startInRangeFunc"];
  if (this->_internal_start_in_range_func() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_start_in_range_func());
  }

  // uint32 end_in_range_func = 9 [json_name = "endInRangeFunc"];
  if (this->_internal_end_in_range_func() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_end_in_range_func());
  }

  // uint32 in_range_coll = 10 [json_name = "inRangeColl"];
  if (this->_internal_in_range_coll() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_in_range_coll());
  }

  // bool in_range_asc = 11 [json_name = "inRangeAsc"];
  if (this->_internal_in_range_asc() != 0) {
    total_size += 2;
  }

  // bool in_range_nulls_first = 12 [json_name = "inRangeNullsFirst"];
  if (this->_internal_in_range_nulls_first() != 0) {
    total_size += 2;
  }

  // bool copied_order = 14 [json_name = "copiedOrder"];
  if (this->_internal_copied_order() != 0) {
    total_size += 2;
  }

  // uint32 winref = 13 [json_name = "winref"];
  if (this->_internal_winref() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_winref());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WindowClause::_class_data_ = {
    WindowClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WindowClause::GetClassData() const {
  return &_class_data_;
}

void WindowClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WindowClause*>(&to_msg);
  auto& from = static_cast<const WindowClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WindowClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_partition_clause()->MergeFrom(
      from._internal_partition_clause());
  _this->_internal_mutable_order_clause()->MergeFrom(
      from._internal_order_clause());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (!from._internal_refname().empty()) {
    _this->_internal_set_refname(from._internal_refname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_start_offset()->::pg_query::Node::MergeFrom(
          from._internal_start_offset());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_end_offset()->::pg_query::Node::MergeFrom(
          from._internal_end_offset());
    }
  }
  if (from._internal_frame_options() != 0) {
    _this->_internal_set_frame_options(from._internal_frame_options());
  }
  if (from._internal_start_in_range_func() != 0) {
    _this->_internal_set_start_in_range_func(from._internal_start_in_range_func());
  }
  if (from._internal_end_in_range_func() != 0) {
    _this->_internal_set_end_in_range_func(from._internal_end_in_range_func());
  }
  if (from._internal_in_range_coll() != 0) {
    _this->_internal_set_in_range_coll(from._internal_in_range_coll());
  }
  if (from._internal_in_range_asc() != 0) {
    _this->_internal_set_in_range_asc(from._internal_in_range_asc());
  }
  if (from._internal_in_range_nulls_first() != 0) {
    _this->_internal_set_in_range_nulls_first(from._internal_in_range_nulls_first());
  }
  if (from._internal_copied_order() != 0) {
    _this->_internal_set_copied_order(from._internal_copied_order());
  }
  if (from._internal_winref() != 0) {
    _this->_internal_set_winref(from._internal_winref());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WindowClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WindowClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WindowClause::InternalSwap(WindowClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.partition_clause_.InternalSwap(&other->_impl_.partition_clause_);
  _impl_.order_clause_.InternalSwap(&other->_impl_.order_clause_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.refname_, &other->_impl_.refname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.winref_)
      + sizeof(WindowClause::_impl_.winref_)
      - PROTOBUF_FIELD_OFFSET(WindowClause, _impl_.start_offset_)>(
          reinterpret_cast<char*>(&_impl_.start_offset_),
          reinterpret_cast<char*>(&other->_impl_.start_offset_));
}

::google::protobuf::Metadata WindowClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[116]);
}
// ===================================================================

class RowMarkClause::_Internal {
 public:
};

RowMarkClause::RowMarkClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RowMarkClause)
}
RowMarkClause::RowMarkClause(
    ::google::protobuf::Arena* arena, const RowMarkClause& from)
    : RowMarkClause(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE RowMarkClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RowMarkClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, rti_),
           0,
           offsetof(Impl_, pushed_down_) -
               offsetof(Impl_, rti_) +
               sizeof(Impl_::pushed_down_));
}
RowMarkClause::~RowMarkClause() {
  // @@protoc_insertion_point(destructor:pg_query.RowMarkClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RowMarkClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RowMarkClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RowMarkClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.rti_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.pushed_down_) -
      reinterpret_cast<char*>(&_impl_.rti_)) + sizeof(_impl_.pushed_down_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RowMarkClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 0, 0, 2> RowMarkClause::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_RowMarkClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool pushed_down = 4 [json_name = "pushedDown"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RowMarkClause, _impl_.pushed_down_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.pushed_down_)}},
    // uint32 rti = 1 [json_name = "rti"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowMarkClause, _impl_.rti_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.rti_)}},
    // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowMarkClause, _impl_.strength_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.strength_)}},
    // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RowMarkClause, _impl_.wait_policy_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.wait_policy_)}},
  }}, {{
    65535, 65535
  }}, {{
    // uint32 rti = 1 [json_name = "rti"];
    {PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.rti_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
    {PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.strength_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
    {PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.wait_policy_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool pushed_down = 4 [json_name = "pushedDown"];
    {PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.pushed_down_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* RowMarkClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RowMarkClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // uint32 rti = 1 [json_name = "rti"];
  if (this->_internal_rti() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        1, this->_internal_rti(), target);
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_strength(), target);
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_wait_policy(), target);
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->_internal_pushed_down() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_pushed_down(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RowMarkClause)
  return target;
}

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

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

  // uint32 rti = 1 [json_name = "rti"];
  if (this->_internal_rti() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_rti());
  }

  // .pg_query.LockClauseStrength strength = 2 [json_name = "strength"];
  if (this->_internal_strength() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_strength());
  }

  // .pg_query.LockWaitPolicy wait_policy = 3 [json_name = "waitPolicy"];
  if (this->_internal_wait_policy() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_wait_policy());
  }

  // bool pushed_down = 4 [json_name = "pushedDown"];
  if (this->_internal_pushed_down() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RowMarkClause::_class_data_ = {
    RowMarkClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RowMarkClause::GetClassData() const {
  return &_class_data_;
}

void RowMarkClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RowMarkClause*>(&to_msg);
  auto& from = static_cast<const RowMarkClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RowMarkClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_rti() != 0) {
    _this->_internal_set_rti(from._internal_rti());
  }
  if (from._internal_strength() != 0) {
    _this->_internal_set_strength(from._internal_strength());
  }
  if (from._internal_wait_policy() != 0) {
    _this->_internal_set_wait_policy(from._internal_wait_policy());
  }
  if (from._internal_pushed_down() != 0) {
    _this->_internal_set_pushed_down(from._internal_pushed_down());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RowMarkClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RowMarkClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RowMarkClause::InternalSwap(RowMarkClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.pushed_down_)
      + sizeof(RowMarkClause::_impl_.pushed_down_)
      - PROTOBUF_FIELD_OFFSET(RowMarkClause, _impl_.rti_)>(
          reinterpret_cast<char*>(&_impl_.rti_),
          reinterpret_cast<char*>(&other->_impl_.rti_));
}

::google::protobuf::Metadata RowMarkClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[117]);
}
// ===================================================================

class WithClause::_Internal {
 public:
};

WithClause::WithClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.WithClause)
}
inline PROTOBUF_NDEBUG_INLINE WithClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : ctes_{visibility, arena, from.ctes_},
        _cached_size_{0} {}

WithClause::WithClause(
    ::google::protobuf::Arena* arena,
    const WithClause& from)
    : ::google::protobuf::Message(arena) {
  WithClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, recursive_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, recursive_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, recursive_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.WithClause)
}
inline PROTOBUF_NDEBUG_INLINE WithClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : ctes_{visibility, arena},
        _cached_size_{0} {}

inline void WithClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, recursive_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, recursive_) +
               sizeof(Impl_::location_));
}
WithClause::~WithClause() {
  // @@protoc_insertion_point(destructor:pg_query.WithClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void WithClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void WithClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.WithClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.ctes_.Clear();
  ::memset(&_impl_.recursive_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.recursive_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* WithClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> WithClause::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_WithClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(WithClause, _impl_.ctes_)}},
    // bool recursive = 2 [json_name = "recursive"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(WithClause, _impl_.recursive_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(WithClause, _impl_.recursive_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(WithClause, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(WithClause, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
    {PROTOBUF_FIELD_OFFSET(WithClause, _impl_.ctes_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool recursive = 2 [json_name = "recursive"];
    {PROTOBUF_FIELD_OFFSET(WithClause, _impl_.recursive_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(WithClause, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* WithClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.WithClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctes_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool recursive = 2 [json_name = "recursive"];
  if (this->_internal_recursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_recursive(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.WithClause)
  return target;
}

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

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

  // repeated .pg_query.Node ctes = 1 [json_name = "ctes"];
  total_size += 1UL * this->_internal_ctes_size();
  for (const auto& msg : this->_internal_ctes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool recursive = 2 [json_name = "recursive"];
  if (this->_internal_recursive() != 0) {
    total_size += 2;
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData WithClause::_class_data_ = {
    WithClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* WithClause::GetClassData() const {
  return &_class_data_;
}

void WithClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<WithClause*>(&to_msg);
  auto& from = static_cast<const WithClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.WithClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_ctes()->MergeFrom(
      from._internal_ctes());
  if (from._internal_recursive() != 0) {
    _this->_internal_set_recursive(from._internal_recursive());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool WithClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* WithClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void WithClause::InternalSwap(WithClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.ctes_.InternalSwap(&other->_impl_.ctes_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(WithClause, _impl_.location_)
      + sizeof(WithClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(WithClause, _impl_.recursive_)>(
          reinterpret_cast<char*>(&_impl_.recursive_),
          reinterpret_cast<char*>(&other->_impl_.recursive_));
}

::google::protobuf::Metadata WithClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[118]);
}
// ===================================================================

class InferClause::_Internal {
 public:
  using HasBits = decltype(std::declval<InferClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(InferClause, _impl_._has_bits_);
  static const ::pg_query::Node& where_clause(const InferClause* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& InferClause::_Internal::where_clause(const InferClause* msg) {
  return *msg->_impl_.where_clause_;
}
InferClause::InferClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InferClause)
}
inline PROTOBUF_NDEBUG_INLINE InferClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        index_elems_{visibility, arena, from.index_elems_},
        conname_(arena, from.conname_) {}

InferClause::InferClause(
    ::google::protobuf::Arena* arena,
    const InferClause& from)
    : ::google::protobuf::Message(arena) {
  InferClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.where_clause_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.InferClause)
}
inline PROTOBUF_NDEBUG_INLINE InferClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        index_elems_{visibility, arena},
        conname_(arena) {}

inline void InferClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, where_clause_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, where_clause_) +
               sizeof(Impl_::location_));
}
InferClause::~InferClause() {
  // @@protoc_insertion_point(destructor:pg_query.InferClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void InferClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.conname_.Destroy();
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void InferClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InferClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.index_elems_.Clear();
  _impl_.conname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.where_clause_ != nullptr);
    _impl_.where_clause_->Clear();
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* InferClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 36, 2> InferClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(InferClause, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_InferClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(InferClause, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(InferClause, _impl_.location_)}},
    // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(InferClause, _impl_.index_elems_)}},
    // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(InferClause, _impl_.where_clause_)}},
    // string conname = 3 [json_name = "conname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(InferClause, _impl_.conname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
    {PROTOBUF_FIELD_OFFSET(InferClause, _impl_.index_elems_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(InferClause, _impl_.where_clause_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string conname = 3 [json_name = "conname"];
    {PROTOBUF_FIELD_OFFSET(InferClause, _impl_.conname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(InferClause, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\0\0\7\0\0\0\0"
    "pg_query.InferClause"
    "conname"
  }},
};

::uint8_t* InferClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InferClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_index_elems_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_elems().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // string conname = 3 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    const std::string& _s = this->_internal_conname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.InferClause.conname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.InferClause)
  return target;
}

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

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

  // repeated .pg_query.Node index_elems = 1 [json_name = "indexElems"];
  total_size += 1UL * this->_internal_index_elems_size();
  for (const auto& msg : this->_internal_index_elems()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string conname = 3 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conname());
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData InferClause::_class_data_ = {
    InferClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* InferClause::GetClassData() const {
  return &_class_data_;
}

void InferClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<InferClause*>(&to_msg);
  auto& from = static_cast<const InferClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InferClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_index_elems()->MergeFrom(
      from._internal_index_elems());
  if (!from._internal_conname().empty()) {
    _this->_internal_set_conname(from._internal_conname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
        from._internal_where_clause());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool InferClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* InferClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void InferClause::InternalSwap(InferClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.index_elems_.InternalSwap(&other->_impl_.index_elems_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conname_, &other->_impl_.conname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InferClause, _impl_.location_)
      + sizeof(InferClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(InferClause, _impl_.where_clause_)>(
          reinterpret_cast<char*>(&_impl_.where_clause_),
          reinterpret_cast<char*>(&other->_impl_.where_clause_));
}

::google::protobuf::Metadata InferClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[119]);
}
// ===================================================================

class OnConflictClause::_Internal {
 public:
  using HasBits = decltype(std::declval<OnConflictClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_._has_bits_);
  static const ::pg_query::InferClause& infer(const OnConflictClause* msg);
  static void set_has_infer(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const OnConflictClause* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::InferClause& OnConflictClause::_Internal::infer(const OnConflictClause* msg) {
  return *msg->_impl_.infer_;
}
const ::pg_query::Node& OnConflictClause::_Internal::where_clause(const OnConflictClause* msg) {
  return *msg->_impl_.where_clause_;
}
OnConflictClause::OnConflictClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.OnConflictClause)
}
inline PROTOBUF_NDEBUG_INLINE OnConflictClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_list_{visibility, arena, from.target_list_} {}

OnConflictClause::OnConflictClause(
    ::google::protobuf::Arena* arena,
    const OnConflictClause& from)
    : ::google::protobuf::Message(arena) {
  OnConflictClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.infer_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::InferClause>(arena, *from._impl_.infer_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, action_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, action_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, action_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.OnConflictClause)
}
inline PROTOBUF_NDEBUG_INLINE OnConflictClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        target_list_{visibility, arena} {}

inline void OnConflictClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, infer_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, infer_) +
               sizeof(Impl_::location_));
}
OnConflictClause::~OnConflictClause() {
  // @@protoc_insertion_point(destructor:pg_query.OnConflictClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void OnConflictClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.infer_;
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void OnConflictClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.OnConflictClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.infer_ != nullptr);
      _impl_.infer_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
  }
  ::memset(&_impl_.action_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* OnConflictClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> OnConflictClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_OnConflictClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.OnConflictAction action = 1 [json_name = "action"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OnConflictClause, _impl_.action_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.action_)}},
    // .pg_query.InferClause infer = 2 [json_name = "infer"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.infer_)}},
    // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.target_list_)}},
    // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 2, PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.where_clause_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(OnConflictClause, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.OnConflictAction action = 1 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.InferClause infer = 2 [json_name = "infer"];
    {PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.infer_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.target_list_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::InferClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* OnConflictClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.OnConflictClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_action(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.InferClause infer = 2 [json_name = "infer"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::infer(this),
        _Internal::infer(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.OnConflictClause)
  return target;
}

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

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

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.InferClause infer = 2 [json_name = "infer"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.infer_);
    }

    // .pg_query.Node where_clause = 4 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

  }
  // .pg_query.OnConflictAction action = 1 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData OnConflictClause::_class_data_ = {
    OnConflictClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* OnConflictClause::GetClassData() const {
  return &_class_data_;
}

void OnConflictClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<OnConflictClause*>(&to_msg);
  auto& from = static_cast<const OnConflictClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.OnConflictClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_infer()->::pg_query::InferClause::MergeFrom(
          from._internal_infer());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool OnConflictClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* OnConflictClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void OnConflictClause::InternalSwap(OnConflictClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.location_)
      + sizeof(OnConflictClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(OnConflictClause, _impl_.infer_)>(
          reinterpret_cast<char*>(&_impl_.infer_),
          reinterpret_cast<char*>(&other->_impl_.infer_));
}

::google::protobuf::Metadata OnConflictClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[120]);
}
// ===================================================================

class CTESearchClause::_Internal {
 public:
};

CTESearchClause::CTESearchClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CTESearchClause)
}
inline PROTOBUF_NDEBUG_INLINE CTESearchClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : search_col_list_{visibility, arena, from.search_col_list_},
        search_seq_column_(arena, from.search_seq_column_),
        _cached_size_{0} {}

CTESearchClause::CTESearchClause(
    ::google::protobuf::Arena* arena,
    const CTESearchClause& from)
    : ::google::protobuf::Message(arena) {
  CTESearchClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, search_breadth_first_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, search_breadth_first_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, search_breadth_first_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CTESearchClause)
}
inline PROTOBUF_NDEBUG_INLINE CTESearchClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : search_col_list_{visibility, arena},
        search_seq_column_(arena),
        _cached_size_{0} {}

inline void CTESearchClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, search_breadth_first_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, search_breadth_first_) +
               sizeof(Impl_::location_));
}
CTESearchClause::~CTESearchClause() {
  // @@protoc_insertion_point(destructor:pg_query.CTESearchClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CTESearchClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.search_seq_column_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CTESearchClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CTESearchClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.search_col_list_.Clear();
  _impl_.search_seq_column_.ClearToEmpty();
  ::memset(&_impl_.search_breadth_first_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.search_breadth_first_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CTESearchClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 50, 2> CTESearchClause::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CTESearchClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTESearchClause, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.location_)}},
    // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_col_list_)}},
    // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CTESearchClause, _impl_.search_breadth_first_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_breadth_first_)}},
    // string search_seq_column = 3 [json_name = "search_seq_column"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_seq_column_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
    {PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_col_list_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
    {PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_breadth_first_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string search_seq_column = 3 [json_name = "search_seq_column"];
    {PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_seq_column_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\0\21\0\0\0\0"
    "pg_query.CTESearchClause"
    "search_seq_column"
  }},
};

::uint8_t* CTESearchClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CTESearchClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_search_col_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_search_col_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
  if (this->_internal_search_breadth_first() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_search_breadth_first(), target);
  }

  // string search_seq_column = 3 [json_name = "search_seq_column"];
  if (!this->_internal_search_seq_column().empty()) {
    const std::string& _s = this->_internal_search_seq_column();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CTESearchClause.search_seq_column");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CTESearchClause)
  return target;
}

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

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

  // repeated .pg_query.Node search_col_list = 1 [json_name = "search_col_list"];
  total_size += 1UL * this->_internal_search_col_list_size();
  for (const auto& msg : this->_internal_search_col_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string search_seq_column = 3 [json_name = "search_seq_column"];
  if (!this->_internal_search_seq_column().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_search_seq_column());
  }

  // bool search_breadth_first = 2 [json_name = "search_breadth_first"];
  if (this->_internal_search_breadth_first() != 0) {
    total_size += 2;
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CTESearchClause::_class_data_ = {
    CTESearchClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CTESearchClause::GetClassData() const {
  return &_class_data_;
}

void CTESearchClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CTESearchClause*>(&to_msg);
  auto& from = static_cast<const CTESearchClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CTESearchClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_search_col_list()->MergeFrom(
      from._internal_search_col_list());
  if (!from._internal_search_seq_column().empty()) {
    _this->_internal_set_search_seq_column(from._internal_search_seq_column());
  }
  if (from._internal_search_breadth_first() != 0) {
    _this->_internal_set_search_breadth_first(from._internal_search_breadth_first());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CTESearchClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CTESearchClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CTESearchClause::InternalSwap(CTESearchClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.search_col_list_.InternalSwap(&other->_impl_.search_col_list_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.search_seq_column_, &other->_impl_.search_seq_column_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.location_)
      + sizeof(CTESearchClause::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(CTESearchClause, _impl_.search_breadth_first_)>(
          reinterpret_cast<char*>(&_impl_.search_breadth_first_),
          reinterpret_cast<char*>(&other->_impl_.search_breadth_first_));
}

::google::protobuf::Metadata CTESearchClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[121]);
}
// ===================================================================

class CTECycleClause::_Internal {
 public:
  using HasBits = decltype(std::declval<CTECycleClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_._has_bits_);
  static const ::pg_query::Node& cycle_mark_value(const CTECycleClause* msg);
  static void set_has_cycle_mark_value(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& cycle_mark_default(const CTECycleClause* msg);
  static void set_has_cycle_mark_default(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& CTECycleClause::_Internal::cycle_mark_value(const CTECycleClause* msg) {
  return *msg->_impl_.cycle_mark_value_;
}
const ::pg_query::Node& CTECycleClause::_Internal::cycle_mark_default(const CTECycleClause* msg) {
  return *msg->_impl_.cycle_mark_default_;
}
CTECycleClause::CTECycleClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CTECycleClause)
}
inline PROTOBUF_NDEBUG_INLINE CTECycleClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cycle_col_list_{visibility, arena, from.cycle_col_list_},
        cycle_mark_column_(arena, from.cycle_mark_column_),
        cycle_path_column_(arena, from.cycle_path_column_) {}

CTECycleClause::CTECycleClause(
    ::google::protobuf::Arena* arena,
    const CTECycleClause& from)
    : ::google::protobuf::Message(arena) {
  CTECycleClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.cycle_mark_value_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.cycle_mark_value_)
                : nullptr;
  _impl_.cycle_mark_default_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.cycle_mark_default_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, location_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, location_),
           offsetof(Impl_, cycle_mark_neop_) -
               offsetof(Impl_, location_) +
               sizeof(Impl_::cycle_mark_neop_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CTECycleClause)
}
inline PROTOBUF_NDEBUG_INLINE CTECycleClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        cycle_col_list_{visibility, arena},
        cycle_mark_column_(arena),
        cycle_path_column_(arena) {}

inline void CTECycleClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, cycle_mark_value_),
           0,
           offsetof(Impl_, cycle_mark_neop_) -
               offsetof(Impl_, cycle_mark_value_) +
               sizeof(Impl_::cycle_mark_neop_));
}
CTECycleClause::~CTECycleClause() {
  // @@protoc_insertion_point(destructor:pg_query.CTECycleClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CTECycleClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.cycle_mark_column_.Destroy();
  _impl_.cycle_path_column_.Destroy();
  delete _impl_.cycle_mark_value_;
  delete _impl_.cycle_mark_default_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CTECycleClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CTECycleClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cycle_col_list_.Clear();
  _impl_.cycle_mark_column_.ClearToEmpty();
  _impl_.cycle_path_column_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.cycle_mark_value_ != nullptr);
      _impl_.cycle_mark_value_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.cycle_mark_default_ != nullptr);
      _impl_.cycle_mark_default_->Clear();
    }
  }
  ::memset(&_impl_.location_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.cycle_mark_neop_) -
      reinterpret_cast<char*>(&_impl_.location_)) + sizeof(_impl_.cycle_mark_neop_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CTECycleClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 10, 3, 74, 2> CTECycleClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_._has_bits_),
    0, // no _extensions_
    10, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966272,  // skipmap
    offsetof(decltype(_table_), field_entries),
    10,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CTECycleClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_col_list_)}},
    // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_column_)}},
    // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_value_)}},
    // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 2, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_default_)}},
    // string cycle_path_column = 5 [json_name = "cycle_path_column"];
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_path_column_)}},
    // int32 location = 6 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTECycleClause, _impl_.location_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.location_)}},
    // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTECycleClause, _impl_.cycle_mark_type_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_type_)}},
    // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTECycleClause, _impl_.cycle_mark_typmod_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_typmod_)}},
    // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTECycleClause, _impl_.cycle_mark_collation_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_collation_)}},
    // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CTECycleClause, _impl_.cycle_mark_neop_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_neop_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_col_list_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_column_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_value_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_default_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string cycle_path_column = 5 [json_name = "cycle_path_column"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_path_column_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 location = 6 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_typmod_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_collation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
    {PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_neop_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\27\0\21\0\0\21\0\0\0\0\0\0\0\0\0\0"
    "pg_query.CTECycleClause"
    "cycle_mark_column"
    "cycle_path_column"
  }},
};

::uint8_t* CTECycleClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CTECycleClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cycle_col_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_cycle_col_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
  if (!this->_internal_cycle_mark_column().empty()) {
    const std::string& _s = this->_internal_cycle_mark_column();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CTECycleClause.cycle_mark_column");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::cycle_mark_value(this),
        _Internal::cycle_mark_value(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::cycle_mark_default(this),
        _Internal::cycle_mark_default(this).GetCachedSize(), target, stream);
  }

  // string cycle_path_column = 5 [json_name = "cycle_path_column"];
  if (!this->_internal_cycle_path_column().empty()) {
    const std::string& _s = this->_internal_cycle_path_column();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CTECycleClause.cycle_path_column");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_location(), target);
  }

  // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
  if (this->_internal_cycle_mark_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        7, this->_internal_cycle_mark_type(), target);
  }

  // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
  if (this->_internal_cycle_mark_typmod() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_cycle_mark_typmod(), target);
  }

  // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
  if (this->_internal_cycle_mark_collation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        9, this->_internal_cycle_mark_collation(), target);
  }

  // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
  if (this->_internal_cycle_mark_neop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        10, this->_internal_cycle_mark_neop(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CTECycleClause)
  return target;
}

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

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

  // repeated .pg_query.Node cycle_col_list = 1 [json_name = "cycle_col_list"];
  total_size += 1UL * this->_internal_cycle_col_list_size();
  for (const auto& msg : this->_internal_cycle_col_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string cycle_mark_column = 2 [json_name = "cycle_mark_column"];
  if (!this->_internal_cycle_mark_column().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_cycle_mark_column());
  }

  // string cycle_path_column = 5 [json_name = "cycle_path_column"];
  if (!this->_internal_cycle_path_column().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_cycle_path_column());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node cycle_mark_value = 3 [json_name = "cycle_mark_value"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.cycle_mark_value_);
    }

    // .pg_query.Node cycle_mark_default = 4 [json_name = "cycle_mark_default"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.cycle_mark_default_);
    }

  }
  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  // uint32 cycle_mark_type = 7 [json_name = "cycle_mark_type"];
  if (this->_internal_cycle_mark_type() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_cycle_mark_type());
  }

  // int32 cycle_mark_typmod = 8 [json_name = "cycle_mark_typmod"];
  if (this->_internal_cycle_mark_typmod() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_cycle_mark_typmod());
  }

  // uint32 cycle_mark_collation = 9 [json_name = "cycle_mark_collation"];
  if (this->_internal_cycle_mark_collation() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_cycle_mark_collation());
  }

  // uint32 cycle_mark_neop = 10 [json_name = "cycle_mark_neop"];
  if (this->_internal_cycle_mark_neop() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_cycle_mark_neop());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CTECycleClause::_class_data_ = {
    CTECycleClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CTECycleClause::GetClassData() const {
  return &_class_data_;
}

void CTECycleClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CTECycleClause*>(&to_msg);
  auto& from = static_cast<const CTECycleClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CTECycleClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cycle_col_list()->MergeFrom(
      from._internal_cycle_col_list());
  if (!from._internal_cycle_mark_column().empty()) {
    _this->_internal_set_cycle_mark_column(from._internal_cycle_mark_column());
  }
  if (!from._internal_cycle_path_column().empty()) {
    _this->_internal_set_cycle_path_column(from._internal_cycle_path_column());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_cycle_mark_value()->::pg_query::Node::MergeFrom(
          from._internal_cycle_mark_value());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_cycle_mark_default()->::pg_query::Node::MergeFrom(
          from._internal_cycle_mark_default());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_cycle_mark_type() != 0) {
    _this->_internal_set_cycle_mark_type(from._internal_cycle_mark_type());
  }
  if (from._internal_cycle_mark_typmod() != 0) {
    _this->_internal_set_cycle_mark_typmod(from._internal_cycle_mark_typmod());
  }
  if (from._internal_cycle_mark_collation() != 0) {
    _this->_internal_set_cycle_mark_collation(from._internal_cycle_mark_collation());
  }
  if (from._internal_cycle_mark_neop() != 0) {
    _this->_internal_set_cycle_mark_neop(from._internal_cycle_mark_neop());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CTECycleClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CTECycleClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CTECycleClause::InternalSwap(CTECycleClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cycle_col_list_.InternalSwap(&other->_impl_.cycle_col_list_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cycle_mark_column_, &other->_impl_.cycle_mark_column_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cycle_path_column_, &other->_impl_.cycle_path_column_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_neop_)
      + sizeof(CTECycleClause::_impl_.cycle_mark_neop_)
      - PROTOBUF_FIELD_OFFSET(CTECycleClause, _impl_.cycle_mark_value_)>(
          reinterpret_cast<char*>(&_impl_.cycle_mark_value_),
          reinterpret_cast<char*>(&other->_impl_.cycle_mark_value_));
}

::google::protobuf::Metadata CTECycleClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[122]);
}
// ===================================================================

class CommonTableExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<CommonTableExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_._has_bits_);
  static const ::pg_query::Node& ctequery(const CommonTableExpr* msg);
  static void set_has_ctequery(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::CTESearchClause& search_clause(const CommonTableExpr* msg);
  static void set_has_search_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::CTECycleClause& cycle_clause(const CommonTableExpr* msg);
  static void set_has_cycle_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& CommonTableExpr::_Internal::ctequery(const CommonTableExpr* msg) {
  return *msg->_impl_.ctequery_;
}
const ::pg_query::CTESearchClause& CommonTableExpr::_Internal::search_clause(const CommonTableExpr* msg) {
  return *msg->_impl_.search_clause_;
}
const ::pg_query::CTECycleClause& CommonTableExpr::_Internal::cycle_clause(const CommonTableExpr* msg) {
  return *msg->_impl_.cycle_clause_;
}
CommonTableExpr::CommonTableExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommonTableExpr)
}
inline PROTOBUF_NDEBUG_INLINE CommonTableExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        aliascolnames_{visibility, arena, from.aliascolnames_},
        ctecolnames_{visibility, arena, from.ctecolnames_},
        ctecoltypes_{visibility, arena, from.ctecoltypes_},
        ctecoltypmods_{visibility, arena, from.ctecoltypmods_},
        ctecolcollations_{visibility, arena, from.ctecolcollations_},
        ctename_(arena, from.ctename_) {}

CommonTableExpr::CommonTableExpr(
    ::google::protobuf::Arena* arena,
    const CommonTableExpr& from)
    : ::google::protobuf::Message(arena) {
  CommonTableExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.ctequery_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.ctequery_)
                : nullptr;
  _impl_.search_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::CTESearchClause>(arena, *from._impl_.search_clause_)
                : nullptr;
  _impl_.cycle_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::CTECycleClause>(arena, *from._impl_.cycle_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, ctematerialized_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, ctematerialized_),
           offsetof(Impl_, cterefcount_) -
               offsetof(Impl_, ctematerialized_) +
               sizeof(Impl_::cterefcount_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CommonTableExpr)
}
inline PROTOBUF_NDEBUG_INLINE CommonTableExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        aliascolnames_{visibility, arena},
        ctecolnames_{visibility, arena},
        ctecoltypes_{visibility, arena},
        ctecoltypmods_{visibility, arena},
        ctecolcollations_{visibility, arena},
        ctename_(arena) {}

inline void CommonTableExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, ctequery_),
           0,
           offsetof(Impl_, cterefcount_) -
               offsetof(Impl_, ctequery_) +
               sizeof(Impl_::cterefcount_));
}
CommonTableExpr::~CommonTableExpr() {
  // @@protoc_insertion_point(destructor:pg_query.CommonTableExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CommonTableExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.ctename_.Destroy();
  delete _impl_.ctequery_;
  delete _impl_.search_clause_;
  delete _impl_.cycle_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CommonTableExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CommonTableExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.aliascolnames_.Clear();
  _impl_.ctecolnames_.Clear();
  _impl_.ctecoltypes_.Clear();
  _impl_.ctecoltypmods_.Clear();
  _impl_.ctecolcollations_.Clear();
  _impl_.ctename_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.ctequery_ != nullptr);
      _impl_.ctequery_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.search_clause_ != nullptr);
      _impl_.search_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.cycle_clause_ != nullptr);
      _impl_.cycle_clause_->Clear();
    }
  }
  ::memset(&_impl_.ctematerialized_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.cterefcount_) -
      reinterpret_cast<char*>(&_impl_.ctematerialized_)) + sizeof(_impl_.cterefcount_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CommonTableExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 13, 8, 48, 2> CommonTableExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_._has_bits_),
    0, // no _extensions_
    13, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294959104,  // skipmap
    offsetof(decltype(_table_), field_entries),
    13,  // num_field_entries
    8,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CommonTableExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string ctename = 1 [json_name = "ctename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctename_)}},
    // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.aliascolnames_)}},
    // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CommonTableExpr, _impl_.ctematerialized_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctematerialized_)}},
    // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 1, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctequery_)}},
    // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 2, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.search_clause_)}},
    // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 3, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cycle_clause_)}},
    // int32 location = 7 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CommonTableExpr, _impl_.location_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.location_)}},
    // bool cterecursive = 8 [json_name = "cterecursive"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CommonTableExpr, _impl_.cterecursive_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterecursive_)}},
    // int32 cterefcount = 9 [json_name = "cterefcount"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CommonTableExpr, _impl_.cterefcount_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterefcount_)}},
    // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 4, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecolnames_)}},
    // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
    {::_pbi::TcParser::FastMtR1,
     {90, 63, 5, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecoltypes_)}},
    // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 6, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecoltypmods_)}},
    // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
    {::_pbi::TcParser::FastMtR1,
     {106, 63, 7, PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecolcollations_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string ctename = 1 [json_name = "ctename"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.aliascolnames_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctematerialized_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctequery_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.search_clause_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cycle_clause_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 7 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool cterecursive = 8 [json_name = "cterecursive"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterecursive_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 cterefcount = 9 [json_name = "cterefcount"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterefcount_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecolnames_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecoltypes_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecoltypmods_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
    {PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctecolcollations_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::CTESearchClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::CTECycleClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\7\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.CommonTableExpr"
    "ctename"
  }},
};

::uint8_t* CommonTableExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CommonTableExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string ctename = 1 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    const std::string& _s = this->_internal_ctename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CommonTableExpr.ctename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aliascolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_aliascolnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->_internal_ctematerialized() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_ctematerialized(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::ctequery(this),
        _Internal::ctequery(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::search_clause(this),
        _Internal::search_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::cycle_clause(this),
        _Internal::cycle_clause(this).GetCachedSize(), target, stream);
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<7>(
            stream, this->_internal_location(), target);
  }

  // bool cterecursive = 8 [json_name = "cterecursive"];
  if (this->_internal_cterecursive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_cterecursive(), target);
  }

  // int32 cterefcount = 9 [json_name = "cterefcount"];
  if (this->_internal_cterefcount() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<9>(
            stream, this->_internal_cterefcount(), target);
  }

  // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecolnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecolnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecoltypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecoltypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecoltypmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecoltypmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_ctecolcollations_size()); i < n; i++) {
    const auto& repfield = this->_internal_ctecolcollations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CommonTableExpr)
  return target;
}

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

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

  // repeated .pg_query.Node aliascolnames = 2 [json_name = "aliascolnames"];
  total_size += 1UL * this->_internal_aliascolnames_size();
  for (const auto& msg : this->_internal_aliascolnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node ctecolnames = 10 [json_name = "ctecolnames"];
  total_size += 1UL * this->_internal_ctecolnames_size();
  for (const auto& msg : this->_internal_ctecolnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node ctecoltypes = 11 [json_name = "ctecoltypes"];
  total_size += 1UL * this->_internal_ctecoltypes_size();
  for (const auto& msg : this->_internal_ctecoltypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node ctecoltypmods = 12 [json_name = "ctecoltypmods"];
  total_size += 1UL * this->_internal_ctecoltypmods_size();
  for (const auto& msg : this->_internal_ctecoltypmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node ctecolcollations = 13 [json_name = "ctecolcollations"];
  total_size += 1UL * this->_internal_ctecolcollations_size();
  for (const auto& msg : this->_internal_ctecolcollations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string ctename = 1 [json_name = "ctename"];
  if (!this->_internal_ctename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_ctename());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node ctequery = 4 [json_name = "ctequery"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.ctequery_);
    }

    // .pg_query.CTESearchClause search_clause = 5 [json_name = "search_clause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.search_clause_);
    }

    // .pg_query.CTECycleClause cycle_clause = 6 [json_name = "cycle_clause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.cycle_clause_);
    }

  }
  // .pg_query.CTEMaterialize ctematerialized = 3 [json_name = "ctematerialized"];
  if (this->_internal_ctematerialized() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_ctematerialized());
  }

  // int32 location = 7 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  // bool cterecursive = 8 [json_name = "cterecursive"];
  if (this->_internal_cterecursive() != 0) {
    total_size += 2;
  }

  // int32 cterefcount = 9 [json_name = "cterefcount"];
  if (this->_internal_cterefcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_cterefcount());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CommonTableExpr::_class_data_ = {
    CommonTableExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CommonTableExpr::GetClassData() const {
  return &_class_data_;
}

void CommonTableExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CommonTableExpr*>(&to_msg);
  auto& from = static_cast<const CommonTableExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CommonTableExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_aliascolnames()->MergeFrom(
      from._internal_aliascolnames());
  _this->_internal_mutable_ctecolnames()->MergeFrom(
      from._internal_ctecolnames());
  _this->_internal_mutable_ctecoltypes()->MergeFrom(
      from._internal_ctecoltypes());
  _this->_internal_mutable_ctecoltypmods()->MergeFrom(
      from._internal_ctecoltypmods());
  _this->_internal_mutable_ctecolcollations()->MergeFrom(
      from._internal_ctecolcollations());
  if (!from._internal_ctename().empty()) {
    _this->_internal_set_ctename(from._internal_ctename());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_ctequery()->::pg_query::Node::MergeFrom(
          from._internal_ctequery());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_search_clause()->::pg_query::CTESearchClause::MergeFrom(
          from._internal_search_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_cycle_clause()->::pg_query::CTECycleClause::MergeFrom(
          from._internal_cycle_clause());
    }
  }
  if (from._internal_ctematerialized() != 0) {
    _this->_internal_set_ctematerialized(from._internal_ctematerialized());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  if (from._internal_cterecursive() != 0) {
    _this->_internal_set_cterecursive(from._internal_cterecursive());
  }
  if (from._internal_cterefcount() != 0) {
    _this->_internal_set_cterefcount(from._internal_cterefcount());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CommonTableExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CommonTableExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CommonTableExpr::InternalSwap(CommonTableExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.aliascolnames_.InternalSwap(&other->_impl_.aliascolnames_);
  _impl_.ctecolnames_.InternalSwap(&other->_impl_.ctecolnames_);
  _impl_.ctecoltypes_.InternalSwap(&other->_impl_.ctecoltypes_);
  _impl_.ctecoltypmods_.InternalSwap(&other->_impl_.ctecoltypmods_);
  _impl_.ctecolcollations_.InternalSwap(&other->_impl_.ctecolcollations_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.ctename_, &other->_impl_.ctename_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.cterefcount_)
      + sizeof(CommonTableExpr::_impl_.cterefcount_)
      - PROTOBUF_FIELD_OFFSET(CommonTableExpr, _impl_.ctequery_)>(
          reinterpret_cast<char*>(&_impl_.ctequery_),
          reinterpret_cast<char*>(&other->_impl_.ctequery_));
}

::google::protobuf::Metadata CommonTableExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[123]);
}
// ===================================================================

class MergeWhenClause::_Internal {
 public:
  using HasBits = decltype(std::declval<MergeWhenClause>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_._has_bits_);
  static const ::pg_query::Node& condition(const MergeWhenClause* msg);
  static void set_has_condition(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& MergeWhenClause::_Internal::condition(const MergeWhenClause* msg) {
  return *msg->_impl_.condition_;
}
MergeWhenClause::MergeWhenClause(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeWhenClause)
}
inline PROTOBUF_NDEBUG_INLINE MergeWhenClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_list_{visibility, arena, from.target_list_},
        values_{visibility, arena, from.values_} {}

MergeWhenClause::MergeWhenClause(
    ::google::protobuf::Arena* arena,
    const MergeWhenClause& from)
    : ::google::protobuf::Message(arena) {
  MergeWhenClause* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.condition_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.condition_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, match_kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, match_kind_),
           offsetof(Impl_, override_) -
               offsetof(Impl_, match_kind_) +
               sizeof(Impl_::override_));

  // @@protoc_insertion_point(copy_constructor:pg_query.MergeWhenClause)
}
inline PROTOBUF_NDEBUG_INLINE MergeWhenClause::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        target_list_{visibility, arena},
        values_{visibility, arena} {}

inline void MergeWhenClause::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, condition_),
           0,
           offsetof(Impl_, override_) -
               offsetof(Impl_, condition_) +
               sizeof(Impl_::override_));
}
MergeWhenClause::~MergeWhenClause() {
  // @@protoc_insertion_point(destructor:pg_query.MergeWhenClause)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MergeWhenClause::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.condition_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MergeWhenClause::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MergeWhenClause)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  _impl_.values_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.condition_ != nullptr);
    _impl_.condition_->Clear();
  }
  ::memset(&_impl_.match_kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.override_) -
      reinterpret_cast<char*>(&_impl_.match_kind_)) + sizeof(_impl_.override_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MergeWhenClause::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 0, 2> MergeWhenClause::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MergeWhenClause_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeWhenClause, _impl_.match_kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.match_kind_)}},
    // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeWhenClause, _impl_.command_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.command_type_)}},
    // .pg_query.OverridingKind override = 3 [json_name = "override"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(MergeWhenClause, _impl_.override_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.override_)}},
    // .pg_query.Node condition = 4 [json_name = "condition"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.condition_)}},
    // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.target_list_)}},
    // repeated .pg_query.Node values = 6 [json_name = "values"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.values_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.match_kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.command_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.OverridingKind override = 3 [json_name = "override"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.override_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node condition = 4 [json_name = "condition"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.condition_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.target_list_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node values = 6 [json_name = "values"];
    {PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.values_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* MergeWhenClause::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MergeWhenClause)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
  if (this->_internal_match_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_match_kind(), target);
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_command_type(), target);
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_override(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node condition = 4 [json_name = "condition"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::condition(this),
        _Internal::condition(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values = 6 [json_name = "values"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_size()); i < n; i++) {
    const auto& repfield = this->_internal_values().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MergeWhenClause)
  return target;
}

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

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

  // repeated .pg_query.Node target_list = 5 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node values = 6 [json_name = "values"];
  total_size += 1UL * this->_internal_values_size();
  for (const auto& msg : this->_internal_values()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node condition = 4 [json_name = "condition"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.condition_);
  }

  // .pg_query.MergeMatchKind match_kind = 1 [json_name = "matchKind"];
  if (this->_internal_match_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_match_kind());
  }

  // .pg_query.CmdType command_type = 2 [json_name = "commandType"];
  if (this->_internal_command_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_command_type());
  }

  // .pg_query.OverridingKind override = 3 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MergeWhenClause::_class_data_ = {
    MergeWhenClause::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MergeWhenClause::GetClassData() const {
  return &_class_data_;
}

void MergeWhenClause::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MergeWhenClause*>(&to_msg);
  auto& from = static_cast<const MergeWhenClause&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeWhenClause)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  _this->_internal_mutable_values()->MergeFrom(
      from._internal_values());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_condition()->::pg_query::Node::MergeFrom(
        from._internal_condition());
  }
  if (from._internal_match_kind() != 0) {
    _this->_internal_set_match_kind(from._internal_match_kind());
  }
  if (from._internal_command_type() != 0) {
    _this->_internal_set_command_type(from._internal_command_type());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MergeWhenClause::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MergeWhenClause::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MergeWhenClause::InternalSwap(MergeWhenClause* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.values_.InternalSwap(&other->_impl_.values_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.override_)
      + sizeof(MergeWhenClause::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(MergeWhenClause, _impl_.condition_)>(
          reinterpret_cast<char*>(&_impl_.condition_),
          reinterpret_cast<char*>(&other->_impl_.condition_));
}

::google::protobuf::Metadata MergeWhenClause::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[124]);
}
// ===================================================================

class TriggerTransition::_Internal {
 public:
};

TriggerTransition::TriggerTransition(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TriggerTransition)
}
inline PROTOBUF_NDEBUG_INLINE TriggerTransition::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        _cached_size_{0} {}

TriggerTransition::TriggerTransition(
    ::google::protobuf::Arena* arena,
    const TriggerTransition& from)
    : ::google::protobuf::Message(arena) {
  TriggerTransition* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_new_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, is_new_),
           offsetof(Impl_, is_table_) -
               offsetof(Impl_, is_new_) +
               sizeof(Impl_::is_table_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TriggerTransition)
}
inline PROTOBUF_NDEBUG_INLINE TriggerTransition::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        _cached_size_{0} {}

inline void TriggerTransition::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_new_),
           0,
           offsetof(Impl_, is_table_) -
               offsetof(Impl_, is_new_) +
               sizeof(Impl_::is_table_));
}
TriggerTransition::~TriggerTransition() {
  // @@protoc_insertion_point(destructor:pg_query.TriggerTransition)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TriggerTransition::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TriggerTransition::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TriggerTransition)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  ::memset(&_impl_.is_new_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.is_table_) -
      reinterpret_cast<char*>(&_impl_.is_new_)) + sizeof(_impl_.is_table_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TriggerTransition::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 39, 2> TriggerTransition::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_TriggerTransition_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.name_)}},
    // bool is_new = 2 [json_name = "isNew"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TriggerTransition, _impl_.is_new_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_new_)}},
    // bool is_table = 3 [json_name = "isTable"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TriggerTransition, _impl_.is_table_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_table_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool is_new = 2 [json_name = "isNew"];
    {PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_new_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_table = 3 [json_name = "isTable"];
    {PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_table_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\32\4\0\0\0\0\0\0"
    "pg_query.TriggerTransition"
    "name"
  }},
};

::uint8_t* TriggerTransition::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TriggerTransition)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.TriggerTransition.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool is_new = 2 [json_name = "isNew"];
  if (this->_internal_is_new() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_is_new(), target);
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->_internal_is_table() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_table(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TriggerTransition)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // bool is_new = 2 [json_name = "isNew"];
  if (this->_internal_is_new() != 0) {
    total_size += 2;
  }

  // bool is_table = 3 [json_name = "isTable"];
  if (this->_internal_is_table() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TriggerTransition::_class_data_ = {
    TriggerTransition::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TriggerTransition::GetClassData() const {
  return &_class_data_;
}

void TriggerTransition::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TriggerTransition*>(&to_msg);
  auto& from = static_cast<const TriggerTransition&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TriggerTransition)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_is_new() != 0) {
    _this->_internal_set_is_new(from._internal_is_new());
  }
  if (from._internal_is_table() != 0) {
    _this->_internal_set_is_table(from._internal_is_table());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TriggerTransition::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TriggerTransition::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TriggerTransition::InternalSwap(TriggerTransition* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_table_)
      + sizeof(TriggerTransition::_impl_.is_table_)
      - PROTOBUF_FIELD_OFFSET(TriggerTransition, _impl_.is_new_)>(
          reinterpret_cast<char*>(&_impl_.is_new_),
          reinterpret_cast<char*>(&other->_impl_.is_new_));
}

::google::protobuf::Metadata TriggerTransition::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[125]);
}
// ===================================================================

class JsonOutput::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonOutput>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const JsonOutput* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonReturning& returning(const JsonOutput* msg);
  static void set_has_returning(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::TypeName& JsonOutput::_Internal::type_name(const JsonOutput* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::JsonReturning& JsonOutput::_Internal::returning(const JsonOutput* msg) {
  return *msg->_impl_.returning_;
}
JsonOutput::JsonOutput(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonOutput)
}
inline PROTOBUF_NDEBUG_INLINE JsonOutput::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonOutput::JsonOutput(
    ::google::protobuf::Arena* arena,
    const JsonOutput& from)
    : ::google::protobuf::Message(arena) {
  JsonOutput* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.returning_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonReturning>(arena, *from._impl_.returning_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonOutput)
}
inline PROTOBUF_NDEBUG_INLINE JsonOutput::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonOutput::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, returning_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::returning_));
}
JsonOutput::~JsonOutput() {
  // @@protoc_insertion_point(destructor:pg_query.JsonOutput)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonOutput::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.type_name_;
  delete _impl_.returning_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonOutput::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonOutput)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.returning_ != nullptr);
      _impl_.returning_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonOutput::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> JsonOutput::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonOutput_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.JsonReturning returning = 2 [json_name = "returning"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.returning_)}},
    // .pg_query.TypeName type_name = 1 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.type_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.TypeName type_name = 1 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonReturning returning = 2 [json_name = "returning"];
    {PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.returning_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonReturning>()},
  }}, {{
  }},
};

::uint8_t* JsonOutput::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonOutput)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 1 [json_name = "typeName"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonReturning returning = 2 [json_name = "returning"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::returning(this),
        _Internal::returning(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonOutput)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.TypeName type_name = 1 [json_name = "typeName"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.JsonReturning returning = 2 [json_name = "returning"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.returning_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonOutput::_class_data_ = {
    JsonOutput::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonOutput::GetClassData() const {
  return &_class_data_;
}

void JsonOutput::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonOutput*>(&to_msg);
  auto& from = static_cast<const JsonOutput&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonOutput)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_returning()->::pg_query::JsonReturning::MergeFrom(
          from._internal_returning());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonOutput::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonOutput::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonOutput::InternalSwap(JsonOutput* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.returning_)
      + sizeof(JsonOutput::_impl_.returning_)
      - PROTOBUF_FIELD_OFFSET(JsonOutput, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata JsonOutput::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[126]);
}
// ===================================================================

class JsonArgument::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonArgument>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_._has_bits_);
  static const ::pg_query::JsonValueExpr& val(const JsonArgument* msg);
  static void set_has_val(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::JsonValueExpr& JsonArgument::_Internal::val(const JsonArgument* msg) {
  return *msg->_impl_.val_;
}
JsonArgument::JsonArgument(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonArgument)
}
inline PROTOBUF_NDEBUG_INLINE JsonArgument::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

JsonArgument::JsonArgument(
    ::google::protobuf::Arena* arena,
    const JsonArgument& from)
    : ::google::protobuf::Message(arena) {
  JsonArgument* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.val_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.val_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonArgument)
}
inline PROTOBUF_NDEBUG_INLINE JsonArgument::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void JsonArgument::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.val_ = {};
}
JsonArgument::~JsonArgument() {
  // @@protoc_insertion_point(destructor:pg_query.JsonArgument)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonArgument::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.val_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonArgument::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonArgument)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.val_ != nullptr);
    _impl_.val_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonArgument::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 34, 2> JsonArgument::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonArgument_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_.name_)}},
    // .pg_query.JsonValueExpr val = 1 [json_name = "val"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_.val_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonValueExpr val = 1 [json_name = "val"];
    {PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_.val_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(JsonArgument, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
  }}, {{
    "\25\0\4\0\0\0\0\0"
    "pg_query.JsonArgument"
    "name"
  }},
};

::uint8_t* JsonArgument::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonArgument)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonValueExpr val = 1 [json_name = "val"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::val(this),
        _Internal::val(this).GetCachedSize(), target, stream);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonArgument.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonArgument)
  return target;
}

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

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

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.JsonValueExpr val = 1 [json_name = "val"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonArgument::_class_data_ = {
    JsonArgument::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonArgument::GetClassData() const {
  return &_class_data_;
}

void JsonArgument::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonArgument*>(&to_msg);
  auto& from = static_cast<const JsonArgument&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonArgument)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_val()->::pg_query::JsonValueExpr::MergeFrom(
        from._internal_val());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonArgument::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonArgument::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonArgument::InternalSwap(JsonArgument* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.val_, other->_impl_.val_);
}

::google::protobuf::Metadata JsonArgument::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[127]);
}
// ===================================================================

class JsonFuncExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonFuncExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_._has_bits_);
  static const ::pg_query::JsonValueExpr& context_item(const JsonFuncExpr* msg);
  static void set_has_context_item(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& pathspec(const JsonFuncExpr* msg);
  static void set_has_pathspec(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonOutput& output(const JsonFuncExpr* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::JsonBehavior& on_empty(const JsonFuncExpr* msg);
  static void set_has_on_empty(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::JsonBehavior& on_error(const JsonFuncExpr* msg);
  static void set_has_on_error(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::pg_query::JsonValueExpr& JsonFuncExpr::_Internal::context_item(const JsonFuncExpr* msg) {
  return *msg->_impl_.context_item_;
}
const ::pg_query::Node& JsonFuncExpr::_Internal::pathspec(const JsonFuncExpr* msg) {
  return *msg->_impl_.pathspec_;
}
const ::pg_query::JsonOutput& JsonFuncExpr::_Internal::output(const JsonFuncExpr* msg) {
  return *msg->_impl_.output_;
}
const ::pg_query::JsonBehavior& JsonFuncExpr::_Internal::on_empty(const JsonFuncExpr* msg) {
  return *msg->_impl_.on_empty_;
}
const ::pg_query::JsonBehavior& JsonFuncExpr::_Internal::on_error(const JsonFuncExpr* msg) {
  return *msg->_impl_.on_error_;
}
JsonFuncExpr::JsonFuncExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonFuncExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonFuncExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        passing_{visibility, arena, from.passing_},
        column_name_(arena, from.column_name_) {}

JsonFuncExpr::JsonFuncExpr(
    ::google::protobuf::Arena* arena,
    const JsonFuncExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonFuncExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.context_item_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.context_item_)
                : nullptr;
  _impl_.pathspec_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.pathspec_)
                : nullptr;
  _impl_.output_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  _impl_.on_empty_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_empty_)
                : nullptr;
  _impl_.on_error_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_error_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, op_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, op_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, op_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonFuncExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonFuncExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        passing_{visibility, arena},
        column_name_(arena) {}

inline void JsonFuncExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, context_item_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, context_item_) +
               sizeof(Impl_::location_));
}
JsonFuncExpr::~JsonFuncExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonFuncExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonFuncExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.column_name_.Destroy();
  delete _impl_.context_item_;
  delete _impl_.pathspec_;
  delete _impl_.output_;
  delete _impl_.on_empty_;
  delete _impl_.on_error_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonFuncExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonFuncExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.passing_.Clear();
  _impl_.column_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.context_item_ != nullptr);
      _impl_.context_item_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.pathspec_ != nullptr);
      _impl_.pathspec_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.on_empty_ != nullptr);
      _impl_.on_empty_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.on_error_ != nullptr);
      _impl_.on_error_->Clear();
    }
  }
  ::memset(&_impl_.op_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonFuncExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 11, 6, 49, 2> JsonFuncExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_._has_bits_),
    0, // no _extensions_
    11, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965248,  // skipmap
    offsetof(decltype(_table_), field_entries),
    11,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonFuncExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonExprOp op = 1 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFuncExpr, _impl_.op_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.op_)}},
    // string column_name = 2 [json_name = "column_name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.column_name_)}},
    // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.context_item_)}},
    // .pg_query.Node pathspec = 4 [json_name = "pathspec"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.pathspec_)}},
    // repeated .pg_query.Node passing = 5 [json_name = "passing"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.passing_)}},
    // .pg_query.JsonOutput output = 6 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 3, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.output_)}},
    // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"];
    {::_pbi::TcParser::FastMtS1,
     {58, 3, 4, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.on_empty_)}},
    // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"];
    {::_pbi::TcParser::FastMtS1,
     {66, 4, 5, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.on_error_)}},
    // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFuncExpr, _impl_.wrapper_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.wrapper_)}},
    // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFuncExpr, _impl_.quotes_), 63>(),
     {80, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.quotes_)}},
    // int32 location = 11 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonFuncExpr, _impl_.location_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonExprOp op = 1 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string column_name = 2 [json_name = "column_name"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.column_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.context_item_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node pathspec = 4 [json_name = "pathspec"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.pathspec_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node passing = 5 [json_name = "passing"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.passing_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 6 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.output_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.on_empty_), _Internal::kHasBitsOffset + 3, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.on_error_), _Internal::kHasBitsOffset + 4, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.wrapper_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.quotes_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int32 location = 11 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
  }}, {{
    "\25\0\13\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.JsonFuncExpr"
    "column_name"
  }},
};

::uint8_t* JsonFuncExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonFuncExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.JsonExprOp op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_op(), target);
  }

  // string column_name = 2 [json_name = "column_name"];
  if (!this->_internal_column_name().empty()) {
    const std::string& _s = this->_internal_column_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonFuncExpr.column_name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::context_item(this),
        _Internal::context_item(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node pathspec = 4 [json_name = "pathspec"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::pathspec(this),
        _Internal::pathspec(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node passing = 5 [json_name = "passing"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_passing_size()); i < n; i++) {
    const auto& repfield = this->_internal_passing().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.JsonOutput output = 6 [json_name = "output"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::on_empty(this),
        _Internal::on_empty(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::on_error(this),
        _Internal::on_error(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this->_internal_wrapper(), target);
  }

  // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"];
  if (this->_internal_quotes() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        10, this->_internal_quotes(), target);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonFuncExpr)
  return target;
}

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

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

  // repeated .pg_query.Node passing = 5 [json_name = "passing"];
  total_size += 1UL * this->_internal_passing_size();
  for (const auto& msg : this->_internal_passing()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string column_name = 2 [json_name = "column_name"];
  if (!this->_internal_column_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_column_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // .pg_query.JsonValueExpr context_item = 3 [json_name = "context_item"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.context_item_);
    }

    // .pg_query.Node pathspec = 4 [json_name = "pathspec"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pathspec_);
    }

    // .pg_query.JsonOutput output = 6 [json_name = "output"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

    // .pg_query.JsonBehavior on_empty = 7 [json_name = "on_empty"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_empty_);
    }

    // .pg_query.JsonBehavior on_error = 8 [json_name = "on_error"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_error_);
    }

  }
  // .pg_query.JsonExprOp op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // .pg_query.JsonWrapper wrapper = 9 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_wrapper());
  }

  // .pg_query.JsonQuotes quotes = 10 [json_name = "quotes"];
  if (this->_internal_quotes() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_quotes());
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonFuncExpr::_class_data_ = {
    JsonFuncExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonFuncExpr::GetClassData() const {
  return &_class_data_;
}

void JsonFuncExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonFuncExpr*>(&to_msg);
  auto& from = static_cast<const JsonFuncExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonFuncExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_passing()->MergeFrom(
      from._internal_passing());
  if (!from._internal_column_name().empty()) {
    _this->_internal_set_column_name(from._internal_column_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_context_item()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_context_item());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_pathspec()->::pg_query::Node::MergeFrom(
          from._internal_pathspec());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_on_empty()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_empty());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_on_error()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_error());
    }
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_wrapper() != 0) {
    _this->_internal_set_wrapper(from._internal_wrapper());
  }
  if (from._internal_quotes() != 0) {
    _this->_internal_set_quotes(from._internal_quotes());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonFuncExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonFuncExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonFuncExpr::InternalSwap(JsonFuncExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.passing_.InternalSwap(&other->_impl_.passing_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.column_name_, &other->_impl_.column_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.location_)
      + sizeof(JsonFuncExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonFuncExpr, _impl_.context_item_)>(
          reinterpret_cast<char*>(&_impl_.context_item_),
          reinterpret_cast<char*>(&other->_impl_.context_item_));
}

::google::protobuf::Metadata JsonFuncExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[128]);
}
// ===================================================================

class JsonTablePathSpec::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonTablePathSpec>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_._has_bits_);
  static const ::pg_query::Node& string(const JsonTablePathSpec* msg);
  static void set_has_string(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& JsonTablePathSpec::_Internal::string(const JsonTablePathSpec* msg) {
  return *msg->_impl_.string_;
}
JsonTablePathSpec::JsonTablePathSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTablePathSpec)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePathSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

JsonTablePathSpec::JsonTablePathSpec(
    ::google::protobuf::Arena* arena,
    const JsonTablePathSpec& from)
    : ::google::protobuf::Message(arena) {
  JsonTablePathSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.string_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.string_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, name_location_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, name_location_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, name_location_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTablePathSpec)
}
inline PROTOBUF_NDEBUG_INLINE JsonTablePathSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void JsonTablePathSpec::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, string_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, string_) +
               sizeof(Impl_::location_));
}
JsonTablePathSpec::~JsonTablePathSpec() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTablePathSpec)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTablePathSpec::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.string_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTablePathSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTablePathSpec)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.string_ != nullptr);
    _impl_.string_->Clear();
  }
  ::memset(&_impl_.name_location_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.name_location_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTablePathSpec::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 39, 2> JsonTablePathSpec::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonTablePathSpec_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTablePathSpec, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.location_)}},
    // .pg_query.Node string = 1 [json_name = "string"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.string_)}},
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.name_)}},
    // int32 name_location = 3 [json_name = "name_location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTablePathSpec, _impl_.name_location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.name_location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node string = 1 [json_name = "string"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.string_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 name_location = 3 [json_name = "name_location"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.name_location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\0\4\0\0\0\0\0"
    "pg_query.JsonTablePathSpec"
    "name"
  }},
};

::uint8_t* JsonTablePathSpec::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTablePathSpec)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node string = 1 [json_name = "string"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::string(this),
        _Internal::string(this).GetCachedSize(), target, stream);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonTablePathSpec.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int32 name_location = 3 [json_name = "name_location"];
  if (this->_internal_name_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_name_location(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTablePathSpec)
  return target;
}

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

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

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node string = 1 [json_name = "string"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.string_);
  }

  // int32 name_location = 3 [json_name = "name_location"];
  if (this->_internal_name_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_name_location());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTablePathSpec::_class_data_ = {
    JsonTablePathSpec::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTablePathSpec::GetClassData() const {
  return &_class_data_;
}

void JsonTablePathSpec::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTablePathSpec*>(&to_msg);
  auto& from = static_cast<const JsonTablePathSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTablePathSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_string()->::pg_query::Node::MergeFrom(
        from._internal_string());
  }
  if (from._internal_name_location() != 0) {
    _this->_internal_set_name_location(from._internal_name_location());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTablePathSpec::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTablePathSpec::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTablePathSpec::InternalSwap(JsonTablePathSpec* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.location_)
      + sizeof(JsonTablePathSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonTablePathSpec, _impl_.string_)>(
          reinterpret_cast<char*>(&_impl_.string_),
          reinterpret_cast<char*>(&other->_impl_.string_));
}

::google::protobuf::Metadata JsonTablePathSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[129]);
}
// ===================================================================

class JsonTable::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonTable>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonTable, _impl_._has_bits_);
  static const ::pg_query::JsonValueExpr& context_item(const JsonTable* msg);
  static void set_has_context_item(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonTablePathSpec& pathspec(const JsonTable* msg);
  static void set_has_pathspec(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonBehavior& on_error(const JsonTable* msg);
  static void set_has_on_error(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::Alias& alias(const JsonTable* msg);
  static void set_has_alias(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::pg_query::JsonValueExpr& JsonTable::_Internal::context_item(const JsonTable* msg) {
  return *msg->_impl_.context_item_;
}
const ::pg_query::JsonTablePathSpec& JsonTable::_Internal::pathspec(const JsonTable* msg) {
  return *msg->_impl_.pathspec_;
}
const ::pg_query::JsonBehavior& JsonTable::_Internal::on_error(const JsonTable* msg) {
  return *msg->_impl_.on_error_;
}
const ::pg_query::Alias& JsonTable::_Internal::alias(const JsonTable* msg) {
  return *msg->_impl_.alias_;
}
JsonTable::JsonTable(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTable)
}
inline PROTOBUF_NDEBUG_INLINE JsonTable::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        passing_{visibility, arena, from.passing_},
        columns_{visibility, arena, from.columns_} {}

JsonTable::JsonTable(
    ::google::protobuf::Arena* arena,
    const JsonTable& from)
    : ::google::protobuf::Message(arena) {
  JsonTable* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.context_item_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.context_item_)
                : nullptr;
  _impl_.pathspec_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonTablePathSpec>(arena, *from._impl_.pathspec_)
                : nullptr;
  _impl_.on_error_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_error_)
                : nullptr;
  _impl_.alias_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::Alias>(arena, *from._impl_.alias_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lateral_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, lateral_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, lateral_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTable)
}
inline PROTOBUF_NDEBUG_INLINE JsonTable::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        passing_{visibility, arena},
        columns_{visibility, arena} {}

inline void JsonTable::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, context_item_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, context_item_) +
               sizeof(Impl_::location_));
}
JsonTable::~JsonTable() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTable)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTable::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.context_item_;
  delete _impl_.pathspec_;
  delete _impl_.on_error_;
  delete _impl_.alias_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTable::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTable)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.passing_.Clear();
  _impl_.columns_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.context_item_ != nullptr);
      _impl_.context_item_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.pathspec_ != nullptr);
      _impl_.pathspec_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.on_error_ != nullptr);
      _impl_.on_error_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.alias_ != nullptr);
      _impl_.alias_->Clear();
    }
  }
  ::memset(&_impl_.lateral_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.lateral_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTable::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 6, 0, 2> JsonTable::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonTable, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonTable_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 8 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTable, _impl_.location_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.location_)}},
    // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.context_item_)}},
    // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.pathspec_)}},
    // repeated .pg_query.Node passing = 3 [json_name = "passing"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.passing_)}},
    // repeated .pg_query.Node columns = 4 [json_name = "columns"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.columns_)}},
    // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 4, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.on_error_)}},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 5, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.alias_)}},
    // bool lateral = 7 [json_name = "lateral"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonTable, _impl_.lateral_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.lateral_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.context_item_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.pathspec_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node passing = 3 [json_name = "passing"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.passing_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node columns = 4 [json_name = "columns"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.columns_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.on_error_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Alias alias = 6 [json_name = "alias"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.alias_), _Internal::kHasBitsOffset + 3, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool lateral = 7 [json_name = "lateral"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.lateral_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 8 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePathSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
    {::_pbi::TcParser::GetTable<::pg_query::Alias>()},
  }}, {{
  }},
};

::uint8_t* JsonTable::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTable)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::context_item(this),
        _Internal::context_item(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::pathspec(this),
        _Internal::pathspec(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node passing = 3 [json_name = "passing"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_passing_size()); i < n; i++) {
    const auto& repfield = this->_internal_passing().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node columns = 4 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::on_error(this),
        _Internal::on_error(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Alias alias = 6 [json_name = "alias"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::alias(this),
        _Internal::alias(this).GetCachedSize(), target, stream);
  }

  // bool lateral = 7 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_lateral(), target);
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTable)
  return target;
}

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

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

  // repeated .pg_query.Node passing = 3 [json_name = "passing"];
  total_size += 1UL * this->_internal_passing_size();
  for (const auto& msg : this->_internal_passing()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node columns = 4 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_internal_columns()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // .pg_query.JsonValueExpr context_item = 1 [json_name = "context_item"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.context_item_);
    }

    // .pg_query.JsonTablePathSpec pathspec = 2 [json_name = "pathspec"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pathspec_);
    }

    // .pg_query.JsonBehavior on_error = 5 [json_name = "on_error"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_error_);
    }

    // .pg_query.Alias alias = 6 [json_name = "alias"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.alias_);
    }

  }
  // bool lateral = 7 [json_name = "lateral"];
  if (this->_internal_lateral() != 0) {
    total_size += 2;
  }

  // int32 location = 8 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTable::_class_data_ = {
    JsonTable::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTable::GetClassData() const {
  return &_class_data_;
}

void JsonTable::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTable*>(&to_msg);
  auto& from = static_cast<const JsonTable&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTable)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_passing()->MergeFrom(
      from._internal_passing());
  _this->_internal_mutable_columns()->MergeFrom(
      from._internal_columns());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_context_item()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_context_item());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_pathspec()->::pg_query::JsonTablePathSpec::MergeFrom(
          from._internal_pathspec());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_on_error()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_error());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_alias()->::pg_query::Alias::MergeFrom(
          from._internal_alias());
    }
  }
  if (from._internal_lateral() != 0) {
    _this->_internal_set_lateral(from._internal_lateral());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTable::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTable::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTable::InternalSwap(JsonTable* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.passing_.InternalSwap(&other->_impl_.passing_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.location_)
      + sizeof(JsonTable::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonTable, _impl_.context_item_)>(
          reinterpret_cast<char*>(&_impl_.context_item_),
          reinterpret_cast<char*>(&other->_impl_.context_item_));
}

::google::protobuf::Metadata JsonTable::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[130]);
}
// ===================================================================

class JsonTableColumn::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonTableColumn>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const JsonTableColumn* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonTablePathSpec& pathspec(const JsonTableColumn* msg);
  static void set_has_pathspec(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonFormat& format(const JsonTableColumn* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::JsonBehavior& on_empty(const JsonTableColumn* msg);
  static void set_has_on_empty(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::JsonBehavior& on_error(const JsonTableColumn* msg);
  static void set_has_on_error(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
};

const ::pg_query::TypeName& JsonTableColumn::_Internal::type_name(const JsonTableColumn* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::JsonTablePathSpec& JsonTableColumn::_Internal::pathspec(const JsonTableColumn* msg) {
  return *msg->_impl_.pathspec_;
}
const ::pg_query::JsonFormat& JsonTableColumn::_Internal::format(const JsonTableColumn* msg) {
  return *msg->_impl_.format_;
}
const ::pg_query::JsonBehavior& JsonTableColumn::_Internal::on_empty(const JsonTableColumn* msg) {
  return *msg->_impl_.on_empty_;
}
const ::pg_query::JsonBehavior& JsonTableColumn::_Internal::on_error(const JsonTableColumn* msg) {
  return *msg->_impl_.on_error_;
}
JsonTableColumn::JsonTableColumn(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonTableColumn)
}
inline PROTOBUF_NDEBUG_INLINE JsonTableColumn::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        columns_{visibility, arena, from.columns_},
        name_(arena, from.name_) {}

JsonTableColumn::JsonTableColumn(
    ::google::protobuf::Arena* arena,
    const JsonTableColumn& from)
    : ::google::protobuf::Message(arena) {
  JsonTableColumn* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.pathspec_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonTablePathSpec>(arena, *from._impl_.pathspec_)
                : nullptr;
  _impl_.format_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;
  _impl_.on_empty_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_empty_)
                : nullptr;
  _impl_.on_error_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::JsonBehavior>(arena, *from._impl_.on_error_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, coltype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, coltype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, coltype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonTableColumn)
}
inline PROTOBUF_NDEBUG_INLINE JsonTableColumn::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        columns_{visibility, arena},
        name_(arena) {}

inline void JsonTableColumn::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::location_));
}
JsonTableColumn::~JsonTableColumn() {
  // @@protoc_insertion_point(destructor:pg_query.JsonTableColumn)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonTableColumn::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.type_name_;
  delete _impl_.pathspec_;
  delete _impl_.format_;
  delete _impl_.on_empty_;
  delete _impl_.on_error_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonTableColumn::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonTableColumn)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.columns_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.pathspec_ != nullptr);
      _impl_.pathspec_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.format_ != nullptr);
      _impl_.format_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.on_empty_ != nullptr);
      _impl_.on_empty_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.on_error_ != nullptr);
      _impl_.on_error_->Clear();
    }
  }
  ::memset(&_impl_.coltype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.coltype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonTableColumn::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 11, 6, 45, 2> JsonTableColumn::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_._has_bits_),
    0, // no _extensions_
    11, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294965248,  // skipmap
    offsetof(decltype(_table_), field_entries),
    11,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonTableColumn_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTableColumn, _impl_.coltype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.coltype_)}},
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.name_)}},
    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.type_name_)}},
    // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.pathspec_)}},
    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 2, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.format_)}},
    // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTableColumn, _impl_.wrapper_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.wrapper_)}},
    // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTableColumn, _impl_.quotes_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.quotes_)}},
    // repeated .pg_query.Node columns = 8 [json_name = "columns"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 3, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.columns_)}},
    // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"];
    {::_pbi::TcParser::FastMtS1,
     {74, 3, 4, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.on_empty_)}},
    // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"];
    {::_pbi::TcParser::FastMtS1,
     {82, 4, 5, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.on_error_)}},
    // int32 location = 11 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonTableColumn, _impl_.location_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.coltype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.pathspec_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.format_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.wrapper_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.quotes_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node columns = 8 [json_name = "columns"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.columns_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.on_empty_), _Internal::kHasBitsOffset + 3, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.on_error_), _Internal::kHasBitsOffset + 4, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 11 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonTablePathSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonBehavior>()},
  }}, {{
    "\30\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.JsonTableColumn"
    "name"
  }},
};

::uint8_t* JsonTableColumn::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonTableColumn)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"];
  if (this->_internal_coltype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_coltype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.JsonTableColumn.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::pathspec(this),
        _Internal::pathspec(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonFormat format = 5 [json_name = "format"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_wrapper(), target);
  }

  // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"];
  if (this->_internal_quotes() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_quotes(), target);
  }

  // repeated .pg_query.Node columns = 8 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        9, _Internal::on_empty(this),
        _Internal::on_empty(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        10, _Internal::on_error(this),
        _Internal::on_error(this).GetCachedSize(), target, stream);
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonTableColumn)
  return target;
}

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

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

  // repeated .pg_query.Node columns = 8 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_internal_columns()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    // .pg_query.TypeName type_name = 3 [json_name = "typeName"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.JsonTablePathSpec pathspec = 4 [json_name = "pathspec"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pathspec_);
    }

    // .pg_query.JsonFormat format = 5 [json_name = "format"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
    }

    // .pg_query.JsonBehavior on_empty = 9 [json_name = "on_empty"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_empty_);
    }

    // .pg_query.JsonBehavior on_error = 10 [json_name = "on_error"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_error_);
    }

  }
  // .pg_query.JsonTableColumnType coltype = 1 [json_name = "coltype"];
  if (this->_internal_coltype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_coltype());
  }

  // .pg_query.JsonWrapper wrapper = 6 [json_name = "wrapper"];
  if (this->_internal_wrapper() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_wrapper());
  }

  // .pg_query.JsonQuotes quotes = 7 [json_name = "quotes"];
  if (this->_internal_quotes() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_quotes());
  }

  // int32 location = 11 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonTableColumn::_class_data_ = {
    JsonTableColumn::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonTableColumn::GetClassData() const {
  return &_class_data_;
}

void JsonTableColumn::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonTableColumn*>(&to_msg);
  auto& from = static_cast<const JsonTableColumn&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonTableColumn)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_columns()->MergeFrom(
      from._internal_columns());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_pathspec()->::pg_query::JsonTablePathSpec::MergeFrom(
          from._internal_pathspec());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_format());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_on_empty()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_empty());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_on_error()->::pg_query::JsonBehavior::MergeFrom(
          from._internal_on_error());
    }
  }
  if (from._internal_coltype() != 0) {
    _this->_internal_set_coltype(from._internal_coltype());
  }
  if (from._internal_wrapper() != 0) {
    _this->_internal_set_wrapper(from._internal_wrapper());
  }
  if (from._internal_quotes() != 0) {
    _this->_internal_set_quotes(from._internal_quotes());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonTableColumn::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonTableColumn::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonTableColumn::InternalSwap(JsonTableColumn* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.location_)
      + sizeof(JsonTableColumn::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonTableColumn, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata JsonTableColumn::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[131]);
}
// ===================================================================

class JsonKeyValue::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonKeyValue>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_._has_bits_);
  static const ::pg_query::Node& key(const JsonKeyValue* msg);
  static void set_has_key(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonValueExpr& value(const JsonKeyValue* msg);
  static void set_has_value(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& JsonKeyValue::_Internal::key(const JsonKeyValue* msg) {
  return *msg->_impl_.key_;
}
const ::pg_query::JsonValueExpr& JsonKeyValue::_Internal::value(const JsonKeyValue* msg) {
  return *msg->_impl_.value_;
}
JsonKeyValue::JsonKeyValue(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonKeyValue)
}
inline PROTOBUF_NDEBUG_INLINE JsonKeyValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonKeyValue::JsonKeyValue(
    ::google::protobuf::Arena* arena,
    const JsonKeyValue& from)
    : ::google::protobuf::Message(arena) {
  JsonKeyValue* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.key_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.key_)
                : nullptr;
  _impl_.value_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.value_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonKeyValue)
}
inline PROTOBUF_NDEBUG_INLINE JsonKeyValue::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonKeyValue::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, key_),
           0,
           offsetof(Impl_, value_) -
               offsetof(Impl_, key_) +
               sizeof(Impl_::value_));
}
JsonKeyValue::~JsonKeyValue() {
  // @@protoc_insertion_point(destructor:pg_query.JsonKeyValue)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonKeyValue::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.key_;
  delete _impl_.value_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonKeyValue::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonKeyValue)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.key_ != nullptr);
      _impl_.key_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.value_ != nullptr);
      _impl_.value_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonKeyValue::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> JsonKeyValue::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonKeyValue_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.JsonValueExpr value = 2 [json_name = "value"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.value_)}},
    // .pg_query.Node key = 1 [json_name = "key"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.key_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node key = 1 [json_name = "key"];
    {PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.key_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonValueExpr value = 2 [json_name = "value"];
    {PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.value_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
  }}, {{
  }},
};

::uint8_t* JsonKeyValue::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonKeyValue)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node key = 1 [json_name = "key"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::key(this),
        _Internal::key(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonValueExpr value = 2 [json_name = "value"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::value(this),
        _Internal::value(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonKeyValue)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node key = 1 [json_name = "key"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.key_);
    }

    // .pg_query.JsonValueExpr value = 2 [json_name = "value"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.value_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonKeyValue::_class_data_ = {
    JsonKeyValue::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonKeyValue::GetClassData() const {
  return &_class_data_;
}

void JsonKeyValue::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonKeyValue*>(&to_msg);
  auto& from = static_cast<const JsonKeyValue&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonKeyValue)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_key()->::pg_query::Node::MergeFrom(
          from._internal_key());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_value()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_value());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonKeyValue::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonKeyValue::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonKeyValue::InternalSwap(JsonKeyValue* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.value_)
      + sizeof(JsonKeyValue::_impl_.value_)
      - PROTOBUF_FIELD_OFFSET(JsonKeyValue, _impl_.key_)>(
          reinterpret_cast<char*>(&_impl_.key_),
          reinterpret_cast<char*>(&other->_impl_.key_));
}

::google::protobuf::Metadata JsonKeyValue::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[132]);
}
// ===================================================================

class JsonParseExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonParseExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_._has_bits_);
  static const ::pg_query::JsonValueExpr& expr(const JsonParseExpr* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonOutput& output(const JsonParseExpr* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::JsonValueExpr& JsonParseExpr::_Internal::expr(const JsonParseExpr* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::JsonOutput& JsonParseExpr::_Internal::output(const JsonParseExpr* msg) {
  return *msg->_impl_.output_;
}
JsonParseExpr::JsonParseExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonParseExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonParseExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonParseExpr::JsonParseExpr(
    ::google::protobuf::Arena* arena,
    const JsonParseExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonParseExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.output_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, unique_keys_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, unique_keys_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, unique_keys_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonParseExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonParseExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonParseExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
JsonParseExpr::~JsonParseExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonParseExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonParseExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  delete _impl_.output_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonParseExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonParseExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
  }
  ::memset(&_impl_.unique_keys_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.unique_keys_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonParseExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> JsonParseExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonParseExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonParseExpr, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.location_)}},
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.expr_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.output_)}},
    // bool unique_keys = 3 [json_name = "unique_keys"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonParseExpr, _impl_.unique_keys_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.unique_keys_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.output_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool unique_keys = 3 [json_name = "unique_keys"];
    {PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.unique_keys_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
  }}, {{
  }},
};

::uint8_t* JsonParseExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonParseExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // bool unique_keys = 3 [json_name = "unique_keys"];
  if (this->_internal_unique_keys() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_unique_keys(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonParseExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

  }
  // bool unique_keys = 3 [json_name = "unique_keys"];
  if (this->_internal_unique_keys() != 0) {
    total_size += 2;
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonParseExpr::_class_data_ = {
    JsonParseExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonParseExpr::GetClassData() const {
  return &_class_data_;
}

void JsonParseExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonParseExpr*>(&to_msg);
  auto& from = static_cast<const JsonParseExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonParseExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_expr()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
  }
  if (from._internal_unique_keys() != 0) {
    _this->_internal_set_unique_keys(from._internal_unique_keys());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonParseExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonParseExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonParseExpr::InternalSwap(JsonParseExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.location_)
      + sizeof(JsonParseExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonParseExpr, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata JsonParseExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[133]);
}
// ===================================================================

class JsonScalarExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonScalarExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const JsonScalarExpr* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonOutput& output(const JsonScalarExpr* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& JsonScalarExpr::_Internal::expr(const JsonScalarExpr* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::JsonOutput& JsonScalarExpr::_Internal::output(const JsonScalarExpr* msg) {
  return *msg->_impl_.output_;
}
JsonScalarExpr::JsonScalarExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonScalarExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonScalarExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonScalarExpr::JsonScalarExpr(
    ::google::protobuf::Arena* arena,
    const JsonScalarExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonScalarExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.output_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonScalarExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonScalarExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonScalarExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
JsonScalarExpr::~JsonScalarExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonScalarExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonScalarExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  delete _impl_.output_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonScalarExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonScalarExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonScalarExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> JsonScalarExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonScalarExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node expr = 1 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.expr_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.output_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonScalarExpr, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node expr = 1 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.output_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
  }}, {{
  }},
};

::uint8_t* JsonScalarExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonScalarExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 1 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonScalarExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node expr = 1 [json_name = "expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

  }
  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonScalarExpr::_class_data_ = {
    JsonScalarExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonScalarExpr::GetClassData() const {
  return &_class_data_;
}

void JsonScalarExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonScalarExpr*>(&to_msg);
  auto& from = static_cast<const JsonScalarExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonScalarExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonScalarExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonScalarExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonScalarExpr::InternalSwap(JsonScalarExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.location_)
      + sizeof(JsonScalarExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonScalarExpr, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata JsonScalarExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[134]);
}
// ===================================================================

class JsonSerializeExpr::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonSerializeExpr>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_._has_bits_);
  static const ::pg_query::JsonValueExpr& expr(const JsonSerializeExpr* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonOutput& output(const JsonSerializeExpr* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::JsonValueExpr& JsonSerializeExpr::_Internal::expr(const JsonSerializeExpr* msg) {
  return *msg->_impl_.expr_;
}
const ::pg_query::JsonOutput& JsonSerializeExpr::_Internal::output(const JsonSerializeExpr* msg) {
  return *msg->_impl_.output_;
}
JsonSerializeExpr::JsonSerializeExpr(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonSerializeExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonSerializeExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonSerializeExpr::JsonSerializeExpr(
    ::google::protobuf::Arena* arena,
    const JsonSerializeExpr& from)
    : ::google::protobuf::Message(arena) {
  JsonSerializeExpr* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.expr_)
                : nullptr;
  _impl_.output_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonSerializeExpr)
}
inline PROTOBUF_NDEBUG_INLINE JsonSerializeExpr::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonSerializeExpr::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, expr_) +
               sizeof(Impl_::location_));
}
JsonSerializeExpr::~JsonSerializeExpr() {
  // @@protoc_insertion_point(destructor:pg_query.JsonSerializeExpr)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonSerializeExpr::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.expr_;
  delete _impl_.output_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonSerializeExpr::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonSerializeExpr)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.expr_ != nullptr);
      _impl_.expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonSerializeExpr::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> JsonSerializeExpr::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonSerializeExpr_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.expr_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.output_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonSerializeExpr, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.output_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
  }}, {{
  }},
};

::uint8_t* JsonSerializeExpr::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonSerializeExpr)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonSerializeExpr)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.JsonValueExpr expr = 1 [json_name = "expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
    }

    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

  }
  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonSerializeExpr::_class_data_ = {
    JsonSerializeExpr::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonSerializeExpr::GetClassData() const {
  return &_class_data_;
}

void JsonSerializeExpr::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonSerializeExpr*>(&to_msg);
  auto& from = static_cast<const JsonSerializeExpr&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonSerializeExpr)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_expr()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonSerializeExpr::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonSerializeExpr::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonSerializeExpr::InternalSwap(JsonSerializeExpr* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.location_)
      + sizeof(JsonSerializeExpr::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonSerializeExpr, _impl_.expr_)>(
          reinterpret_cast<char*>(&_impl_.expr_),
          reinterpret_cast<char*>(&other->_impl_.expr_));
}

::google::protobuf::Metadata JsonSerializeExpr::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[135]);
}
// ===================================================================

class JsonObjectConstructor::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonObjectConstructor>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_._has_bits_);
  static const ::pg_query::JsonOutput& output(const JsonObjectConstructor* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::JsonOutput& JsonObjectConstructor::_Internal::output(const JsonObjectConstructor* msg) {
  return *msg->_impl_.output_;
}
JsonObjectConstructor::JsonObjectConstructor(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonObjectConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonObjectConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        exprs_{visibility, arena, from.exprs_} {}

JsonObjectConstructor::JsonObjectConstructor(
    ::google::protobuf::Arena* arena,
    const JsonObjectConstructor& from)
    : ::google::protobuf::Message(arena) {
  JsonObjectConstructor* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.output_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, absent_on_null_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, absent_on_null_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, absent_on_null_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonObjectConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonObjectConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        exprs_{visibility, arena} {}

inline void JsonObjectConstructor::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, output_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, output_) +
               sizeof(Impl_::location_));
}
JsonObjectConstructor::~JsonObjectConstructor() {
  // @@protoc_insertion_point(destructor:pg_query.JsonObjectConstructor)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonObjectConstructor::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.output_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonObjectConstructor::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonObjectConstructor)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.exprs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.output_ != nullptr);
    _impl_.output_->Clear();
  }
  ::memset(&_impl_.absent_on_null_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.absent_on_null_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonObjectConstructor::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> JsonObjectConstructor::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonObjectConstructor_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.exprs_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.output_)}},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonObjectConstructor, _impl_.absent_on_null_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.absent_on_null_)}},
    // bool unique = 4 [json_name = "unique"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonObjectConstructor, _impl_.unique_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.unique_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonObjectConstructor, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.exprs_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.output_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool unique = 4 [json_name = "unique"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.unique_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
  }}, {{
  }},
};

::uint8_t* JsonObjectConstructor::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonObjectConstructor)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_exprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_absent_on_null(), target);
  }

  // bool unique = 4 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_unique(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonObjectConstructor)
  return target;
}

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

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

  // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
  total_size += 1UL * this->_internal_exprs_size();
  for (const auto& msg : this->_internal_exprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  // bool unique = 4 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    total_size += 2;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonObjectConstructor::_class_data_ = {
    JsonObjectConstructor::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonObjectConstructor::GetClassData() const {
  return &_class_data_;
}

void JsonObjectConstructor::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonObjectConstructor*>(&to_msg);
  auto& from = static_cast<const JsonObjectConstructor&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonObjectConstructor)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_exprs()->MergeFrom(
      from._internal_exprs());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
        from._internal_output());
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  if (from._internal_unique() != 0) {
    _this->_internal_set_unique(from._internal_unique());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonObjectConstructor::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonObjectConstructor::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonObjectConstructor::InternalSwap(JsonObjectConstructor* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.location_)
      + sizeof(JsonObjectConstructor::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonObjectConstructor, _impl_.output_)>(
          reinterpret_cast<char*>(&_impl_.output_),
          reinterpret_cast<char*>(&other->_impl_.output_));
}

::google::protobuf::Metadata JsonObjectConstructor::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[136]);
}
// ===================================================================

class JsonArrayConstructor::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonArrayConstructor>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_._has_bits_);
  static const ::pg_query::JsonOutput& output(const JsonArrayConstructor* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::JsonOutput& JsonArrayConstructor::_Internal::output(const JsonArrayConstructor* msg) {
  return *msg->_impl_.output_;
}
JsonArrayConstructor::JsonArrayConstructor(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonArrayConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        exprs_{visibility, arena, from.exprs_} {}

JsonArrayConstructor::JsonArrayConstructor(
    ::google::protobuf::Arena* arena,
    const JsonArrayConstructor& from)
    : ::google::protobuf::Message(arena) {
  JsonArrayConstructor* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.output_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, absent_on_null_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, absent_on_null_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, absent_on_null_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonArrayConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        exprs_{visibility, arena} {}

inline void JsonArrayConstructor::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, output_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, output_) +
               sizeof(Impl_::location_));
}
JsonArrayConstructor::~JsonArrayConstructor() {
  // @@protoc_insertion_point(destructor:pg_query.JsonArrayConstructor)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonArrayConstructor::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.output_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonArrayConstructor::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonArrayConstructor)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.exprs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.output_ != nullptr);
    _impl_.output_->Clear();
  }
  ::memset(&_impl_.absent_on_null_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.absent_on_null_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonArrayConstructor::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> JsonArrayConstructor::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonArrayConstructor_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonArrayConstructor, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.location_)}},
    // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.exprs_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.output_)}},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonArrayConstructor, _impl_.absent_on_null_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.absent_on_null_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.exprs_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.output_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
  }}, {{
  }},
};

::uint8_t* JsonArrayConstructor::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonArrayConstructor)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_exprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_absent_on_null(), target);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonArrayConstructor)
  return target;
}

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

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

  // repeated .pg_query.Node exprs = 1 [json_name = "exprs"];
  total_size += 1UL * this->_internal_exprs_size();
  for (const auto& msg : this->_internal_exprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonArrayConstructor::_class_data_ = {
    JsonArrayConstructor::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonArrayConstructor::GetClassData() const {
  return &_class_data_;
}

void JsonArrayConstructor::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonArrayConstructor*>(&to_msg);
  auto& from = static_cast<const JsonArrayConstructor&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonArrayConstructor)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_exprs()->MergeFrom(
      from._internal_exprs());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
        from._internal_output());
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonArrayConstructor::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonArrayConstructor::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonArrayConstructor::InternalSwap(JsonArrayConstructor* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.location_)
      + sizeof(JsonArrayConstructor::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonArrayConstructor, _impl_.output_)>(
          reinterpret_cast<char*>(&_impl_.output_),
          reinterpret_cast<char*>(&other->_impl_.output_));
}

::google::protobuf::Metadata JsonArrayConstructor::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[137]);
}
// ===================================================================

class JsonArrayQueryConstructor::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonArrayQueryConstructor>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_._has_bits_);
  static const ::pg_query::Node& query(const JsonArrayQueryConstructor* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonOutput& output(const JsonArrayQueryConstructor* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::JsonFormat& format(const JsonArrayQueryConstructor* msg);
  static void set_has_format(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& JsonArrayQueryConstructor::_Internal::query(const JsonArrayQueryConstructor* msg) {
  return *msg->_impl_.query_;
}
const ::pg_query::JsonOutput& JsonArrayQueryConstructor::_Internal::output(const JsonArrayQueryConstructor* msg) {
  return *msg->_impl_.output_;
}
const ::pg_query::JsonFormat& JsonArrayQueryConstructor::_Internal::format(const JsonArrayQueryConstructor* msg) {
  return *msg->_impl_.format_;
}
JsonArrayQueryConstructor::JsonArrayQueryConstructor(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonArrayQueryConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayQueryConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonArrayQueryConstructor::JsonArrayQueryConstructor(
    ::google::protobuf::Arena* arena,
    const JsonArrayQueryConstructor& from)
    : ::google::protobuf::Message(arena) {
  JsonArrayQueryConstructor* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.query_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;
  _impl_.output_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  _impl_.format_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::JsonFormat>(arena, *from._impl_.format_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, absent_on_null_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, absent_on_null_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, absent_on_null_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonArrayQueryConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayQueryConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonArrayQueryConstructor::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, query_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, query_) +
               sizeof(Impl_::location_));
}
JsonArrayQueryConstructor::~JsonArrayQueryConstructor() {
  // @@protoc_insertion_point(destructor:pg_query.JsonArrayQueryConstructor)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonArrayQueryConstructor::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.query_;
  delete _impl_.output_;
  delete _impl_.format_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonArrayQueryConstructor::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonArrayQueryConstructor)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.query_ != nullptr);
      _impl_.query_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.format_ != nullptr);
      _impl_.format_->Clear();
    }
  }
  ::memset(&_impl_.absent_on_null_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.absent_on_null_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonArrayQueryConstructor::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> JsonArrayQueryConstructor::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonArrayQueryConstructor_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node query = 1 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.query_)}},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.output_)}},
    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.format_)}},
    // bool absent_on_null = 4 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonArrayQueryConstructor, _impl_.absent_on_null_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.absent_on_null_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonArrayQueryConstructor, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node query = 1 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.query_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.output_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.format_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 4 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonFormat>()},
  }}, {{
  }},
};

::uint8_t* JsonArrayQueryConstructor::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonArrayQueryConstructor)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node query = 1 [json_name = "query"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonOutput output = 2 [json_name = "output"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonFormat format = 3 [json_name = "format"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::format(this),
        _Internal::format(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 4 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_absent_on_null(), target);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonArrayQueryConstructor)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node query = 1 [json_name = "query"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
    }

    // .pg_query.JsonOutput output = 2 [json_name = "output"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

    // .pg_query.JsonFormat format = 3 [json_name = "format"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.format_);
    }

  }
  // bool absent_on_null = 4 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonArrayQueryConstructor::_class_data_ = {
    JsonArrayQueryConstructor::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonArrayQueryConstructor::GetClassData() const {
  return &_class_data_;
}

void JsonArrayQueryConstructor::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonArrayQueryConstructor*>(&to_msg);
  auto& from = static_cast<const JsonArrayQueryConstructor&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonArrayQueryConstructor)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
          from._internal_query());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_format()->::pg_query::JsonFormat::MergeFrom(
          from._internal_format());
    }
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonArrayQueryConstructor::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonArrayQueryConstructor::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonArrayQueryConstructor::InternalSwap(JsonArrayQueryConstructor* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.location_)
      + sizeof(JsonArrayQueryConstructor::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonArrayQueryConstructor, _impl_.query_)>(
          reinterpret_cast<char*>(&_impl_.query_),
          reinterpret_cast<char*>(&other->_impl_.query_));
}

::google::protobuf::Metadata JsonArrayQueryConstructor::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[138]);
}
// ===================================================================

class JsonAggConstructor::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonAggConstructor>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_._has_bits_);
  static const ::pg_query::JsonOutput& output(const JsonAggConstructor* msg);
  static void set_has_output(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& agg_filter(const JsonAggConstructor* msg);
  static void set_has_agg_filter(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::WindowDef& over(const JsonAggConstructor* msg);
  static void set_has_over(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::JsonOutput& JsonAggConstructor::_Internal::output(const JsonAggConstructor* msg) {
  return *msg->_impl_.output_;
}
const ::pg_query::Node& JsonAggConstructor::_Internal::agg_filter(const JsonAggConstructor* msg) {
  return *msg->_impl_.agg_filter_;
}
const ::pg_query::WindowDef& JsonAggConstructor::_Internal::over(const JsonAggConstructor* msg) {
  return *msg->_impl_.over_;
}
JsonAggConstructor::JsonAggConstructor(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonAggConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonAggConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        agg_order_{visibility, arena, from.agg_order_} {}

JsonAggConstructor::JsonAggConstructor(
    ::google::protobuf::Arena* arena,
    const JsonAggConstructor& from)
    : ::google::protobuf::Message(arena) {
  JsonAggConstructor* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.output_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonOutput>(arena, *from._impl_.output_)
                : nullptr;
  _impl_.agg_filter_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.agg_filter_)
                : nullptr;
  _impl_.over_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::WindowDef>(arena, *from._impl_.over_)
                : nullptr;
  _impl_.location_ = from._impl_.location_;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonAggConstructor)
}
inline PROTOBUF_NDEBUG_INLINE JsonAggConstructor::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        agg_order_{visibility, arena} {}

inline void JsonAggConstructor::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, output_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, output_) +
               sizeof(Impl_::location_));
}
JsonAggConstructor::~JsonAggConstructor() {
  // @@protoc_insertion_point(destructor:pg_query.JsonAggConstructor)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonAggConstructor::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.output_;
  delete _impl_.agg_filter_;
  delete _impl_.over_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonAggConstructor::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonAggConstructor)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.agg_order_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.output_ != nullptr);
      _impl_.output_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.agg_filter_ != nullptr);
      _impl_.agg_filter_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.over_ != nullptr);
      _impl_.over_->Clear();
    }
  }
  _impl_.location_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonAggConstructor::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 4, 0, 2> JsonAggConstructor::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonAggConstructor_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonOutput output = 1 [json_name = "output"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.output_)}},
    // .pg_query.Node agg_filter = 2 [json_name = "agg_filter"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.agg_filter_)}},
    // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.agg_order_)}},
    // .pg_query.WindowDef over = 4 [json_name = "over"];
    {::_pbi::TcParser::FastMtS1,
     {34, 2, 3, PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.over_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JsonAggConstructor, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonOutput output = 1 [json_name = "output"];
    {PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.output_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node agg_filter = 2 [json_name = "agg_filter"];
    {PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.agg_filter_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
    {PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.agg_order_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WindowDef over = 4 [json_name = "over"];
    {PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.over_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonOutput>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WindowDef>()},
  }}, {{
  }},
};

::uint8_t* JsonAggConstructor::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonAggConstructor)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonOutput output = 1 [json_name = "output"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::output(this),
        _Internal::output(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node agg_filter = 2 [json_name = "agg_filter"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::agg_filter(this),
        _Internal::agg_filter(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_agg_order_size()); i < n; i++) {
    const auto& repfield = this->_internal_agg_order().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WindowDef over = 4 [json_name = "over"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::over(this),
        _Internal::over(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonAggConstructor)
  return target;
}

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

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

  // repeated .pg_query.Node agg_order = 3 [json_name = "agg_order"];
  total_size += 1UL * this->_internal_agg_order_size();
  for (const auto& msg : this->_internal_agg_order()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.JsonOutput output = 1 [json_name = "output"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.output_);
    }

    // .pg_query.Node agg_filter = 2 [json_name = "agg_filter"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.agg_filter_);
    }

    // .pg_query.WindowDef over = 4 [json_name = "over"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.over_);
    }

  }
  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonAggConstructor::_class_data_ = {
    JsonAggConstructor::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonAggConstructor::GetClassData() const {
  return &_class_data_;
}

void JsonAggConstructor::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonAggConstructor*>(&to_msg);
  auto& from = static_cast<const JsonAggConstructor&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonAggConstructor)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_agg_order()->MergeFrom(
      from._internal_agg_order());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_output()->::pg_query::JsonOutput::MergeFrom(
          from._internal_output());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_agg_filter()->::pg_query::Node::MergeFrom(
          from._internal_agg_filter());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_over()->::pg_query::WindowDef::MergeFrom(
          from._internal_over());
    }
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonAggConstructor::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonAggConstructor::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonAggConstructor::InternalSwap(JsonAggConstructor* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.agg_order_.InternalSwap(&other->_impl_.agg_order_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.location_)
      + sizeof(JsonAggConstructor::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(JsonAggConstructor, _impl_.output_)>(
          reinterpret_cast<char*>(&_impl_.output_),
          reinterpret_cast<char*>(&other->_impl_.output_));
}

::google::protobuf::Metadata JsonAggConstructor::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[139]);
}
// ===================================================================

class JsonObjectAgg::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonObjectAgg>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_._has_bits_);
  static const ::pg_query::JsonAggConstructor& constructor(const JsonObjectAgg* msg);
  static void set_has_constructor(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonKeyValue& arg(const JsonObjectAgg* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::JsonAggConstructor& JsonObjectAgg::_Internal::constructor(const JsonObjectAgg* msg) {
  return *msg->_impl_.constructor_;
}
const ::pg_query::JsonKeyValue& JsonObjectAgg::_Internal::arg(const JsonObjectAgg* msg) {
  return *msg->_impl_.arg_;
}
JsonObjectAgg::JsonObjectAgg(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonObjectAgg)
}
inline PROTOBUF_NDEBUG_INLINE JsonObjectAgg::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonObjectAgg::JsonObjectAgg(
    ::google::protobuf::Arena* arena,
    const JsonObjectAgg& from)
    : ::google::protobuf::Message(arena) {
  JsonObjectAgg* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.constructor_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonAggConstructor>(arena, *from._impl_.constructor_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonKeyValue>(arena, *from._impl_.arg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, absent_on_null_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, absent_on_null_),
           offsetof(Impl_, unique_) -
               offsetof(Impl_, absent_on_null_) +
               sizeof(Impl_::unique_));

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonObjectAgg)
}
inline PROTOBUF_NDEBUG_INLINE JsonObjectAgg::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonObjectAgg::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, constructor_),
           0,
           offsetof(Impl_, unique_) -
               offsetof(Impl_, constructor_) +
               sizeof(Impl_::unique_));
}
JsonObjectAgg::~JsonObjectAgg() {
  // @@protoc_insertion_point(destructor:pg_query.JsonObjectAgg)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonObjectAgg::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.constructor_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonObjectAgg::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonObjectAgg)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.constructor_ != nullptr);
      _impl_.constructor_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  ::memset(&_impl_.absent_on_null_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.unique_) -
      reinterpret_cast<char*>(&_impl_.absent_on_null_)) + sizeof(_impl_.unique_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonObjectAgg::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> JsonObjectAgg::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonObjectAgg_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool unique = 4 [json_name = "unique"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonObjectAgg, _impl_.unique_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.unique_)}},
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.constructor_)}},
    // .pg_query.JsonKeyValue arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.arg_)}},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonObjectAgg, _impl_.absent_on_null_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.absent_on_null_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.constructor_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonKeyValue arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool unique = 4 [json_name = "unique"];
    {PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.unique_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonAggConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonKeyValue>()},
  }}, {{
  }},
};

::uint8_t* JsonObjectAgg::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonObjectAgg)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::constructor(this),
        _Internal::constructor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonKeyValue arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_absent_on_null(), target);
  }

  // bool unique = 4 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_unique(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonObjectAgg)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.constructor_);
    }

    // .pg_query.JsonKeyValue arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  // bool unique = 4 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonObjectAgg::_class_data_ = {
    JsonObjectAgg::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonObjectAgg::GetClassData() const {
  return &_class_data_;
}

void JsonObjectAgg::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonObjectAgg*>(&to_msg);
  auto& from = static_cast<const JsonObjectAgg&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonObjectAgg)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_constructor()->::pg_query::JsonAggConstructor::MergeFrom(
          from._internal_constructor());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::JsonKeyValue::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  if (from._internal_unique() != 0) {
    _this->_internal_set_unique(from._internal_unique());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonObjectAgg::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonObjectAgg::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonObjectAgg::InternalSwap(JsonObjectAgg* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.unique_)
      + sizeof(JsonObjectAgg::_impl_.unique_)
      - PROTOBUF_FIELD_OFFSET(JsonObjectAgg, _impl_.constructor_)>(
          reinterpret_cast<char*>(&_impl_.constructor_),
          reinterpret_cast<char*>(&other->_impl_.constructor_));
}

::google::protobuf::Metadata JsonObjectAgg::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[140]);
}
// ===================================================================

class JsonArrayAgg::_Internal {
 public:
  using HasBits = decltype(std::declval<JsonArrayAgg>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_._has_bits_);
  static const ::pg_query::JsonAggConstructor& constructor(const JsonArrayAgg* msg);
  static void set_has_constructor(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::JsonValueExpr& arg(const JsonArrayAgg* msg);
  static void set_has_arg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::JsonAggConstructor& JsonArrayAgg::_Internal::constructor(const JsonArrayAgg* msg) {
  return *msg->_impl_.constructor_;
}
const ::pg_query::JsonValueExpr& JsonArrayAgg::_Internal::arg(const JsonArrayAgg* msg) {
  return *msg->_impl_.arg_;
}
JsonArrayAgg::JsonArrayAgg(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.JsonArrayAgg)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayAgg::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

JsonArrayAgg::JsonArrayAgg(
    ::google::protobuf::Arena* arena,
    const JsonArrayAgg& from)
    : ::google::protobuf::Message(arena) {
  JsonArrayAgg* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.constructor_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::JsonAggConstructor>(arena, *from._impl_.constructor_)
                : nullptr;
  _impl_.arg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::JsonValueExpr>(arena, *from._impl_.arg_)
                : nullptr;
  _impl_.absent_on_null_ = from._impl_.absent_on_null_;

  // @@protoc_insertion_point(copy_constructor:pg_query.JsonArrayAgg)
}
inline PROTOBUF_NDEBUG_INLINE JsonArrayAgg::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void JsonArrayAgg::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, constructor_),
           0,
           offsetof(Impl_, absent_on_null_) -
               offsetof(Impl_, constructor_) +
               sizeof(Impl_::absent_on_null_));
}
JsonArrayAgg::~JsonArrayAgg() {
  // @@protoc_insertion_point(destructor:pg_query.JsonArrayAgg)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void JsonArrayAgg::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.constructor_;
  delete _impl_.arg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void JsonArrayAgg::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.JsonArrayAgg)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.constructor_ != nullptr);
      _impl_.constructor_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.arg_ != nullptr);
      _impl_.arg_->Clear();
    }
  }
  _impl_.absent_on_null_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* JsonArrayAgg::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> JsonArrayAgg::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_JsonArrayAgg_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.constructor_)}},
    // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.arg_)}},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(JsonArrayAgg, _impl_.absent_on_null_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.absent_on_null_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.constructor_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.arg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool absent_on_null = 3 [json_name = "absent_on_null"];
    {PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.absent_on_null_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::JsonAggConstructor>()},
    {::_pbi::TcParser::GetTable<::pg_query::JsonValueExpr>()},
  }}, {{
  }},
};

::uint8_t* JsonArrayAgg::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.JsonArrayAgg)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::constructor(this),
        _Internal::constructor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg(this),
        _Internal::arg(this).GetCachedSize(), target, stream);
  }

  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_absent_on_null(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.JsonArrayAgg)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.JsonAggConstructor constructor = 1 [json_name = "constructor"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.constructor_);
    }

    // .pg_query.JsonValueExpr arg = 2 [json_name = "arg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_);
    }

  }
  // bool absent_on_null = 3 [json_name = "absent_on_null"];
  if (this->_internal_absent_on_null() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData JsonArrayAgg::_class_data_ = {
    JsonArrayAgg::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* JsonArrayAgg::GetClassData() const {
  return &_class_data_;
}

void JsonArrayAgg::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<JsonArrayAgg*>(&to_msg);
  auto& from = static_cast<const JsonArrayAgg&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.JsonArrayAgg)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_constructor()->::pg_query::JsonAggConstructor::MergeFrom(
          from._internal_constructor());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_arg()->::pg_query::JsonValueExpr::MergeFrom(
          from._internal_arg());
    }
  }
  if (from._internal_absent_on_null() != 0) {
    _this->_internal_set_absent_on_null(from._internal_absent_on_null());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool JsonArrayAgg::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* JsonArrayAgg::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void JsonArrayAgg::InternalSwap(JsonArrayAgg* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.absent_on_null_)
      + sizeof(JsonArrayAgg::_impl_.absent_on_null_)
      - PROTOBUF_FIELD_OFFSET(JsonArrayAgg, _impl_.constructor_)>(
          reinterpret_cast<char*>(&_impl_.constructor_),
          reinterpret_cast<char*>(&other->_impl_.constructor_));
}

::google::protobuf::Metadata JsonArrayAgg::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[141]);
}
// ===================================================================

class RawStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<RawStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RawStmt, _impl_._has_bits_);
  static const ::pg_query::Node& stmt(const RawStmt* msg);
  static void set_has_stmt(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& RawStmt::_Internal::stmt(const RawStmt* msg) {
  return *msg->_impl_.stmt_;
}
RawStmt::RawStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RawStmt)
}
inline PROTOBUF_NDEBUG_INLINE RawStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

RawStmt::RawStmt(
    ::google::protobuf::Arena* arena,
    const RawStmt& from)
    : ::google::protobuf::Message(arena) {
  RawStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.stmt_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.stmt_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, stmt_location_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, stmt_location_),
           offsetof(Impl_, stmt_len_) -
               offsetof(Impl_, stmt_location_) +
               sizeof(Impl_::stmt_len_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RawStmt)
}
inline PROTOBUF_NDEBUG_INLINE RawStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RawStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, stmt_),
           0,
           offsetof(Impl_, stmt_len_) -
               offsetof(Impl_, stmt_) +
               sizeof(Impl_::stmt_len_));
}
RawStmt::~RawStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RawStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RawStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.stmt_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RawStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RawStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.stmt_ != nullptr);
    _impl_.stmt_->Clear();
  }
  ::memset(&_impl_.stmt_location_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.stmt_len_) -
      reinterpret_cast<char*>(&_impl_.stmt_location_)) + sizeof(_impl_.stmt_len_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RawStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> RawStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RawStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RawStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node stmt = 1 [json_name = "stmt"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_)}},
    // int32 stmt_location = 2 [json_name = "stmt_location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RawStmt, _impl_.stmt_location_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_location_)}},
    // int32 stmt_len = 3 [json_name = "stmt_len"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RawStmt, _impl_.stmt_len_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_len_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node stmt = 1 [json_name = "stmt"];
    {PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 stmt_location = 2 [json_name = "stmt_location"];
    {PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 stmt_len = 3 [json_name = "stmt_len"];
    {PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_len_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* RawStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RawStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node stmt = 1 [json_name = "stmt"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::stmt(this),
        _Internal::stmt(this).GetCachedSize(), target, stream);
  }

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_stmt_location(), target);
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_stmt_len(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RawStmt)
  return target;
}

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

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

  // .pg_query.Node stmt = 1 [json_name = "stmt"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.stmt_);
  }

  // int32 stmt_location = 2 [json_name = "stmt_location"];
  if (this->_internal_stmt_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_stmt_location());
  }

  // int32 stmt_len = 3 [json_name = "stmt_len"];
  if (this->_internal_stmt_len() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_stmt_len());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RawStmt::_class_data_ = {
    RawStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RawStmt::GetClassData() const {
  return &_class_data_;
}

void RawStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RawStmt*>(&to_msg);
  auto& from = static_cast<const RawStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RawStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_stmt()->::pg_query::Node::MergeFrom(
        from._internal_stmt());
  }
  if (from._internal_stmt_location() != 0) {
    _this->_internal_set_stmt_location(from._internal_stmt_location());
  }
  if (from._internal_stmt_len() != 0) {
    _this->_internal_set_stmt_len(from._internal_stmt_len());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RawStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RawStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RawStmt::InternalSwap(RawStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_len_)
      + sizeof(RawStmt::_impl_.stmt_len_)
      - PROTOBUF_FIELD_OFFSET(RawStmt, _impl_.stmt_)>(
          reinterpret_cast<char*>(&_impl_.stmt_),
          reinterpret_cast<char*>(&other->_impl_.stmt_));
}

::google::protobuf::Metadata RawStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[142]);
}
// ===================================================================

class InsertStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<InsertStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const InsertStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& select_stmt(const InsertStmt* msg);
  static void set_has_select_stmt(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::OnConflictClause& on_conflict_clause(const InsertStmt* msg);
  static void set_has_on_conflict_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::WithClause& with_clause(const InsertStmt* msg);
  static void set_has_with_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::pg_query::RangeVar& InsertStmt::_Internal::relation(const InsertStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& InsertStmt::_Internal::select_stmt(const InsertStmt* msg) {
  return *msg->_impl_.select_stmt_;
}
const ::pg_query::OnConflictClause& InsertStmt::_Internal::on_conflict_clause(const InsertStmt* msg) {
  return *msg->_impl_.on_conflict_clause_;
}
const ::pg_query::WithClause& InsertStmt::_Internal::with_clause(const InsertStmt* msg) {
  return *msg->_impl_.with_clause_;
}
InsertStmt::InsertStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InsertStmt)
}
inline PROTOBUF_NDEBUG_INLINE InsertStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cols_{visibility, arena, from.cols_},
        returning_list_{visibility, arena, from.returning_list_} {}

InsertStmt::InsertStmt(
    ::google::protobuf::Arena* arena,
    const InsertStmt& from)
    : ::google::protobuf::Message(arena) {
  InsertStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.select_stmt_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.select_stmt_)
                : nullptr;
  _impl_.on_conflict_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::OnConflictClause>(arena, *from._impl_.on_conflict_clause_)
                : nullptr;
  _impl_.with_clause_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.with_clause_)
                : nullptr;
  _impl_.override_ = from._impl_.override_;

  // @@protoc_insertion_point(copy_constructor:pg_query.InsertStmt)
}
inline PROTOBUF_NDEBUG_INLINE InsertStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        cols_{visibility, arena},
        returning_list_{visibility, arena} {}

inline void InsertStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, override_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::override_));
}
InsertStmt::~InsertStmt() {
  // @@protoc_insertion_point(destructor:pg_query.InsertStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void InsertStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.select_stmt_;
  delete _impl_.on_conflict_clause_;
  delete _impl_.with_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void InsertStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InsertStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cols_.Clear();
  _impl_.returning_list_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.select_stmt_ != nullptr);
      _impl_.select_stmt_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.on_conflict_clause_ != nullptr);
      _impl_.on_conflict_clause_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.with_clause_ != nullptr);
      _impl_.with_clause_->Clear();
    }
  }
  _impl_.override_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* InsertStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 6, 0, 2> InsertStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_InsertStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.relation_)}},
    // repeated .pg_query.Node cols = 2 [json_name = "cols"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.cols_)}},
    // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 2, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.select_stmt_)}},
    // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
    {::_pbi::TcParser::FastMtS1,
     {34, 2, 3, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.on_conflict_clause_)}},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 4, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.returning_list_)}},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 5, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.with_clause_)}},
    // .pg_query.OverridingKind override = 7 [json_name = "override"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(InsertStmt, _impl_.override_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.override_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node cols = 2 [json_name = "cols"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.cols_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.select_stmt_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.on_conflict_clause_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.returning_list_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.with_clause_), _Internal::kHasBitsOffset + 3, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OverridingKind override = 7 [json_name = "override"];
    {PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.override_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::OnConflictClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
  }}, {{
  }},
};

::uint8_t* InsertStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InsertStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_cols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::select_stmt(this),
        _Internal::select_stmt(this).GetCachedSize(), target, stream);
  }

  // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::on_conflict_clause(this),
        _Internal::on_conflict_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::with_clause(this),
        _Internal::with_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_override(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.InsertStmt)
  return target;
}

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

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

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  total_size += 1UL * this->_internal_cols_size();
  for (const auto& msg : this->_internal_cols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_internal_returning_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node select_stmt = 3 [json_name = "selectStmt"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.select_stmt_);
    }

    // .pg_query.OnConflictClause on_conflict_clause = 4 [json_name = "onConflictClause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.on_conflict_clause_);
    }

    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_clause_);
    }

  }
  // .pg_query.OverridingKind override = 7 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_override());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData InsertStmt::_class_data_ = {
    InsertStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* InsertStmt::GetClassData() const {
  return &_class_data_;
}

void InsertStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<InsertStmt*>(&to_msg);
  auto& from = static_cast<const InsertStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InsertStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cols()->MergeFrom(
      from._internal_cols());
  _this->_internal_mutable_returning_list()->MergeFrom(
      from._internal_returning_list());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_select_stmt()->::pg_query::Node::MergeFrom(
          from._internal_select_stmt());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_on_conflict_clause()->::pg_query::OnConflictClause::MergeFrom(
          from._internal_on_conflict_clause());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
    }
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool InsertStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* InsertStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void InsertStmt::InternalSwap(InsertStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cols_.InternalSwap(&other->_impl_.cols_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.override_)
      + sizeof(InsertStmt::_impl_.override_)
      - PROTOBUF_FIELD_OFFSET(InsertStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata InsertStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[143]);
}
// ===================================================================

class DeleteStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<DeleteStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const DeleteStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const DeleteStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::WithClause& with_clause(const DeleteStmt* msg);
  static void set_has_with_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& DeleteStmt::_Internal::relation(const DeleteStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& DeleteStmt::_Internal::where_clause(const DeleteStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::WithClause& DeleteStmt::_Internal::with_clause(const DeleteStmt* msg) {
  return *msg->_impl_.with_clause_;
}
DeleteStmt::DeleteStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeleteStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeleteStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        using_clause_{visibility, arena, from.using_clause_},
        returning_list_{visibility, arena, from.returning_list_} {}

DeleteStmt::DeleteStmt(
    ::google::protobuf::Arena* arena,
    const DeleteStmt& from)
    : ::google::protobuf::Message(arena) {
  DeleteStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  _impl_.with_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.with_clause_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.DeleteStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeleteStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        using_clause_{visibility, arena},
        returning_list_{visibility, arena} {}

inline void DeleteStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, with_clause_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::with_clause_));
}
DeleteStmt::~DeleteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeleteStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DeleteStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.where_clause_;
  delete _impl_.with_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DeleteStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeleteStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.using_clause_.Clear();
  _impl_.returning_list_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.with_clause_ != nullptr);
      _impl_.with_clause_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DeleteStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 5, 0, 2> DeleteStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DeleteStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.relation_)}},
    // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.using_clause_)}},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 2, PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.where_clause_)}},
    // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.returning_list_)}},
    // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 4, PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.with_clause_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
    {PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.using_clause_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
    {PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.returning_list_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
    {PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.with_clause_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
  }}, {{
  }},
};

::uint8_t* DeleteStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeleteStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_using_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_using_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::with_clause(this),
        _Internal::with_clause(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DeleteStmt)
  return target;
}

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

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

  // repeated .pg_query.Node using_clause = 2 [json_name = "usingClause"];
  total_size += 1UL * this->_internal_using_clause_size();
  for (const auto& msg : this->_internal_using_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node returning_list = 4 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_internal_returning_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

    // .pg_query.WithClause with_clause = 5 [json_name = "withClause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_clause_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DeleteStmt::_class_data_ = {
    DeleteStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DeleteStmt::GetClassData() const {
  return &_class_data_;
}

void DeleteStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DeleteStmt*>(&to_msg);
  auto& from = static_cast<const DeleteStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeleteStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_using_clause()->MergeFrom(
      from._internal_using_clause());
  _this->_internal_mutable_returning_list()->MergeFrom(
      from._internal_returning_list());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DeleteStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DeleteStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DeleteStmt::InternalSwap(DeleteStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.using_clause_.InternalSwap(&other->_impl_.using_clause_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.with_clause_)
      + sizeof(DeleteStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(DeleteStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata DeleteStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[144]);
}
// ===================================================================

class UpdateStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<UpdateStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const UpdateStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const UpdateStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::WithClause& with_clause(const UpdateStmt* msg);
  static void set_has_with_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& UpdateStmt::_Internal::relation(const UpdateStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& UpdateStmt::_Internal::where_clause(const UpdateStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::WithClause& UpdateStmt::_Internal::with_clause(const UpdateStmt* msg) {
  return *msg->_impl_.with_clause_;
}
UpdateStmt::UpdateStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.UpdateStmt)
}
inline PROTOBUF_NDEBUG_INLINE UpdateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        target_list_{visibility, arena, from.target_list_},
        from_clause_{visibility, arena, from.from_clause_},
        returning_list_{visibility, arena, from.returning_list_} {}

UpdateStmt::UpdateStmt(
    ::google::protobuf::Arena* arena,
    const UpdateStmt& from)
    : ::google::protobuf::Message(arena) {
  UpdateStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  _impl_.with_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.with_clause_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.UpdateStmt)
}
inline PROTOBUF_NDEBUG_INLINE UpdateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        target_list_{visibility, arena},
        from_clause_{visibility, arena},
        returning_list_{visibility, arena} {}

inline void UpdateStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, with_clause_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::with_clause_));
}
UpdateStmt::~UpdateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UpdateStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void UpdateStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.where_clause_;
  delete _impl_.with_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void UpdateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.UpdateStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_list_.Clear();
  _impl_.from_clause_.Clear();
  _impl_.returning_list_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.with_clause_ != nullptr);
      _impl_.with_clause_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* UpdateStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 6, 0, 2> UpdateStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_UpdateStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.relation_)}},
    // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.target_list_)}},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 2, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.where_clause_)}},
    // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.from_clause_)}},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 4, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.returning_list_)}},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {::_pbi::TcParser::FastMtS1,
     {50, 2, 5, PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.with_clause_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.target_list_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.from_clause_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.returning_list_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.with_clause_), _Internal::kHasBitsOffset + 2, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
  }}, {{
  }},
};

::uint8_t* UpdateStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.UpdateStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_from_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_from_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::with_clause(this),
        _Internal::with_clause(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.UpdateStmt)
  return target;
}

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

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

  // repeated .pg_query.Node target_list = 2 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  total_size += 1UL * this->_internal_from_clause_size();
  for (const auto& msg : this->_internal_from_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_internal_returning_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_clause_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData UpdateStmt::_class_data_ = {
    UpdateStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* UpdateStmt::GetClassData() const {
  return &_class_data_;
}

void UpdateStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<UpdateStmt*>(&to_msg);
  auto& from = static_cast<const UpdateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.UpdateStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  _this->_internal_mutable_from_clause()->MergeFrom(
      from._internal_from_clause());
  _this->_internal_mutable_returning_list()->MergeFrom(
      from._internal_returning_list());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool UpdateStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* UpdateStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void UpdateStmt::InternalSwap(UpdateStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.from_clause_.InternalSwap(&other->_impl_.from_clause_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.with_clause_)
      + sizeof(UpdateStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(UpdateStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata UpdateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[145]);
}
// ===================================================================

class MergeStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<MergeStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const MergeStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& source_relation(const MergeStmt* msg);
  static void set_has_source_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& join_condition(const MergeStmt* msg);
  static void set_has_join_condition(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::WithClause& with_clause(const MergeStmt* msg);
  static void set_has_with_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::pg_query::RangeVar& MergeStmt::_Internal::relation(const MergeStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& MergeStmt::_Internal::source_relation(const MergeStmt* msg) {
  return *msg->_impl_.source_relation_;
}
const ::pg_query::Node& MergeStmt::_Internal::join_condition(const MergeStmt* msg) {
  return *msg->_impl_.join_condition_;
}
const ::pg_query::WithClause& MergeStmt::_Internal::with_clause(const MergeStmt* msg) {
  return *msg->_impl_.with_clause_;
}
MergeStmt::MergeStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.MergeStmt)
}
inline PROTOBUF_NDEBUG_INLINE MergeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        merge_when_clauses_{visibility, arena, from.merge_when_clauses_},
        returning_list_{visibility, arena, from.returning_list_} {}

MergeStmt::MergeStmt(
    ::google::protobuf::Arena* arena,
    const MergeStmt& from)
    : ::google::protobuf::Message(arena) {
  MergeStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.source_relation_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.source_relation_)
                : nullptr;
  _impl_.join_condition_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.join_condition_)
                : nullptr;
  _impl_.with_clause_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.with_clause_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.MergeStmt)
}
inline PROTOBUF_NDEBUG_INLINE MergeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        merge_when_clauses_{visibility, arena},
        returning_list_{visibility, arena} {}

inline void MergeStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, with_clause_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::with_clause_));
}
MergeStmt::~MergeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.MergeStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void MergeStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.source_relation_;
  delete _impl_.join_condition_;
  delete _impl_.with_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void MergeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.MergeStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.merge_when_clauses_.Clear();
  _impl_.returning_list_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.source_relation_ != nullptr);
      _impl_.source_relation_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.join_condition_ != nullptr);
      _impl_.join_condition_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.with_clause_ != nullptr);
      _impl_.with_clause_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* MergeStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 6, 0, 2> MergeStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_MergeStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.relation_)}},
    // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.source_relation_)}},
    // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.join_condition_)}},
    // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.merge_when_clauses_)}},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 4, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.returning_list_)}},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 5, PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.with_clause_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.source_relation_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.join_condition_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.merge_when_clauses_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.returning_list_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    {PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.with_clause_), _Internal::kHasBitsOffset + 3, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
  }}, {{
  }},
};

::uint8_t* MergeStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.MergeStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::source_relation(this),
        _Internal::source_relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::join_condition(this),
        _Internal::join_condition(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_merge_when_clauses_size()); i < n; i++) {
    const auto& repfield = this->_internal_merge_when_clauses().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_returning_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_returning_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::with_clause(this),
        _Internal::with_clause(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.MergeStmt)
  return target;
}

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

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

  // repeated .pg_query.Node merge_when_clauses = 4 [json_name = "mergeWhenClauses"];
  total_size += 1UL * this->_internal_merge_when_clauses_size();
  for (const auto& msg : this->_internal_merge_when_clauses()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node returning_list = 5 [json_name = "returningList"];
  total_size += 1UL * this->_internal_returning_list_size();
  for (const auto& msg : this->_internal_returning_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node source_relation = 2 [json_name = "sourceRelation"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.source_relation_);
    }

    // .pg_query.Node join_condition = 3 [json_name = "joinCondition"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.join_condition_);
    }

    // .pg_query.WithClause with_clause = 6 [json_name = "withClause"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_clause_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData MergeStmt::_class_data_ = {
    MergeStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* MergeStmt::GetClassData() const {
  return &_class_data_;
}

void MergeStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<MergeStmt*>(&to_msg);
  auto& from = static_cast<const MergeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.MergeStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_merge_when_clauses()->MergeFrom(
      from._internal_merge_when_clauses());
  _this->_internal_mutable_returning_list()->MergeFrom(
      from._internal_returning_list());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_source_relation()->::pg_query::Node::MergeFrom(
          from._internal_source_relation());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_join_condition()->::pg_query::Node::MergeFrom(
          from._internal_join_condition());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool MergeStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* MergeStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void MergeStmt::InternalSwap(MergeStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.merge_when_clauses_.InternalSwap(&other->_impl_.merge_when_clauses_);
  _impl_.returning_list_.InternalSwap(&other->_impl_.returning_list_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.with_clause_)
      + sizeof(MergeStmt::_impl_.with_clause_)
      - PROTOBUF_FIELD_OFFSET(MergeStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata MergeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[146]);
}
// ===================================================================

class SelectStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<SelectStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_._has_bits_);
  static const ::pg_query::IntoClause& into_clause(const SelectStmt* msg);
  static void set_has_into_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const SelectStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& having_clause(const SelectStmt* msg);
  static void set_has_having_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::Node& limit_offset(const SelectStmt* msg);
  static void set_has_limit_offset(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static const ::pg_query::Node& limit_count(const SelectStmt* msg);
  static void set_has_limit_count(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static const ::pg_query::WithClause& with_clause(const SelectStmt* msg);
  static void set_has_with_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static const ::pg_query::SelectStmt& larg(const SelectStmt* msg);
  static void set_has_larg(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static const ::pg_query::SelectStmt& rarg(const SelectStmt* msg);
  static void set_has_rarg(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
};

const ::pg_query::IntoClause& SelectStmt::_Internal::into_clause(const SelectStmt* msg) {
  return *msg->_impl_.into_clause_;
}
const ::pg_query::Node& SelectStmt::_Internal::where_clause(const SelectStmt* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::Node& SelectStmt::_Internal::having_clause(const SelectStmt* msg) {
  return *msg->_impl_.having_clause_;
}
const ::pg_query::Node& SelectStmt::_Internal::limit_offset(const SelectStmt* msg) {
  return *msg->_impl_.limit_offset_;
}
const ::pg_query::Node& SelectStmt::_Internal::limit_count(const SelectStmt* msg) {
  return *msg->_impl_.limit_count_;
}
const ::pg_query::WithClause& SelectStmt::_Internal::with_clause(const SelectStmt* msg) {
  return *msg->_impl_.with_clause_;
}
const ::pg_query::SelectStmt& SelectStmt::_Internal::larg(const SelectStmt* msg) {
  return *msg->_impl_.larg_;
}
const ::pg_query::SelectStmt& SelectStmt::_Internal::rarg(const SelectStmt* msg) {
  return *msg->_impl_.rarg_;
}
SelectStmt::SelectStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SelectStmt)
}
inline PROTOBUF_NDEBUG_INLINE SelectStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        distinct_clause_{visibility, arena, from.distinct_clause_},
        target_list_{visibility, arena, from.target_list_},
        from_clause_{visibility, arena, from.from_clause_},
        group_clause_{visibility, arena, from.group_clause_},
        window_clause_{visibility, arena, from.window_clause_},
        values_lists_{visibility, arena, from.values_lists_},
        sort_clause_{visibility, arena, from.sort_clause_},
        locking_clause_{visibility, arena, from.locking_clause_} {}

SelectStmt::SelectStmt(
    ::google::protobuf::Arena* arena,
    const SelectStmt& from)
    : ::google::protobuf::Message(arena) {
  SelectStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.into_clause_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::IntoClause>(arena, *from._impl_.into_clause_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  _impl_.having_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.having_clause_)
                : nullptr;
  _impl_.limit_offset_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.limit_offset_)
                : nullptr;
  _impl_.limit_count_ = (cached_has_bits & 0x00000010u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.limit_count_)
                : nullptr;
  _impl_.with_clause_ = (cached_has_bits & 0x00000020u)
                ? CreateMaybeMessage<::pg_query::WithClause>(arena, *from._impl_.with_clause_)
                : nullptr;
  _impl_.larg_ = (cached_has_bits & 0x00000040u)
                ? CreateMaybeMessage<::pg_query::SelectStmt>(arena, *from._impl_.larg_)
                : nullptr;
  _impl_.rarg_ = (cached_has_bits & 0x00000080u)
                ? CreateMaybeMessage<::pg_query::SelectStmt>(arena, *from._impl_.rarg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, group_distinct_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, group_distinct_),
           offsetof(Impl_, op_) -
               offsetof(Impl_, group_distinct_) +
               sizeof(Impl_::op_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SelectStmt)
}
inline PROTOBUF_NDEBUG_INLINE SelectStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        distinct_clause_{visibility, arena},
        target_list_{visibility, arena},
        from_clause_{visibility, arena},
        group_clause_{visibility, arena},
        window_clause_{visibility, arena},
        values_lists_{visibility, arena},
        sort_clause_{visibility, arena},
        locking_clause_{visibility, arena} {}

inline void SelectStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, into_clause_),
           0,
           offsetof(Impl_, op_) -
               offsetof(Impl_, into_clause_) +
               sizeof(Impl_::op_));
}
SelectStmt::~SelectStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SelectStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SelectStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.into_clause_;
  delete _impl_.where_clause_;
  delete _impl_.having_clause_;
  delete _impl_.limit_offset_;
  delete _impl_.limit_count_;
  delete _impl_.with_clause_;
  delete _impl_.larg_;
  delete _impl_.rarg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SelectStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SelectStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.distinct_clause_.Clear();
  _impl_.target_list_.Clear();
  _impl_.from_clause_.Clear();
  _impl_.group_clause_.Clear();
  _impl_.window_clause_.Clear();
  _impl_.values_lists_.Clear();
  _impl_.sort_clause_.Clear();
  _impl_.locking_clause_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.into_clause_ != nullptr);
      _impl_.into_clause_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.having_clause_ != nullptr);
      _impl_.having_clause_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.limit_offset_ != nullptr);
      _impl_.limit_offset_->Clear();
    }
    if (cached_has_bits & 0x00000010u) {
      ABSL_DCHECK(_impl_.limit_count_ != nullptr);
      _impl_.limit_count_->Clear();
    }
    if (cached_has_bits & 0x00000020u) {
      ABSL_DCHECK(_impl_.with_clause_ != nullptr);
      _impl_.with_clause_->Clear();
    }
    if (cached_has_bits & 0x00000040u) {
      ABSL_DCHECK(_impl_.larg_ != nullptr);
      _impl_.larg_->Clear();
    }
    if (cached_has_bits & 0x00000080u) {
      ABSL_DCHECK(_impl_.rarg_ != nullptr);
      _impl_.rarg_->Clear();
    }
  }
  ::memset(&_impl_.group_distinct_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.op_) -
      reinterpret_cast<char*>(&_impl_.group_distinct_)) + sizeof(_impl_.op_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SelectStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 20, 16, 0, 2> SelectStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_._has_bits_),
    0, // no _extensions_
    20, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4293918720,  // skipmap
    offsetof(decltype(_table_), field_entries),
    20,  // num_field_entries
    16,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SelectStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.distinct_clause_)}},
    // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.into_clause_)}},
    // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.target_list_)}},
    // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.from_clause_)}},
    // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 4, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.where_clause_)}},
    // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 5, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.group_clause_)}},
    // bool group_distinct = 7 [json_name = "groupDistinct"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SelectStmt, _impl_.group_distinct_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.group_distinct_)}},
    // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
    {::_pbi::TcParser::FastMtS1,
     {66, 2, 6, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.having_clause_)}},
    // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 7, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.window_clause_)}},
    // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 8, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.values_lists_)}},
    // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
    {::_pbi::TcParser::FastMtR1,
     {90, 63, 9, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.sort_clause_)}},
    // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
    {::_pbi::TcParser::FastMtS1,
     {98, 3, 10, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_offset_)}},
    // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
    {::_pbi::TcParser::FastMtS1,
     {106, 4, 11, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_count_)}},
    // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SelectStmt, _impl_.limit_option_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_option_)}},
    // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
    {::_pbi::TcParser::FastMtR1,
     {122, 63, 12, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.locking_clause_)}},
    // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
    {::_pbi::TcParser::FastMtS2,
     {386, 5, 13, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.with_clause_)}},
    // .pg_query.SetOperation op = 17 [json_name = "op"];
    {::_pbi::TcParser::FastV32S2,
     {392, 63, 0, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.op_)}},
    // bool all = 18 [json_name = "all"];
    {::_pbi::TcParser::FastV8S2,
     {400, 63, 0, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.all_)}},
    // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
    {::_pbi::TcParser::FastMtS2,
     {410, 6, 14, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.larg_)}},
    // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
    {::_pbi::TcParser::FastMtS2,
     {418, 7, 15, PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.rarg_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.distinct_clause_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.into_clause_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.target_list_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.from_clause_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.group_clause_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool group_distinct = 7 [json_name = "groupDistinct"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.group_distinct_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.having_clause_), _Internal::kHasBitsOffset + 2, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.window_clause_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.values_lists_), -1, 8,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.sort_clause_), -1, 9,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_offset_), _Internal::kHasBitsOffset + 3, 10,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_count_), _Internal::kHasBitsOffset + 4, 11,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.limit_option_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.locking_clause_), -1, 12,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.with_clause_), _Internal::kHasBitsOffset + 5, 13,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SetOperation op = 17 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool all = 18 [json_name = "all"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.all_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.larg_), _Internal::kHasBitsOffset + 6, 14,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
    {PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.rarg_), _Internal::kHasBitsOffset + 7, 15,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::IntoClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::WithClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::SelectStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::SelectStmt>()},
  }}, {{
  }},
};

::uint8_t* SelectStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SelectStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_distinct_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_distinct_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::into_clause(this),
        _Internal::into_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_target_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_target_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_from_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_from_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool group_distinct = 7 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_group_distinct(), target);
  }

  // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::having_clause(this),
        _Internal::having_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_window_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_window_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_values_lists_size()); i < n; i++) {
    const auto& repfield = this->_internal_values_lists().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_sort_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_sort_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(11, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        12, _Internal::limit_offset(this),
        _Internal::limit_offset(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
  if (cached_has_bits & 0x00000010u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        13, _Internal::limit_count(this),
        _Internal::limit_count(this).GetCachedSize(), target, stream);
  }

  // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        14, this->_internal_limit_option(), target);
  }

  // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_locking_clause_size()); i < n; i++) {
    const auto& repfield = this->_internal_locking_clause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
  if (cached_has_bits & 0x00000020u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        16, _Internal::with_clause(this),
        _Internal::with_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SetOperation op = 17 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        17, this->_internal_op(), target);
  }

  // bool all = 18 [json_name = "all"];
  if (this->_internal_all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this->_internal_all(), target);
  }

  // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
  if (cached_has_bits & 0x00000040u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        19, _Internal::larg(this),
        _Internal::larg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
  if (cached_has_bits & 0x00000080u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        20, _Internal::rarg(this),
        _Internal::rarg(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SelectStmt)
  return target;
}

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

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

  // repeated .pg_query.Node distinct_clause = 1 [json_name = "distinctClause"];
  total_size += 1UL * this->_internal_distinct_clause_size();
  for (const auto& msg : this->_internal_distinct_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node target_list = 3 [json_name = "targetList"];
  total_size += 1UL * this->_internal_target_list_size();
  for (const auto& msg : this->_internal_target_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node from_clause = 4 [json_name = "fromClause"];
  total_size += 1UL * this->_internal_from_clause_size();
  for (const auto& msg : this->_internal_from_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node group_clause = 6 [json_name = "groupClause"];
  total_size += 1UL * this->_internal_group_clause_size();
  for (const auto& msg : this->_internal_group_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node window_clause = 9 [json_name = "windowClause"];
  total_size += 1UL * this->_internal_window_clause_size();
  for (const auto& msg : this->_internal_window_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node values_lists = 10 [json_name = "valuesLists"];
  total_size += 1UL * this->_internal_values_lists_size();
  for (const auto& msg : this->_internal_values_lists()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node sort_clause = 11 [json_name = "sortClause"];
  total_size += 1UL * this->_internal_sort_clause_size();
  for (const auto& msg : this->_internal_sort_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node locking_clause = 15 [json_name = "lockingClause"];
  total_size += 1UL * this->_internal_locking_clause_size();
  for (const auto& msg : this->_internal_locking_clause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // .pg_query.IntoClause into_clause = 2 [json_name = "intoClause"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.into_clause_);
    }

    // .pg_query.Node where_clause = 5 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

    // .pg_query.Node having_clause = 8 [json_name = "havingClause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.having_clause_);
    }

    // .pg_query.Node limit_offset = 12 [json_name = "limitOffset"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.limit_offset_);
    }

    // .pg_query.Node limit_count = 13 [json_name = "limitCount"];
    if (cached_has_bits & 0x00000010u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.limit_count_);
    }

    // .pg_query.WithClause with_clause = 16 [json_name = "withClause"];
    if (cached_has_bits & 0x00000020u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_clause_);
    }

    // .pg_query.SelectStmt larg = 19 [json_name = "larg"];
    if (cached_has_bits & 0x00000040u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.larg_);
    }

    // .pg_query.SelectStmt rarg = 20 [json_name = "rarg"];
    if (cached_has_bits & 0x00000080u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rarg_);
    }

  }
  // bool group_distinct = 7 [json_name = "groupDistinct"];
  if (this->_internal_group_distinct() != 0) {
    total_size += 2;
  }

  // bool all = 18 [json_name = "all"];
  if (this->_internal_all() != 0) {
    total_size += 3;
  }

  // .pg_query.LimitOption limit_option = 14 [json_name = "limitOption"];
  if (this->_internal_limit_option() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_limit_option());
  }

  // .pg_query.SetOperation op = 17 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 2 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SelectStmt::_class_data_ = {
    SelectStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SelectStmt::GetClassData() const {
  return &_class_data_;
}

void SelectStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SelectStmt*>(&to_msg);
  auto& from = static_cast<const SelectStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SelectStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_distinct_clause()->MergeFrom(
      from._internal_distinct_clause());
  _this->_internal_mutable_target_list()->MergeFrom(
      from._internal_target_list());
  _this->_internal_mutable_from_clause()->MergeFrom(
      from._internal_from_clause());
  _this->_internal_mutable_group_clause()->MergeFrom(
      from._internal_group_clause());
  _this->_internal_mutable_window_clause()->MergeFrom(
      from._internal_window_clause());
  _this->_internal_mutable_values_lists()->MergeFrom(
      from._internal_values_lists());
  _this->_internal_mutable_sort_clause()->MergeFrom(
      from._internal_sort_clause());
  _this->_internal_mutable_locking_clause()->MergeFrom(
      from._internal_locking_clause());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_into_clause()->::pg_query::IntoClause::MergeFrom(
          from._internal_into_clause());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_having_clause()->::pg_query::Node::MergeFrom(
          from._internal_having_clause());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_limit_offset()->::pg_query::Node::MergeFrom(
          from._internal_limit_offset());
    }
    if (cached_has_bits & 0x00000010u) {
      _this->_internal_mutable_limit_count()->::pg_query::Node::MergeFrom(
          from._internal_limit_count());
    }
    if (cached_has_bits & 0x00000020u) {
      _this->_internal_mutable_with_clause()->::pg_query::WithClause::MergeFrom(
          from._internal_with_clause());
    }
    if (cached_has_bits & 0x00000040u) {
      _this->_internal_mutable_larg()->::pg_query::SelectStmt::MergeFrom(
          from._internal_larg());
    }
    if (cached_has_bits & 0x00000080u) {
      _this->_internal_mutable_rarg()->::pg_query::SelectStmt::MergeFrom(
          from._internal_rarg());
    }
  }
  if (from._internal_group_distinct() != 0) {
    _this->_internal_set_group_distinct(from._internal_group_distinct());
  }
  if (from._internal_all() != 0) {
    _this->_internal_set_all(from._internal_all());
  }
  if (from._internal_limit_option() != 0) {
    _this->_internal_set_limit_option(from._internal_limit_option());
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SelectStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SelectStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SelectStmt::InternalSwap(SelectStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.distinct_clause_.InternalSwap(&other->_impl_.distinct_clause_);
  _impl_.target_list_.InternalSwap(&other->_impl_.target_list_);
  _impl_.from_clause_.InternalSwap(&other->_impl_.from_clause_);
  _impl_.group_clause_.InternalSwap(&other->_impl_.group_clause_);
  _impl_.window_clause_.InternalSwap(&other->_impl_.window_clause_);
  _impl_.values_lists_.InternalSwap(&other->_impl_.values_lists_);
  _impl_.sort_clause_.InternalSwap(&other->_impl_.sort_clause_);
  _impl_.locking_clause_.InternalSwap(&other->_impl_.locking_clause_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.op_)
      + sizeof(SelectStmt::_impl_.op_)
      - PROTOBUF_FIELD_OFFSET(SelectStmt, _impl_.into_clause_)>(
          reinterpret_cast<char*>(&_impl_.into_clause_),
          reinterpret_cast<char*>(&other->_impl_.into_clause_));
}

::google::protobuf::Metadata SelectStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[147]);
}
// ===================================================================

class SetOperationStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<SetOperationStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_._has_bits_);
  static const ::pg_query::Node& larg(const SetOperationStmt* msg);
  static void set_has_larg(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& rarg(const SetOperationStmt* msg);
  static void set_has_rarg(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& SetOperationStmt::_Internal::larg(const SetOperationStmt* msg) {
  return *msg->_impl_.larg_;
}
const ::pg_query::Node& SetOperationStmt::_Internal::rarg(const SetOperationStmt* msg) {
  return *msg->_impl_.rarg_;
}
SetOperationStmt::SetOperationStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SetOperationStmt)
}
inline PROTOBUF_NDEBUG_INLINE SetOperationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        col_types_{visibility, arena, from.col_types_},
        col_typmods_{visibility, arena, from.col_typmods_},
        col_collations_{visibility, arena, from.col_collations_},
        group_clauses_{visibility, arena, from.group_clauses_} {}

SetOperationStmt::SetOperationStmt(
    ::google::protobuf::Arena* arena,
    const SetOperationStmt& from)
    : ::google::protobuf::Message(arena) {
  SetOperationStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.larg_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.larg_)
                : nullptr;
  _impl_.rarg_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.rarg_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, op_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, op_),
           offsetof(Impl_, all_) -
               offsetof(Impl_, op_) +
               sizeof(Impl_::all_));

  // @@protoc_insertion_point(copy_constructor:pg_query.SetOperationStmt)
}
inline PROTOBUF_NDEBUG_INLINE SetOperationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        col_types_{visibility, arena},
        col_typmods_{visibility, arena},
        col_collations_{visibility, arena},
        group_clauses_{visibility, arena} {}

inline void SetOperationStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, larg_),
           0,
           offsetof(Impl_, all_) -
               offsetof(Impl_, larg_) +
               sizeof(Impl_::all_));
}
SetOperationStmt::~SetOperationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SetOperationStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SetOperationStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.larg_;
  delete _impl_.rarg_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SetOperationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SetOperationStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.col_types_.Clear();
  _impl_.col_typmods_.Clear();
  _impl_.col_collations_.Clear();
  _impl_.group_clauses_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.larg_ != nullptr);
      _impl_.larg_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.rarg_ != nullptr);
      _impl_.rarg_->Clear();
    }
  }
  ::memset(&_impl_.op_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.all_) -
      reinterpret_cast<char*>(&_impl_.op_)) + sizeof(_impl_.all_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SetOperationStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 6, 0, 2> SetOperationStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SetOperationStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 5, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.group_clauses_)}},
    // .pg_query.SetOperation op = 1 [json_name = "op"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SetOperationStmt, _impl_.op_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.op_)}},
    // bool all = 2 [json_name = "all"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(SetOperationStmt, _impl_.all_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.all_)}},
    // .pg_query.Node larg = 3 [json_name = "larg"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.larg_)}},
    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.rarg_)}},
    // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_types_)}},
    // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 3, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_typmods_)}},
    // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 4, PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_collations_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.SetOperation op = 1 [json_name = "op"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.op_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool all = 2 [json_name = "all"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.all_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node larg = 3 [json_name = "larg"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.larg_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.rarg_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_types_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_typmods_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.col_collations_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
    {PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.group_clauses_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* SetOperationStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SetOperationStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_op(), target);
  }

  // bool all = 2 [json_name = "all"];
  if (this->_internal_all() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_all(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node larg = 3 [json_name = "larg"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::larg(this),
        _Internal::larg(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node rarg = 4 [json_name = "rarg"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::rarg(this),
        _Internal::rarg(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_types().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_typmods_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_typmods().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_col_collations_size()); i < n; i++) {
    const auto& repfield = this->_internal_col_collations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_group_clauses_size()); i < n; i++) {
    const auto& repfield = this->_internal_group_clauses().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SetOperationStmt)
  return target;
}

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

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

  // repeated .pg_query.Node col_types = 5 [json_name = "colTypes"];
  total_size += 1UL * this->_internal_col_types_size();
  for (const auto& msg : this->_internal_col_types()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node col_typmods = 6 [json_name = "colTypmods"];
  total_size += 1UL * this->_internal_col_typmods_size();
  for (const auto& msg : this->_internal_col_typmods()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node col_collations = 7 [json_name = "colCollations"];
  total_size += 1UL * this->_internal_col_collations_size();
  for (const auto& msg : this->_internal_col_collations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node group_clauses = 8 [json_name = "groupClauses"];
  total_size += 1UL * this->_internal_group_clauses_size();
  for (const auto& msg : this->_internal_group_clauses()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node larg = 3 [json_name = "larg"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.larg_);
    }

    // .pg_query.Node rarg = 4 [json_name = "rarg"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.rarg_);
    }

  }
  // .pg_query.SetOperation op = 1 [json_name = "op"];
  if (this->_internal_op() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_op());
  }

  // bool all = 2 [json_name = "all"];
  if (this->_internal_all() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SetOperationStmt::_class_data_ = {
    SetOperationStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SetOperationStmt::GetClassData() const {
  return &_class_data_;
}

void SetOperationStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SetOperationStmt*>(&to_msg);
  auto& from = static_cast<const SetOperationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SetOperationStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_col_types()->MergeFrom(
      from._internal_col_types());
  _this->_internal_mutable_col_typmods()->MergeFrom(
      from._internal_col_typmods());
  _this->_internal_mutable_col_collations()->MergeFrom(
      from._internal_col_collations());
  _this->_internal_mutable_group_clauses()->MergeFrom(
      from._internal_group_clauses());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_larg()->::pg_query::Node::MergeFrom(
          from._internal_larg());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_rarg()->::pg_query::Node::MergeFrom(
          from._internal_rarg());
    }
  }
  if (from._internal_op() != 0) {
    _this->_internal_set_op(from._internal_op());
  }
  if (from._internal_all() != 0) {
    _this->_internal_set_all(from._internal_all());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SetOperationStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SetOperationStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SetOperationStmt::InternalSwap(SetOperationStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.col_types_.InternalSwap(&other->_impl_.col_types_);
  _impl_.col_typmods_.InternalSwap(&other->_impl_.col_typmods_);
  _impl_.col_collations_.InternalSwap(&other->_impl_.col_collations_);
  _impl_.group_clauses_.InternalSwap(&other->_impl_.group_clauses_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.all_)
      + sizeof(SetOperationStmt::_impl_.all_)
      - PROTOBUF_FIELD_OFFSET(SetOperationStmt, _impl_.larg_)>(
          reinterpret_cast<char*>(&_impl_.larg_),
          reinterpret_cast<char*>(&other->_impl_.larg_));
}

::google::protobuf::Metadata SetOperationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[148]);
}
// ===================================================================

class ReturnStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ReturnStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ReturnStmt, _impl_._has_bits_);
  static const ::pg_query::Node& returnval(const ReturnStmt* msg);
  static void set_has_returnval(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& ReturnStmt::_Internal::returnval(const ReturnStmt* msg) {
  return *msg->_impl_.returnval_;
}
ReturnStmt::ReturnStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReturnStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReturnStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

ReturnStmt::ReturnStmt(
    ::google::protobuf::Arena* arena,
    const ReturnStmt& from)
    : ::google::protobuf::Message(arena) {
  ReturnStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.returnval_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.returnval_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.ReturnStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReturnStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ReturnStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.returnval_ = {};
}
ReturnStmt::~ReturnStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReturnStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ReturnStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.returnval_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ReturnStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReturnStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.returnval_ != nullptr);
    _impl_.returnval_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ReturnStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> ReturnStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ReturnStmt, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ReturnStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node returnval = 1 [json_name = "returnval"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ReturnStmt, _impl_.returnval_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node returnval = 1 [json_name = "returnval"];
    {PROTOBUF_FIELD_OFFSET(ReturnStmt, _impl_.returnval_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ReturnStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReturnStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node returnval = 1 [json_name = "returnval"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::returnval(this),
        _Internal::returnval(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ReturnStmt)
  return target;
}

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

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

  // .pg_query.Node returnval = 1 [json_name = "returnval"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.returnval_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ReturnStmt::_class_data_ = {
    ReturnStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ReturnStmt::GetClassData() const {
  return &_class_data_;
}

void ReturnStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ReturnStmt*>(&to_msg);
  auto& from = static_cast<const ReturnStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReturnStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_returnval()->::pg_query::Node::MergeFrom(
        from._internal_returnval());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ReturnStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ReturnStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ReturnStmt::InternalSwap(ReturnStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.returnval_, other->_impl_.returnval_);
}

::google::protobuf::Metadata ReturnStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[149]);
}
// ===================================================================

class PLAssignStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<PLAssignStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_._has_bits_);
  static const ::pg_query::SelectStmt& val(const PLAssignStmt* msg);
  static void set_has_val(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::SelectStmt& PLAssignStmt::_Internal::val(const PLAssignStmt* msg) {
  return *msg->_impl_.val_;
}
PLAssignStmt::PLAssignStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PLAssignStmt)
}
inline PROTOBUF_NDEBUG_INLINE PLAssignStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        indirection_{visibility, arena, from.indirection_},
        name_(arena, from.name_) {}

PLAssignStmt::PLAssignStmt(
    ::google::protobuf::Arena* arena,
    const PLAssignStmt& from)
    : ::google::protobuf::Message(arena) {
  PLAssignStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.val_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::SelectStmt>(arena, *from._impl_.val_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, nnames_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, nnames_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, nnames_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.PLAssignStmt)
}
inline PROTOBUF_NDEBUG_INLINE PLAssignStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        indirection_{visibility, arena},
        name_(arena) {}

inline void PLAssignStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, val_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, val_) +
               sizeof(Impl_::location_));
}
PLAssignStmt::~PLAssignStmt() {
  // @@protoc_insertion_point(destructor:pg_query.PLAssignStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PLAssignStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.val_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PLAssignStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PLAssignStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.indirection_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.val_ != nullptr);
    _impl_.val_->Clear();
  }
  ::memset(&_impl_.nnames_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.nnames_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PLAssignStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 34, 2> PLAssignStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PLAssignStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.name_)}},
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.indirection_)}},
    // int32 nnames = 3 [json_name = "nnames"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PLAssignStmt, _impl_.nnames_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.nnames_)}},
    // .pg_query.SelectStmt val = 4 [json_name = "val"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 1, PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.val_)}},
    // int32 location = 5 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PLAssignStmt, _impl_.location_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
    {PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.indirection_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 nnames = 3 [json_name = "nnames"];
    {PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.nnames_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.SelectStmt val = 4 [json_name = "val"];
    {PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.val_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 5 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::SelectStmt>()},
  }}, {{
    "\25\4\0\0\0\0\0\0"
    "pg_query.PLAssignStmt"
    "name"
  }},
};

::uint8_t* PLAssignStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PLAssignStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.PLAssignStmt.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_indirection_size()); i < n; i++) {
    const auto& repfield = this->_internal_indirection().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 nnames = 3 [json_name = "nnames"];
  if (this->_internal_nnames() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_nnames(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.SelectStmt val = 4 [json_name = "val"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::val(this),
        _Internal::val(this).GetCachedSize(), target, stream);
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<5>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PLAssignStmt)
  return target;
}

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

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

  // repeated .pg_query.Node indirection = 2 [json_name = "indirection"];
  total_size += 1UL * this->_internal_indirection_size();
  for (const auto& msg : this->_internal_indirection()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.SelectStmt val = 4 [json_name = "val"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.val_);
  }

  // int32 nnames = 3 [json_name = "nnames"];
  if (this->_internal_nnames() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_nnames());
  }

  // int32 location = 5 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PLAssignStmt::_class_data_ = {
    PLAssignStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PLAssignStmt::GetClassData() const {
  return &_class_data_;
}

void PLAssignStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PLAssignStmt*>(&to_msg);
  auto& from = static_cast<const PLAssignStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PLAssignStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_indirection()->MergeFrom(
      from._internal_indirection());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_val()->::pg_query::SelectStmt::MergeFrom(
        from._internal_val());
  }
  if (from._internal_nnames() != 0) {
    _this->_internal_set_nnames(from._internal_nnames());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PLAssignStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PLAssignStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PLAssignStmt::InternalSwap(PLAssignStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.indirection_.InternalSwap(&other->_impl_.indirection_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.location_)
      + sizeof(PLAssignStmt::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PLAssignStmt, _impl_.val_)>(
          reinterpret_cast<char*>(&_impl_.val_),
          reinterpret_cast<char*>(&other->_impl_.val_));
}

::google::protobuf::Metadata PLAssignStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[150]);
}
// ===================================================================

class CreateSchemaStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateSchemaStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& authrole(const CreateSchemaStmt* msg);
  static void set_has_authrole(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& CreateSchemaStmt::_Internal::authrole(const CreateSchemaStmt* msg) {
  return *msg->_impl_.authrole_;
}
CreateSchemaStmt::CreateSchemaStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        schema_elts_{visibility, arena, from.schema_elts_},
        schemaname_(arena, from.schemaname_) {}

CreateSchemaStmt::CreateSchemaStmt(
    ::google::protobuf::Arena* arena,
    const CreateSchemaStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateSchemaStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.authrole_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.authrole_)
                : nullptr;
  _impl_.if_not_exists_ = from._impl_.if_not_exists_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        schema_elts_{visibility, arena},
        schemaname_(arena) {}

inline void CreateSchemaStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, authrole_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, authrole_) +
               sizeof(Impl_::if_not_exists_));
}
CreateSchemaStmt::~CreateSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSchemaStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateSchemaStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.schemaname_.Destroy();
  delete _impl_.authrole_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSchemaStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.schema_elts_.Clear();
  _impl_.schemaname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.authrole_ != nullptr);
    _impl_.authrole_->Clear();
  }
  _impl_.if_not_exists_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateSchemaStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 44, 2> CreateSchemaStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateSchemaStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool if_not_exists = 4 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateSchemaStmt, _impl_.if_not_exists_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.if_not_exists_)}},
    // string schemaname = 1 [json_name = "schemaname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.schemaname_)}},
    // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.authrole_)}},
    // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.schema_elts_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string schemaname = 1 [json_name = "schemaname"];
    {PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.schemaname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
    {PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.authrole_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
    {PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.schema_elts_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool if_not_exists = 4 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\31\12\0\0\0\0\0\0"
    "pg_query.CreateSchemaStmt"
    "schemaname"
  }},
};

::uint8_t* CreateSchemaStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSchemaStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string schemaname = 1 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    const std::string& _s = this->_internal_schemaname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateSchemaStmt.schemaname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::authrole(this),
        _Internal::authrole(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_schema_elts_size()); i < n; i++) {
    const auto& repfield = this->_internal_schema_elts().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateSchemaStmt)
  return target;
}

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

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

  // repeated .pg_query.Node schema_elts = 3 [json_name = "schemaElts"];
  total_size += 1UL * this->_internal_schema_elts_size();
  for (const auto& msg : this->_internal_schema_elts()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string schemaname = 1 [json_name = "schemaname"];
  if (!this->_internal_schemaname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_schemaname());
  }

  // .pg_query.RoleSpec authrole = 2 [json_name = "authrole"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.authrole_);
  }

  // bool if_not_exists = 4 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateSchemaStmt::_class_data_ = {
    CreateSchemaStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateSchemaStmt::GetClassData() const {
  return &_class_data_;
}

void CreateSchemaStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateSchemaStmt*>(&to_msg);
  auto& from = static_cast<const CreateSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSchemaStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_schema_elts()->MergeFrom(
      from._internal_schema_elts());
  if (!from._internal_schemaname().empty()) {
    _this->_internal_set_schemaname(from._internal_schemaname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_authrole()->::pg_query::RoleSpec::MergeFrom(
        from._internal_authrole());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateSchemaStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateSchemaStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateSchemaStmt::InternalSwap(CreateSchemaStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.schema_elts_.InternalSwap(&other->_impl_.schema_elts_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.schemaname_, &other->_impl_.schemaname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.if_not_exists_)
      + sizeof(CreateSchemaStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSchemaStmt, _impl_.authrole_)>(
          reinterpret_cast<char*>(&_impl_.authrole_),
          reinterpret_cast<char*>(&other->_impl_.authrole_));
}

::google::protobuf::Metadata CreateSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[151]);
}
// ===================================================================

class AlterTableStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterTableStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const AlterTableStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& AlterTableStmt::_Internal::relation(const AlterTableStmt* msg) {
  return *msg->_impl_.relation_;
}
AlterTableStmt::AlterTableStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        cmds_{visibility, arena, from.cmds_} {}

AlterTableStmt::AlterTableStmt(
    ::google::protobuf::Arena* arena,
    const AlterTableStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTableStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, objtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, objtype_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, objtype_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        cmds_{visibility, arena} {}

inline void AlterTableStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::missing_ok_));
}
AlterTableStmt::~AlterTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTableStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTableStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cmds_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  ::memset(&_impl_.objtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.missing_ok_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTableStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> AlterTableStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTableStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTableStmt, _impl_.missing_ok_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.missing_ok_)}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.relation_)}},
    // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.cmds_)}},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTableStmt, _impl_.objtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.objtype_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
    {PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.cmds_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterTableStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cmds_size()); i < n; i++) {
    const auto& repfield = this->_internal_cmds().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_objtype(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTableStmt)
  return target;
}

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

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

  // repeated .pg_query.Node cmds = 2 [json_name = "cmds"];
  total_size += 1UL * this->_internal_cmds_size();
  for (const auto& msg : this->_internal_cmds()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTableStmt::_class_data_ = {
    AlterTableStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTableStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTableStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTableStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cmds()->MergeFrom(
      from._internal_cmds());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTableStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTableStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTableStmt::InternalSwap(AlterTableStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.cmds_.InternalSwap(&other->_impl_.cmds_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.missing_ok_)
      + sizeof(AlterTableStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTableStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata AlterTableStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[152]);
}
// ===================================================================

class ReplicaIdentityStmt::_Internal {
 public:
};

ReplicaIdentityStmt::ReplicaIdentityStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReplicaIdentityStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReplicaIdentityStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : identity_type_(arena, from.identity_type_),
        name_(arena, from.name_),
        _cached_size_{0} {}

ReplicaIdentityStmt::ReplicaIdentityStmt(
    ::google::protobuf::Arena* arena,
    const ReplicaIdentityStmt& from)
    : ::google::protobuf::Message(arena) {
  ReplicaIdentityStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.ReplicaIdentityStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReplicaIdentityStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : identity_type_(arena),
        name_(arena),
        _cached_size_{0} {}

inline void ReplicaIdentityStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ReplicaIdentityStmt::~ReplicaIdentityStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReplicaIdentityStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ReplicaIdentityStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.identity_type_.Destroy();
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ReplicaIdentityStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReplicaIdentityStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.identity_type_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ReplicaIdentityStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 54, 2> ReplicaIdentityStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ReplicaIdentityStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ReplicaIdentityStmt, _impl_.name_)}},
    // string identity_type = 1 [json_name = "identity_type"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ReplicaIdentityStmt, _impl_.identity_type_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string identity_type = 1 [json_name = "identity_type"];
    {PROTOBUF_FIELD_OFFSET(ReplicaIdentityStmt, _impl_.identity_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(ReplicaIdentityStmt, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\34\15\4\0\0\0\0\0"
    "pg_query.ReplicaIdentityStmt"
    "identity_type"
    "name"
  }},
};

::uint8_t* ReplicaIdentityStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReplicaIdentityStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string identity_type = 1 [json_name = "identity_type"];
  if (!this->_internal_identity_type().empty()) {
    const std::string& _s = this->_internal_identity_type();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ReplicaIdentityStmt.identity_type");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ReplicaIdentityStmt.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ReplicaIdentityStmt)
  return target;
}

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

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

  // string identity_type = 1 [json_name = "identity_type"];
  if (!this->_internal_identity_type().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_identity_type());
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ReplicaIdentityStmt::_class_data_ = {
    ReplicaIdentityStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ReplicaIdentityStmt::GetClassData() const {
  return &_class_data_;
}

void ReplicaIdentityStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ReplicaIdentityStmt*>(&to_msg);
  auto& from = static_cast<const ReplicaIdentityStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReplicaIdentityStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_identity_type().empty()) {
    _this->_internal_set_identity_type(from._internal_identity_type());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ReplicaIdentityStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ReplicaIdentityStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ReplicaIdentityStmt::InternalSwap(ReplicaIdentityStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.identity_type_, &other->_impl_.identity_type_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
}

::google::protobuf::Metadata ReplicaIdentityStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[153]);
}
// ===================================================================

class AlterTableCmd::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterTableCmd>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& newowner(const AlterTableCmd* msg);
  static void set_has_newowner(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& def(const AlterTableCmd* msg);
  static void set_has_def(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RoleSpec& AlterTableCmd::_Internal::newowner(const AlterTableCmd* msg) {
  return *msg->_impl_.newowner_;
}
const ::pg_query::Node& AlterTableCmd::_Internal::def(const AlterTableCmd* msg) {
  return *msg->_impl_.def_;
}
AlterTableCmd::AlterTableCmd(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableCmd)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableCmd::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

AlterTableCmd::AlterTableCmd(
    ::google::protobuf::Arena* arena,
    const AlterTableCmd& from)
    : ::google::protobuf::Message(arena) {
  AlterTableCmd* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.newowner_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.newowner_)
                : nullptr;
  _impl_.def_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.def_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, subtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, subtype_),
           offsetof(Impl_, recurse_) -
               offsetof(Impl_, subtype_) +
               sizeof(Impl_::recurse_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableCmd)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableCmd::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void AlterTableCmd::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, newowner_),
           0,
           offsetof(Impl_, recurse_) -
               offsetof(Impl_, newowner_) +
               sizeof(Impl_::recurse_));
}
AlterTableCmd::~AlterTableCmd() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableCmd)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTableCmd::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.newowner_;
  delete _impl_.def_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTableCmd::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableCmd)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.newowner_ != nullptr);
      _impl_.newowner_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.def_ != nullptr);
      _impl_.def_->Clear();
    }
  }
  ::memset(&_impl_.subtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.recurse_) -
      reinterpret_cast<char*>(&_impl_.subtype_)) + sizeof(_impl_.recurse_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTableCmd::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 43, 2> AlterTableCmd::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTableCmd_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool recurse = 8 [json_name = "recurse"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTableCmd, _impl_.recurse_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.recurse_)}},
    // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTableCmd, _impl_.subtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.subtype_)}},
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.name_)}},
    // int32 num = 3 [json_name = "num"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTableCmd, _impl_.num_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.num_)}},
    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.newowner_)}},
    // .pg_query.Node def = 5 [json_name = "def"];
    {::_pbi::TcParser::FastMtS1,
     {42, 1, 1, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.def_)}},
    // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTableCmd, _impl_.behavior_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.behavior_)}},
    // bool missing_ok = 7 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTableCmd, _impl_.missing_ok_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.missing_ok_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.subtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 num = 3 [json_name = "num"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.num_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.newowner_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node def = 5 [json_name = "def"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.def_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.behavior_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool missing_ok = 7 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool recurse = 8 [json_name = "recurse"];
    {PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.recurse_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\0\4\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.AlterTableCmd"
    "name"
  }},
};

::uint8_t* AlterTableCmd::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableCmd)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->_internal_subtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_subtype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterTableCmd.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // int32 num = 3 [json_name = "num"];
  if (this->_internal_num() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_num(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::newowner(this),
        _Internal::newowner(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node def = 5 [json_name = "def"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::def(this),
        _Internal::def(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_behavior(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_missing_ok(), target);
  }

  // bool recurse = 8 [json_name = "recurse"];
  if (this->_internal_recurse() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_recurse(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTableCmd)
  return target;
}

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

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

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.newowner_);
    }

    // .pg_query.Node def = 5 [json_name = "def"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.def_);
    }

  }
  // .pg_query.AlterTableType subtype = 1 [json_name = "subtype"];
  if (this->_internal_subtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_subtype());
  }

  // int32 num = 3 [json_name = "num"];
  if (this->_internal_num() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_num());
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  // bool recurse = 8 [json_name = "recurse"];
  if (this->_internal_recurse() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTableCmd::_class_data_ = {
    AlterTableCmd::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTableCmd::GetClassData() const {
  return &_class_data_;
}

void AlterTableCmd::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTableCmd*>(&to_msg);
  auto& from = static_cast<const AlterTableCmd&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableCmd)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(
          from._internal_newowner());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_def()->::pg_query::Node::MergeFrom(
          from._internal_def());
    }
  }
  if (from._internal_subtype() != 0) {
    _this->_internal_set_subtype(from._internal_subtype());
  }
  if (from._internal_num() != 0) {
    _this->_internal_set_num(from._internal_num());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_recurse() != 0) {
    _this->_internal_set_recurse(from._internal_recurse());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTableCmd::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTableCmd::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTableCmd::InternalSwap(AlterTableCmd* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.recurse_)
      + sizeof(AlterTableCmd::_impl_.recurse_)
      - PROTOBUF_FIELD_OFFSET(AlterTableCmd, _impl_.newowner_)>(
          reinterpret_cast<char*>(&_impl_.newowner_),
          reinterpret_cast<char*>(&other->_impl_.newowner_));
}

::google::protobuf::Metadata AlterTableCmd::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[154]);
}
// ===================================================================

class AlterCollationStmt::_Internal {
 public:
};

AlterCollationStmt::AlterCollationStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterCollationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterCollationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : collname_{visibility, arena, from.collname_},
        _cached_size_{0} {}

AlterCollationStmt::AlterCollationStmt(
    ::google::protobuf::Arena* arena,
    const AlterCollationStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterCollationStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterCollationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterCollationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : collname_{visibility, arena},
        _cached_size_{0} {}

inline void AlterCollationStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterCollationStmt::~AlterCollationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterCollationStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterCollationStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterCollationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterCollationStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.collname_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterCollationStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> AlterCollationStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterCollationStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node collname = 1 [json_name = "collname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterCollationStmt, _impl_.collname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node collname = 1 [json_name = "collname"];
    {PROTOBUF_FIELD_OFFSET(AlterCollationStmt, _impl_.collname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterCollationStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterCollationStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node collname = 1 [json_name = "collname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_collname_size()); i < n; i++) {
    const auto& repfield = this->_internal_collname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterCollationStmt)
  return target;
}

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

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

  // repeated .pg_query.Node collname = 1 [json_name = "collname"];
  total_size += 1UL * this->_internal_collname_size();
  for (const auto& msg : this->_internal_collname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterCollationStmt::_class_data_ = {
    AlterCollationStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterCollationStmt::GetClassData() const {
  return &_class_data_;
}

void AlterCollationStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterCollationStmt*>(&to_msg);
  auto& from = static_cast<const AlterCollationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterCollationStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_collname()->MergeFrom(
      from._internal_collname());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterCollationStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterCollationStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterCollationStmt::InternalSwap(AlterCollationStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.collname_.InternalSwap(&other->_impl_.collname_);
}

::google::protobuf::Metadata AlterCollationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[155]);
}
// ===================================================================

class AlterDomainStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterDomainStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_._has_bits_);
  static const ::pg_query::Node& def(const AlterDomainStmt* msg);
  static void set_has_def(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& AlterDomainStmt::_Internal::def(const AlterDomainStmt* msg) {
  return *msg->_impl_.def_;
}
AlterDomainStmt::AlterDomainStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDomainStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDomainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        type_name_{visibility, arena, from.type_name_},
        subtype_(arena, from.subtype_),
        name_(arena, from.name_) {}

AlterDomainStmt::AlterDomainStmt(
    ::google::protobuf::Arena* arena,
    const AlterDomainStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterDomainStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.def_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.def_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, behavior_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, behavior_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, behavior_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDomainStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDomainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        type_name_{visibility, arena},
        subtype_(arena),
        name_(arena) {}

inline void AlterDomainStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, def_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, def_) +
               sizeof(Impl_::missing_ok_));
}
AlterDomainStmt::~AlterDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDomainStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterDomainStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.subtype_.Destroy();
  _impl_.name_.Destroy();
  delete _impl_.def_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterDomainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDomainStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.subtype_.ClearToEmpty();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.def_ != nullptr);
    _impl_.def_->Clear();
  }
  ::memset(&_impl_.behavior_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.behavior_)) + sizeof(_impl_.missing_ok_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterDomainStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 2, 44, 2> AlterDomainStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterDomainStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string subtype = 1 [json_name = "subtype"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.subtype_)}},
    // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.type_name_)}},
    // string name = 3 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.name_)}},
    // .pg_query.Node def = 4 [json_name = "def"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 1, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.def_)}},
    // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterDomainStmt, _impl_.behavior_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.behavior_)}},
    // bool missing_ok = 6 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterDomainStmt, _impl_.missing_ok_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.missing_ok_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string subtype = 1 [json_name = "subtype"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.subtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.type_name_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string name = 3 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node def = 4 [json_name = "def"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.def_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.behavior_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool missing_ok = 6 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\7\0\4\0\0\0\0"
    "pg_query.AlterDomainStmt"
    "subtype"
    "name"
  }},
};

::uint8_t* AlterDomainStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDomainStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string subtype = 1 [json_name = "subtype"];
  if (!this->_internal_subtype().empty()) {
    const std::string& _s = this->_internal_subtype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterDomainStmt.subtype");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterDomainStmt.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node def = 4 [json_name = "def"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::def(this),
        _Internal::def(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_behavior(), target);
  }

  // bool missing_ok = 6 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterDomainStmt)
  return target;
}

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

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

  // repeated .pg_query.Node type_name = 2 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->_internal_type_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string subtype = 1 [json_name = "subtype"];
  if (!this->_internal_subtype().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_subtype());
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node def = 4 [json_name = "def"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.def_);
  }

  // .pg_query.DropBehavior behavior = 5 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 6 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterDomainStmt::_class_data_ = {
    AlterDomainStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterDomainStmt::GetClassData() const {
  return &_class_data_;
}

void AlterDomainStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterDomainStmt*>(&to_msg);
  auto& from = static_cast<const AlterDomainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDomainStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_type_name()->MergeFrom(
      from._internal_type_name());
  if (!from._internal_subtype().empty()) {
    _this->_internal_set_subtype(from._internal_subtype());
  }
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_def()->::pg_query::Node::MergeFrom(
        from._internal_def());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterDomainStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterDomainStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterDomainStmt::InternalSwap(AlterDomainStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.subtype_, &other->_impl_.subtype_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.missing_ok_)
      + sizeof(AlterDomainStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterDomainStmt, _impl_.def_)>(
          reinterpret_cast<char*>(&_impl_.def_),
          reinterpret_cast<char*>(&other->_impl_.def_));
}

::google::protobuf::Metadata AlterDomainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[156]);
}
// ===================================================================

class GrantStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<GrantStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& grantor(const GrantStmt* msg);
  static void set_has_grantor(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& GrantStmt::_Internal::grantor(const GrantStmt* msg) {
  return *msg->_impl_.grantor_;
}
GrantStmt::GrantStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantStmt)
}
inline PROTOBUF_NDEBUG_INLINE GrantStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        objects_{visibility, arena, from.objects_},
        privileges_{visibility, arena, from.privileges_},
        grantees_{visibility, arena, from.grantees_} {}

GrantStmt::GrantStmt(
    ::google::protobuf::Arena* arena,
    const GrantStmt& from)
    : ::google::protobuf::Message(arena) {
  GrantStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.grantor_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.grantor_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, targtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, targtype_),
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, targtype_) +
               sizeof(Impl_::behavior_));

  // @@protoc_insertion_point(copy_constructor:pg_query.GrantStmt)
}
inline PROTOBUF_NDEBUG_INLINE GrantStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        objects_{visibility, arena},
        privileges_{visibility, arena},
        grantees_{visibility, arena} {}

inline void GrantStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, grantor_),
           0,
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, grantor_) +
               sizeof(Impl_::behavior_));
}
GrantStmt::~GrantStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GrantStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.grantor_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void GrantStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GrantStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objects_.Clear();
  _impl_.privileges_.Clear();
  _impl_.grantees_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.grantor_ != nullptr);
    _impl_.grantor_->Clear();
  }
  ::memset(&_impl_.targtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.targtype_)) + sizeof(_impl_.behavior_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GrantStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 9, 4, 0, 2> GrantStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_._has_bits_),
    0, // no _extensions_
    9, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294966784,  // skipmap
    offsetof(decltype(_table_), field_entries),
    9,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GrantStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool is_grant = 1 [json_name = "is_grant"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GrantStmt, _impl_.is_grant_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.is_grant_)}},
    // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GrantStmt, _impl_.targtype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.targtype_)}},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GrantStmt, _impl_.objtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.objtype_)}},
    // repeated .pg_query.Node objects = 4 [json_name = "objects"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.objects_)}},
    // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.privileges_)}},
    // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantees_)}},
    // bool grant_option = 7 [json_name = "grant_option"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GrantStmt, _impl_.grant_option_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grant_option_)}},
    // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
    {::_pbi::TcParser::FastMtS1,
     {66, 0, 3, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantor_)}},
    // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GrantStmt, _impl_.behavior_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.behavior_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bool is_grant = 1 [json_name = "is_grant"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.is_grant_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.targtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node objects = 4 [json_name = "objects"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.objects_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.privileges_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantees_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool grant_option = 7 [json_name = "grant_option"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grant_option_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantor_), _Internal::kHasBitsOffset + 0, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.behavior_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
  }}, {{
  }},
};

::uint8_t* GrantStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GrantStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool is_grant = 1 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_is_grant(), target);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->_internal_targtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_targtype(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node objects = 4 [json_name = "objects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_privileges_size()); i < n; i++) {
    const auto& repfield = this->_internal_privileges().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grantees_size()); i < n; i++) {
    const auto& repfield = this->_internal_grantees().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool grant_option = 7 [json_name = "grant_option"];
  if (this->_internal_grant_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_grant_option(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::grantor(this),
        _Internal::grantor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.GrantStmt)
  return target;
}

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

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

  // repeated .pg_query.Node objects = 4 [json_name = "objects"];
  total_size += 1UL * this->_internal_objects_size();
  for (const auto& msg : this->_internal_objects()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node privileges = 5 [json_name = "privileges"];
  total_size += 1UL * this->_internal_privileges_size();
  for (const auto& msg : this->_internal_privileges()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node grantees = 6 [json_name = "grantees"];
  total_size += 1UL * this->_internal_grantees_size();
  for (const auto& msg : this->_internal_grantees()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RoleSpec grantor = 8 [json_name = "grantor"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.grantor_);
  }

  // .pg_query.GrantTargetType targtype = 2 [json_name = "targtype"];
  if (this->_internal_targtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_targtype());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool is_grant = 1 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    total_size += 2;
  }

  // bool grant_option = 7 [json_name = "grant_option"];
  if (this->_internal_grant_option() != 0) {
    total_size += 2;
  }

  // .pg_query.DropBehavior behavior = 9 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData GrantStmt::_class_data_ = {
    GrantStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* GrantStmt::GetClassData() const {
  return &_class_data_;
}

void GrantStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<GrantStmt*>(&to_msg);
  auto& from = static_cast<const GrantStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GrantStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_objects()->MergeFrom(
      from._internal_objects());
  _this->_internal_mutable_privileges()->MergeFrom(
      from._internal_privileges());
  _this->_internal_mutable_grantees()->MergeFrom(
      from._internal_grantees());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_grantor()->::pg_query::RoleSpec::MergeFrom(
        from._internal_grantor());
  }
  if (from._internal_targtype() != 0) {
    _this->_internal_set_targtype(from._internal_targtype());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_is_grant() != 0) {
    _this->_internal_set_is_grant(from._internal_is_grant());
  }
  if (from._internal_grant_option() != 0) {
    _this->_internal_set_grant_option(from._internal_grant_option());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool GrantStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* GrantStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void GrantStmt::InternalSwap(GrantStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  _impl_.privileges_.InternalSwap(&other->_impl_.privileges_);
  _impl_.grantees_.InternalSwap(&other->_impl_.grantees_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.behavior_)
      + sizeof(GrantStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantStmt, _impl_.grantor_)>(
          reinterpret_cast<char*>(&_impl_.grantor_),
          reinterpret_cast<char*>(&other->_impl_.grantor_));
}

::google::protobuf::Metadata GrantStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[157]);
}
// ===================================================================

class ObjectWithArgs::_Internal {
 public:
};

ObjectWithArgs::ObjectWithArgs(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ObjectWithArgs)
}
inline PROTOBUF_NDEBUG_INLINE ObjectWithArgs::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : objname_{visibility, arena, from.objname_},
        objargs_{visibility, arena, from.objargs_},
        objfuncargs_{visibility, arena, from.objfuncargs_},
        _cached_size_{0} {}

ObjectWithArgs::ObjectWithArgs(
    ::google::protobuf::Arena* arena,
    const ObjectWithArgs& from)
    : ::google::protobuf::Message(arena) {
  ObjectWithArgs* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.args_unspecified_ = from._impl_.args_unspecified_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ObjectWithArgs)
}
inline PROTOBUF_NDEBUG_INLINE ObjectWithArgs::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : objname_{visibility, arena},
        objargs_{visibility, arena},
        objfuncargs_{visibility, arena},
        _cached_size_{0} {}

inline void ObjectWithArgs::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.args_unspecified_ = {};
}
ObjectWithArgs::~ObjectWithArgs() {
  // @@protoc_insertion_point(destructor:pg_query.ObjectWithArgs)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ObjectWithArgs::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ObjectWithArgs::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ObjectWithArgs)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objname_.Clear();
  _impl_.objargs_.Clear();
  _impl_.objfuncargs_.Clear();
  _impl_.args_unspecified_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ObjectWithArgs::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 3, 0, 2> ObjectWithArgs::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ObjectWithArgs_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool args_unspecified = 4 [json_name = "args_unspecified"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ObjectWithArgs, _impl_.args_unspecified_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.args_unspecified_)}},
    // repeated .pg_query.Node objname = 1 [json_name = "objname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objname_)}},
    // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objargs_)}},
    // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objfuncargs_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node objname = 1 [json_name = "objname"];
    {PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
    {PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objargs_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
    {PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.objfuncargs_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool args_unspecified = 4 [json_name = "args_unspecified"];
    {PROTOBUF_FIELD_OFFSET(ObjectWithArgs, _impl_.args_unspecified_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ObjectWithArgs::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ObjectWithArgs)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node objname = 1 [json_name = "objname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objname_size()); i < n; i++) {
    const auto& repfield = this->_internal_objname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_objargs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objfuncargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_objfuncargs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool args_unspecified = 4 [json_name = "args_unspecified"];
  if (this->_internal_args_unspecified() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_args_unspecified(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ObjectWithArgs)
  return target;
}

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

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

  // repeated .pg_query.Node objname = 1 [json_name = "objname"];
  total_size += 1UL * this->_internal_objname_size();
  for (const auto& msg : this->_internal_objname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node objargs = 2 [json_name = "objargs"];
  total_size += 1UL * this->_internal_objargs_size();
  for (const auto& msg : this->_internal_objargs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node objfuncargs = 3 [json_name = "objfuncargs"];
  total_size += 1UL * this->_internal_objfuncargs_size();
  for (const auto& msg : this->_internal_objfuncargs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool args_unspecified = 4 [json_name = "args_unspecified"];
  if (this->_internal_args_unspecified() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ObjectWithArgs::_class_data_ = {
    ObjectWithArgs::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ObjectWithArgs::GetClassData() const {
  return &_class_data_;
}

void ObjectWithArgs::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ObjectWithArgs*>(&to_msg);
  auto& from = static_cast<const ObjectWithArgs&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ObjectWithArgs)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_objname()->MergeFrom(
      from._internal_objname());
  _this->_internal_mutable_objargs()->MergeFrom(
      from._internal_objargs());
  _this->_internal_mutable_objfuncargs()->MergeFrom(
      from._internal_objfuncargs());
  if (from._internal_args_unspecified() != 0) {
    _this->_internal_set_args_unspecified(from._internal_args_unspecified());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ObjectWithArgs::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ObjectWithArgs::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ObjectWithArgs::InternalSwap(ObjectWithArgs* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.objname_.InternalSwap(&other->_impl_.objname_);
  _impl_.objargs_.InternalSwap(&other->_impl_.objargs_);
  _impl_.objfuncargs_.InternalSwap(&other->_impl_.objfuncargs_);
        swap(_impl_.args_unspecified_, other->_impl_.args_unspecified_);
}

::google::protobuf::Metadata ObjectWithArgs::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[158]);
}
// ===================================================================

class AccessPriv::_Internal {
 public:
};

AccessPriv::AccessPriv(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AccessPriv)
}
inline PROTOBUF_NDEBUG_INLINE AccessPriv::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : cols_{visibility, arena, from.cols_},
        priv_name_(arena, from.priv_name_),
        _cached_size_{0} {}

AccessPriv::AccessPriv(
    ::google::protobuf::Arena* arena,
    const AccessPriv& from)
    : ::google::protobuf::Message(arena) {
  AccessPriv* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AccessPriv)
}
inline PROTOBUF_NDEBUG_INLINE AccessPriv::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : cols_{visibility, arena},
        priv_name_(arena),
        _cached_size_{0} {}

inline void AccessPriv::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AccessPriv::~AccessPriv() {
  // @@protoc_insertion_point(destructor:pg_query.AccessPriv)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AccessPriv::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.priv_name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AccessPriv::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AccessPriv)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cols_.Clear();
  _impl_.priv_name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AccessPriv::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 37, 2> AccessPriv::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AccessPriv_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node cols = 2 [json_name = "cols"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AccessPriv, _impl_.cols_)}},
    // string priv_name = 1 [json_name = "priv_name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AccessPriv, _impl_.priv_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string priv_name = 1 [json_name = "priv_name"];
    {PROTOBUF_FIELD_OFFSET(AccessPriv, _impl_.priv_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node cols = 2 [json_name = "cols"];
    {PROTOBUF_FIELD_OFFSET(AccessPriv, _impl_.cols_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\11\0\0\0\0\0\0"
    "pg_query.AccessPriv"
    "priv_name"
  }},
};

::uint8_t* AccessPriv::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AccessPriv)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string priv_name = 1 [json_name = "priv_name"];
  if (!this->_internal_priv_name().empty()) {
    const std::string& _s = this->_internal_priv_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AccessPriv.priv_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_cols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AccessPriv)
  return target;
}

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

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

  // repeated .pg_query.Node cols = 2 [json_name = "cols"];
  total_size += 1UL * this->_internal_cols_size();
  for (const auto& msg : this->_internal_cols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string priv_name = 1 [json_name = "priv_name"];
  if (!this->_internal_priv_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_priv_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AccessPriv::_class_data_ = {
    AccessPriv::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AccessPriv::GetClassData() const {
  return &_class_data_;
}

void AccessPriv::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AccessPriv*>(&to_msg);
  auto& from = static_cast<const AccessPriv&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AccessPriv)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cols()->MergeFrom(
      from._internal_cols());
  if (!from._internal_priv_name().empty()) {
    _this->_internal_set_priv_name(from._internal_priv_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AccessPriv::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AccessPriv::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AccessPriv::InternalSwap(AccessPriv* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.cols_.InternalSwap(&other->_impl_.cols_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.priv_name_, &other->_impl_.priv_name_, arena);
}

::google::protobuf::Metadata AccessPriv::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[159]);
}
// ===================================================================

class GrantRoleStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<GrantRoleStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& grantor(const GrantRoleStmt* msg);
  static void set_has_grantor(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& GrantRoleStmt::_Internal::grantor(const GrantRoleStmt* msg) {
  return *msg->_impl_.grantor_;
}
GrantRoleStmt::GrantRoleStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.GrantRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE GrantRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        granted_roles_{visibility, arena, from.granted_roles_},
        grantee_roles_{visibility, arena, from.grantee_roles_},
        opt_{visibility, arena, from.opt_} {}

GrantRoleStmt::GrantRoleStmt(
    ::google::protobuf::Arena* arena,
    const GrantRoleStmt& from)
    : ::google::protobuf::Message(arena) {
  GrantRoleStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.grantor_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.grantor_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_grant_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, is_grant_),
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, is_grant_) +
               sizeof(Impl_::behavior_));

  // @@protoc_insertion_point(copy_constructor:pg_query.GrantRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE GrantRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        granted_roles_{visibility, arena},
        grantee_roles_{visibility, arena},
        opt_{visibility, arena} {}

inline void GrantRoleStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, grantor_),
           0,
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, grantor_) +
               sizeof(Impl_::behavior_));
}
GrantRoleStmt::~GrantRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.GrantRoleStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void GrantRoleStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.grantor_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void GrantRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.GrantRoleStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.granted_roles_.Clear();
  _impl_.grantee_roles_.Clear();
  _impl_.opt_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.grantor_ != nullptr);
    _impl_.grantor_->Clear();
  }
  ::memset(&_impl_.is_grant_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.is_grant_)) + sizeof(_impl_.behavior_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* GrantRoleStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 4, 0, 2> GrantRoleStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_GrantRoleStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.granted_roles_)}},
    // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantee_roles_)}},
    // bool is_grant = 3 [json_name = "is_grant"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(GrantRoleStmt, _impl_.is_grant_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.is_grant_)}},
    // repeated .pg_query.Node opt = 4 [json_name = "opt"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.opt_)}},
    // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
    {::_pbi::TcParser::FastMtS1,
     {42, 0, 3, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantor_)}},
    // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(GrantRoleStmt, _impl_.behavior_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.behavior_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.granted_roles_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantee_roles_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_grant = 3 [json_name = "is_grant"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.is_grant_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node opt = 4 [json_name = "opt"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.opt_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantor_), _Internal::kHasBitsOffset + 0, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.behavior_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
  }}, {{
  }},
};

::uint8_t* GrantRoleStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.GrantRoleStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_granted_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_granted_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_grantee_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_grantee_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_grant = 3 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_grant(), target);
  }

  // repeated .pg_query.Node opt = 4 [json_name = "opt"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opt_size()); i < n; i++) {
    const auto& repfield = this->_internal_opt().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::grantor(this),
        _Internal::grantor(this).GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.GrantRoleStmt)
  return target;
}

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

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

  // repeated .pg_query.Node granted_roles = 1 [json_name = "granted_roles"];
  total_size += 1UL * this->_internal_granted_roles_size();
  for (const auto& msg : this->_internal_granted_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node grantee_roles = 2 [json_name = "grantee_roles"];
  total_size += 1UL * this->_internal_grantee_roles_size();
  for (const auto& msg : this->_internal_grantee_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opt = 4 [json_name = "opt"];
  total_size += 1UL * this->_internal_opt_size();
  for (const auto& msg : this->_internal_opt()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RoleSpec grantor = 5 [json_name = "grantor"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.grantor_);
  }

  // bool is_grant = 3 [json_name = "is_grant"];
  if (this->_internal_is_grant() != 0) {
    total_size += 2;
  }

  // .pg_query.DropBehavior behavior = 6 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData GrantRoleStmt::_class_data_ = {
    GrantRoleStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* GrantRoleStmt::GetClassData() const {
  return &_class_data_;
}

void GrantRoleStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<GrantRoleStmt*>(&to_msg);
  auto& from = static_cast<const GrantRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.GrantRoleStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_granted_roles()->MergeFrom(
      from._internal_granted_roles());
  _this->_internal_mutable_grantee_roles()->MergeFrom(
      from._internal_grantee_roles());
  _this->_internal_mutable_opt()->MergeFrom(
      from._internal_opt());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_grantor()->::pg_query::RoleSpec::MergeFrom(
        from._internal_grantor());
  }
  if (from._internal_is_grant() != 0) {
    _this->_internal_set_is_grant(from._internal_is_grant());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool GrantRoleStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* GrantRoleStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void GrantRoleStmt::InternalSwap(GrantRoleStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.granted_roles_.InternalSwap(&other->_impl_.granted_roles_);
  _impl_.grantee_roles_.InternalSwap(&other->_impl_.grantee_roles_);
  _impl_.opt_.InternalSwap(&other->_impl_.opt_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.behavior_)
      + sizeof(GrantRoleStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(GrantRoleStmt, _impl_.grantor_)>(
          reinterpret_cast<char*>(&_impl_.grantor_),
          reinterpret_cast<char*>(&other->_impl_.grantor_));
}

::google::protobuf::Metadata GrantRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[160]);
}
// ===================================================================

class AlterDefaultPrivilegesStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterDefaultPrivilegesStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_._has_bits_);
  static const ::pg_query::GrantStmt& action(const AlterDefaultPrivilegesStmt* msg);
  static void set_has_action(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::GrantStmt& AlterDefaultPrivilegesStmt::_Internal::action(const AlterDefaultPrivilegesStmt* msg) {
  return *msg->_impl_.action_;
}
AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDefaultPrivilegesStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDefaultPrivilegesStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

AlterDefaultPrivilegesStmt::AlterDefaultPrivilegesStmt(
    ::google::protobuf::Arena* arena,
    const AlterDefaultPrivilegesStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterDefaultPrivilegesStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.action_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::GrantStmt>(arena, *from._impl_.action_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDefaultPrivilegesStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDefaultPrivilegesStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void AlterDefaultPrivilegesStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.action_ = {};
}
AlterDefaultPrivilegesStmt::~AlterDefaultPrivilegesStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDefaultPrivilegesStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterDefaultPrivilegesStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.action_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterDefaultPrivilegesStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDefaultPrivilegesStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.action_ != nullptr);
    _impl_.action_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterDefaultPrivilegesStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> AlterDefaultPrivilegesStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterDefaultPrivilegesStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.GrantStmt action = 2 [json_name = "action"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_.action_)}},
    // repeated .pg_query.Node options = 1 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node options = 1 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_.options_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.GrantStmt action = 2 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(AlterDefaultPrivilegesStmt, _impl_.action_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::GrantStmt>()},
  }}, {{
  }},
};

::uint8_t* AlterDefaultPrivilegesStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDefaultPrivilegesStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::action(this),
        _Internal::action(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterDefaultPrivilegesStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.GrantStmt action = 2 [json_name = "action"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.action_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterDefaultPrivilegesStmt::_class_data_ = {
    AlterDefaultPrivilegesStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterDefaultPrivilegesStmt::GetClassData() const {
  return &_class_data_;
}

void AlterDefaultPrivilegesStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterDefaultPrivilegesStmt*>(&to_msg);
  auto& from = static_cast<const AlterDefaultPrivilegesStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDefaultPrivilegesStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_action()->::pg_query::GrantStmt::MergeFrom(
        from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterDefaultPrivilegesStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterDefaultPrivilegesStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterDefaultPrivilegesStmt::InternalSwap(AlterDefaultPrivilegesStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.action_, other->_impl_.action_);
}

::google::protobuf::Metadata AlterDefaultPrivilegesStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[161]);
}
// ===================================================================

class CopyStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CopyStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const CopyStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& query(const CopyStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& where_clause(const CopyStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& CopyStmt::_Internal::relation(const CopyStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& CopyStmt::_Internal::query(const CopyStmt* msg) {
  return *msg->_impl_.query_;
}
const ::pg_query::Node& CopyStmt::_Internal::where_clause(const CopyStmt* msg) {
  return *msg->_impl_.where_clause_;
}
CopyStmt::CopyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CopyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CopyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        attlist_{visibility, arena, from.attlist_},
        options_{visibility, arena, from.options_},
        filename_(arena, from.filename_) {}

CopyStmt::CopyStmt(
    ::google::protobuf::Arena* arena,
    const CopyStmt& from)
    : ::google::protobuf::Message(arena) {
  CopyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.query_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_from_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, is_from_),
           offsetof(Impl_, is_program_) -
               offsetof(Impl_, is_from_) +
               sizeof(Impl_::is_program_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CopyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CopyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        attlist_{visibility, arena},
        options_{visibility, arena},
        filename_(arena) {}

inline void CopyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, is_program_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::is_program_));
}
CopyStmt::~CopyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CopyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CopyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.filename_.Destroy();
  delete _impl_.relation_;
  delete _impl_.query_;
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CopyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CopyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.attlist_.Clear();
  _impl_.options_.Clear();
  _impl_.filename_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.query_ != nullptr);
      _impl_.query_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
  }
  ::memset(&_impl_.is_from_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.is_program_) -
      reinterpret_cast<char*>(&_impl_.is_from_)) + sizeof(_impl_.is_program_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CopyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 5, 42, 2> CopyStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CopyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {66, 2, 4, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.where_clause_)}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.relation_)}},
    // .pg_query.Node query = 2 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.query_)}},
    // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.attlist_)}},
    // bool is_from = 4 [json_name = "is_from"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CopyStmt, _impl_.is_from_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_from_)}},
    // bool is_program = 5 [json_name = "is_program"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CopyStmt, _impl_.is_program_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_program_)}},
    // string filename = 6 [json_name = "filename"];
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.filename_)}},
    // repeated .pg_query.Node options = 7 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 3, PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node query = 2 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.query_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.attlist_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_from = 4 [json_name = "is_from"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_from_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_program = 5 [json_name = "is_program"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_program_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string filename = 6 [json_name = "filename"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.filename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 7 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.options_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\21\0\0\0\0\0\10\0\0\0\0\0\0\0\0\0"
    "pg_query.CopyStmt"
    "filename"
  }},
};

::uint8_t* CopyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CopyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node query = 2 [json_name = "query"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_attlist_size()); i < n; i++) {
    const auto& repfield = this->_internal_attlist().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_from = 4 [json_name = "is_from"];
  if (this->_internal_is_from() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_is_from(), target);
  }

  // bool is_program = 5 [json_name = "is_program"];
  if (this->_internal_is_program() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_is_program(), target);
  }

  // string filename = 6 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    const std::string& _s = this->_internal_filename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CopyStmt.filename");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CopyStmt)
  return target;
}

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

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

  // repeated .pg_query.Node attlist = 3 [json_name = "attlist"];
  total_size += 1UL * this->_internal_attlist_size();
  for (const auto& msg : this->_internal_attlist()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 7 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string filename = 6 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_filename());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node query = 2 [json_name = "query"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
    }

    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

  }
  // bool is_from = 4 [json_name = "is_from"];
  if (this->_internal_is_from() != 0) {
    total_size += 2;
  }

  // bool is_program = 5 [json_name = "is_program"];
  if (this->_internal_is_program() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CopyStmt::_class_data_ = {
    CopyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CopyStmt::GetClassData() const {
  return &_class_data_;
}

void CopyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CopyStmt*>(&to_msg);
  auto& from = static_cast<const CopyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CopyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_attlist()->MergeFrom(
      from._internal_attlist());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_filename().empty()) {
    _this->_internal_set_filename(from._internal_filename());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
          from._internal_query());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
  }
  if (from._internal_is_from() != 0) {
    _this->_internal_set_is_from(from._internal_is_from());
  }
  if (from._internal_is_program() != 0) {
    _this->_internal_set_is_program(from._internal_is_program());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CopyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CopyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CopyStmt::InternalSwap(CopyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.attlist_.InternalSwap(&other->_impl_.attlist_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.filename_, &other->_impl_.filename_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.is_program_)
      + sizeof(CopyStmt::_impl_.is_program_)
      - PROTOBUF_FIELD_OFFSET(CopyStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata CopyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[162]);
}
// ===================================================================

class VariableSetStmt::_Internal {
 public:
};

VariableSetStmt::VariableSetStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE VariableSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : args_{visibility, arena, from.args_},
        name_(arena, from.name_),
        _cached_size_{0} {}

VariableSetStmt::VariableSetStmt(
    ::google::protobuf::Arena* arena,
    const VariableSetStmt& from)
    : ::google::protobuf::Message(arena) {
  VariableSetStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, is_local_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::is_local_));

  // @@protoc_insertion_point(copy_constructor:pg_query.VariableSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE VariableSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : args_{visibility, arena},
        name_(arena),
        _cached_size_{0} {}

inline void VariableSetStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           0,
           offsetof(Impl_, is_local_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::is_local_));
}
VariableSetStmt::~VariableSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableSetStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void VariableSetStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void VariableSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableSetStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _impl_.name_.ClearToEmpty();
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.is_local_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.is_local_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* VariableSetStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 37, 2> VariableSetStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_VariableSetStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool is_local = 4 [json_name = "is_local"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(VariableSetStmt, _impl_.is_local_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.is_local_)}},
    // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(VariableSetStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.kind_)}},
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.name_)}},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node args = 3 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.args_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_local = 4 [json_name = "is_local"];
    {PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.is_local_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\4\0\0\0\0\0"
    "pg_query.VariableSetStmt"
    "name"
  }},
};

::uint8_t* VariableSetStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableSetStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.VariableSetStmt.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_is_local(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.VariableSetStmt)
  return target;
}

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

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

  // repeated .pg_query.Node args = 3 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.VariableSetKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool is_local = 4 [json_name = "is_local"];
  if (this->_internal_is_local() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData VariableSetStmt::_class_data_ = {
    VariableSetStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* VariableSetStmt::GetClassData() const {
  return &_class_data_;
}

void VariableSetStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<VariableSetStmt*>(&to_msg);
  auto& from = static_cast<const VariableSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableSetStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_is_local() != 0) {
    _this->_internal_set_is_local(from._internal_is_local());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool VariableSetStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* VariableSetStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void VariableSetStmt::InternalSwap(VariableSetStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.is_local_)
      + sizeof(VariableSetStmt::_impl_.is_local_)
      - PROTOBUF_FIELD_OFFSET(VariableSetStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::google::protobuf::Metadata VariableSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[163]);
}
// ===================================================================

class VariableShowStmt::_Internal {
 public:
};

VariableShowStmt::VariableShowStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VariableShowStmt)
}
inline PROTOBUF_NDEBUG_INLINE VariableShowStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        _cached_size_{0} {}

VariableShowStmt::VariableShowStmt(
    ::google::protobuf::Arena* arena,
    const VariableShowStmt& from)
    : ::google::protobuf::Message(arena) {
  VariableShowStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.VariableShowStmt)
}
inline PROTOBUF_NDEBUG_INLINE VariableShowStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        _cached_size_{0} {}

inline void VariableShowStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
VariableShowStmt::~VariableShowStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VariableShowStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void VariableShowStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void VariableShowStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VariableShowStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* VariableShowStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 38, 2> VariableShowStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_VariableShowStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(VariableShowStmt, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(VariableShowStmt, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\31\4\0\0\0\0\0\0"
    "pg_query.VariableShowStmt"
    "name"
  }},
};

::uint8_t* VariableShowStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VariableShowStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.VariableShowStmt.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.VariableShowStmt)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData VariableShowStmt::_class_data_ = {
    VariableShowStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* VariableShowStmt::GetClassData() const {
  return &_class_data_;
}

void VariableShowStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<VariableShowStmt*>(&to_msg);
  auto& from = static_cast<const VariableShowStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VariableShowStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool VariableShowStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* VariableShowStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void VariableShowStmt::InternalSwap(VariableShowStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
}

::google::protobuf::Metadata VariableShowStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[164]);
}
// ===================================================================

class CreateStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const CreateStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::PartitionBoundSpec& partbound(const CreateStmt* msg);
  static void set_has_partbound(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::PartitionSpec& partspec(const CreateStmt* msg);
  static void set_has_partspec(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static const ::pg_query::TypeName& of_typename(const CreateStmt* msg);
  static void set_has_of_typename(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
};

const ::pg_query::RangeVar& CreateStmt::_Internal::relation(const CreateStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::PartitionBoundSpec& CreateStmt::_Internal::partbound(const CreateStmt* msg) {
  return *msg->_impl_.partbound_;
}
const ::pg_query::PartitionSpec& CreateStmt::_Internal::partspec(const CreateStmt* msg) {
  return *msg->_impl_.partspec_;
}
const ::pg_query::TypeName& CreateStmt::_Internal::of_typename(const CreateStmt* msg) {
  return *msg->_impl_.of_typename_;
}
CreateStmt::CreateStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        table_elts_{visibility, arena, from.table_elts_},
        inh_relations_{visibility, arena, from.inh_relations_},
        constraints_{visibility, arena, from.constraints_},
        options_{visibility, arena, from.options_},
        tablespacename_(arena, from.tablespacename_),
        access_method_(arena, from.access_method_) {}

CreateStmt::CreateStmt(
    ::google::protobuf::Arena* arena,
    const CreateStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.partbound_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::PartitionBoundSpec>(arena, *from._impl_.partbound_)
                : nullptr;
  _impl_.partspec_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::PartitionSpec>(arena, *from._impl_.partspec_)
                : nullptr;
  _impl_.of_typename_ = (cached_has_bits & 0x00000008u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.of_typename_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, oncommit_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, oncommit_),
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, oncommit_) +
               sizeof(Impl_::if_not_exists_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        table_elts_{visibility, arena},
        inh_relations_{visibility, arena},
        constraints_{visibility, arena},
        options_{visibility, arena},
        tablespacename_(arena),
        access_method_(arena) {}

inline void CreateStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::if_not_exists_));
}
CreateStmt::~CreateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.tablespacename_.Destroy();
  _impl_.access_method_.Destroy();
  delete _impl_.relation_;
  delete _impl_.partbound_;
  delete _impl_.partspec_;
  delete _impl_.of_typename_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.table_elts_.Clear();
  _impl_.inh_relations_.Clear();
  _impl_.constraints_.Clear();
  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.partbound_ != nullptr);
      _impl_.partbound_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.partspec_ != nullptr);
      _impl_.partspec_->Clear();
    }
    if (cached_has_bits & 0x00000008u) {
      ABSL_DCHECK(_impl_.of_typename_ != nullptr);
      _impl_.of_typename_->Clear();
    }
  }
  ::memset(&_impl_.oncommit_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.oncommit_)) + sizeof(_impl_.if_not_exists_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 12, 8, 63, 2> CreateStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_._has_bits_),
    0, // no _extensions_
    12, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294963200,  // skipmap
    offsetof(decltype(_table_), field_entries),
    12,  // num_field_entries
    8,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.relation_)}},
    // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.table_elts_)}},
    // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.inh_relations_)}},
    // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 3, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.partbound_)}},
    // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 4, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.partspec_)}},
    // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
    {::_pbi::TcParser::FastMtS1,
     {50, 3, 5, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.of_typename_)}},
    // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 6, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.constraints_)}},
    // repeated .pg_query.Node options = 8 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {66, 63, 7, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.options_)}},
    // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateStmt, _impl_.oncommit_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.oncommit_)}},
    // string tablespacename = 10 [json_name = "tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.tablespacename_)}},
    // string access_method = 11 [json_name = "accessMethod"];
    {::_pbi::TcParser::FastUS1,
     {90, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.access_method_)}},
    // bool if_not_exists = 12 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateStmt, _impl_.if_not_exists_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.if_not_exists_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.table_elts_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.inh_relations_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.partbound_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.partspec_), _Internal::kHasBitsOffset + 2, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.of_typename_), _Internal::kHasBitsOffset + 3, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.constraints_), -1, 6,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 8 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.options_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.oncommit_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string tablespacename = 10 [json_name = "tablespacename"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.tablespacename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string access_method = 11 [json_name = "accessMethod"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.access_method_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool if_not_exists = 12 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionBoundSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::PartitionSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\0\0\0\0\0\0\0\0\0\16\15\0\0\0\0"
    "pg_query.CreateStmt"
    "tablespacename"
    "access_method"
  }},
};

::uint8_t* CreateStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_table_elts_size()); i < n; i++) {
    const auto& repfield = this->_internal_table_elts().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_inh_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_inh_relations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::partbound(this),
        _Internal::partbound(this).GetCachedSize(), target, stream);
  }

  // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::partspec(this),
        _Internal::partspec(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
  if (cached_has_bits & 0x00000008u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::of_typename(this),
        _Internal::of_typename(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 8 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(8, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->_internal_oncommit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        9, this->_internal_oncommit(), target);
  }

  // string tablespacename = 10 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    const std::string& _s = this->_internal_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // string access_method = 11 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    const std::string& _s = this->_internal_access_method();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateStmt.access_method");
    target = stream->WriteStringMaybeAliased(11, _s, target);
  }

  // bool if_not_exists = 12 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateStmt)
  return target;
}

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

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

  // repeated .pg_query.Node table_elts = 2 [json_name = "tableElts"];
  total_size += 1UL * this->_internal_table_elts_size();
  for (const auto& msg : this->_internal_table_elts()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node inh_relations = 3 [json_name = "inhRelations"];
  total_size += 1UL * this->_internal_inh_relations_size();
  for (const auto& msg : this->_internal_inh_relations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node constraints = 7 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->_internal_constraints()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 8 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string tablespacename = 10 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_tablespacename());
  }

  // string access_method = 11 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_access_method());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.PartitionBoundSpec partbound = 4 [json_name = "partbound"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.partbound_);
    }

    // .pg_query.PartitionSpec partspec = 5 [json_name = "partspec"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.partspec_);
    }

    // .pg_query.TypeName of_typename = 6 [json_name = "ofTypename"];
    if (cached_has_bits & 0x00000008u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.of_typename_);
    }

  }
  // .pg_query.OnCommitAction oncommit = 9 [json_name = "oncommit"];
  if (this->_internal_oncommit() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_oncommit());
  }

  // bool if_not_exists = 12 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateStmt::_class_data_ = {
    CreateStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateStmt::GetClassData() const {
  return &_class_data_;
}

void CreateStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateStmt*>(&to_msg);
  auto& from = static_cast<const CreateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_table_elts()->MergeFrom(
      from._internal_table_elts());
  _this->_internal_mutable_inh_relations()->MergeFrom(
      from._internal_inh_relations());
  _this->_internal_mutable_constraints()->MergeFrom(
      from._internal_constraints());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x0000000fu) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_partbound()->::pg_query::PartitionBoundSpec::MergeFrom(
          from._internal_partbound());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_partspec()->::pg_query::PartitionSpec::MergeFrom(
          from._internal_partspec());
    }
    if (cached_has_bits & 0x00000008u) {
      _this->_internal_mutable_of_typename()->::pg_query::TypeName::MergeFrom(
          from._internal_of_typename());
    }
  }
  if (from._internal_oncommit() != 0) {
    _this->_internal_set_oncommit(from._internal_oncommit());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateStmt::InternalSwap(CreateStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.table_elts_.InternalSwap(&other->_impl_.table_elts_);
  _impl_.inh_relations_.InternalSwap(&other->_impl_.inh_relations_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tablespacename_, &other->_impl_.tablespacename_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.access_method_, &other->_impl_.access_method_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.if_not_exists_)
      + sizeof(CreateStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata CreateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[165]);
}
// ===================================================================

class Constraint::_Internal {
 public:
  using HasBits = decltype(std::declval<Constraint>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(Constraint, _impl_._has_bits_);
  static const ::pg_query::Node& raw_expr(const Constraint* msg);
  static void set_has_raw_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const Constraint* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::RangeVar& pktable(const Constraint* msg);
  static void set_has_pktable(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::Node& Constraint::_Internal::raw_expr(const Constraint* msg) {
  return *msg->_impl_.raw_expr_;
}
const ::pg_query::Node& Constraint::_Internal::where_clause(const Constraint* msg) {
  return *msg->_impl_.where_clause_;
}
const ::pg_query::RangeVar& Constraint::_Internal::pktable(const Constraint* msg) {
  return *msg->_impl_.pktable_;
}
Constraint::Constraint(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.Constraint)
}
inline PROTOBUF_NDEBUG_INLINE Constraint::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        keys_{visibility, arena, from.keys_},
        including_{visibility, arena, from.including_},
        exclusions_{visibility, arena, from.exclusions_},
        options_{visibility, arena, from.options_},
        fk_attrs_{visibility, arena, from.fk_attrs_},
        pk_attrs_{visibility, arena, from.pk_attrs_},
        fk_del_set_cols_{visibility, arena, from.fk_del_set_cols_},
        old_conpfeqop_{visibility, arena, from.old_conpfeqop_},
        conname_(arena, from.conname_),
        cooked_expr_(arena, from.cooked_expr_),
        generated_when_(arena, from.generated_when_),
        indexname_(arena, from.indexname_),
        indexspace_(arena, from.indexspace_),
        access_method_(arena, from.access_method_),
        fk_matchtype_(arena, from.fk_matchtype_),
        fk_upd_action_(arena, from.fk_upd_action_),
        fk_del_action_(arena, from.fk_del_action_) {}

Constraint::Constraint(
    ::google::protobuf::Arena* arena,
    const Constraint& from)
    : ::google::protobuf::Message(arena) {
  Constraint* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.raw_expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.raw_expr_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  _impl_.pktable_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.pktable_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, contype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, contype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, contype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.Constraint)
}
inline PROTOBUF_NDEBUG_INLINE Constraint::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        keys_{visibility, arena},
        including_{visibility, arena},
        exclusions_{visibility, arena},
        options_{visibility, arena},
        fk_attrs_{visibility, arena},
        pk_attrs_{visibility, arena},
        fk_del_set_cols_{visibility, arena},
        old_conpfeqop_{visibility, arena},
        conname_(arena),
        cooked_expr_(arena),
        generated_when_(arena),
        indexname_(arena),
        indexspace_(arena),
        access_method_(arena),
        fk_matchtype_(arena),
        fk_upd_action_(arena),
        fk_del_action_(arena) {}

inline void Constraint::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, raw_expr_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, raw_expr_) +
               sizeof(Impl_::location_));
}
Constraint::~Constraint() {
  // @@protoc_insertion_point(destructor:pg_query.Constraint)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void Constraint::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.conname_.Destroy();
  _impl_.cooked_expr_.Destroy();
  _impl_.generated_when_.Destroy();
  _impl_.indexname_.Destroy();
  _impl_.indexspace_.Destroy();
  _impl_.access_method_.Destroy();
  _impl_.fk_matchtype_.Destroy();
  _impl_.fk_upd_action_.Destroy();
  _impl_.fk_del_action_.Destroy();
  delete _impl_.raw_expr_;
  delete _impl_.where_clause_;
  delete _impl_.pktable_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void Constraint::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.Constraint)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.keys_.Clear();
  _impl_.including_.Clear();
  _impl_.exclusions_.Clear();
  _impl_.options_.Clear();
  _impl_.fk_attrs_.Clear();
  _impl_.pk_attrs_.Clear();
  _impl_.fk_del_set_cols_.Clear();
  _impl_.old_conpfeqop_.Clear();
  _impl_.conname_.ClearToEmpty();
  _impl_.cooked_expr_.ClearToEmpty();
  _impl_.generated_when_.ClearToEmpty();
  _impl_.indexname_.ClearToEmpty();
  _impl_.indexspace_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  _impl_.fk_matchtype_.ClearToEmpty();
  _impl_.fk_upd_action_.ClearToEmpty();
  _impl_.fk_del_action_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.raw_expr_ != nullptr);
      _impl_.raw_expr_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.pktable_ != nullptr);
      _impl_.pktable_->Clear();
    }
  }
  ::memset(&_impl_.contype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.contype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* Constraint::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 31, 11, 154, 2> Constraint::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(Constraint, _impl_._has_bits_),
    0, // no _extensions_
    31, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    2147483648,  // skipmap
    offsetof(decltype(_table_), field_entries),
    31,  // num_field_entries
    11,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_Constraint_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ConstrType contype = 1 [json_name = "contype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Constraint, _impl_.contype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.contype_)}},
    // string conname = 2 [json_name = "conname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.conname_)}},
    // bool deferrable = 3 [json_name = "deferrable"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.deferrable_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.deferrable_)}},
    // bool initdeferred = 4 [json_name = "initdeferred"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.initdeferred_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.initdeferred_)}},
    // bool skip_validation = 5 [json_name = "skip_validation"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.skip_validation_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.skip_validation_)}},
    // bool initially_valid = 6 [json_name = "initially_valid"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.initially_valid_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.initially_valid_)}},
    // bool is_no_inherit = 7 [json_name = "is_no_inherit"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.is_no_inherit_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.is_no_inherit_)}},
    // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"];
    {::_pbi::TcParser::FastMtS1,
     {66, 0, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.raw_expr_)}},
    // string cooked_expr = 9 [json_name = "cooked_expr"];
    {::_pbi::TcParser::FastUS1,
     {74, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.cooked_expr_)}},
    // string generated_when = 10 [json_name = "generated_when"];
    {::_pbi::TcParser::FastUS1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.generated_when_)}},
    // int32 inhcount = 11 [json_name = "inhcount"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(Constraint, _impl_.inhcount_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.inhcount_)}},
    // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(Constraint, _impl_.nulls_not_distinct_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.nulls_not_distinct_)}},
    // repeated .pg_query.Node keys = 13 [json_name = "keys"];
    {::_pbi::TcParser::FastMtR1,
     {106, 63, 1, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.keys_)}},
    // repeated .pg_query.Node including = 14 [json_name = "including"];
    {::_pbi::TcParser::FastMtR1,
     {114, 63, 2, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.including_)}},
    // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"];
    {::_pbi::TcParser::FastMtR1,
     {122, 63, 3, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.exclusions_)}},
    // repeated .pg_query.Node options = 16 [json_name = "options"];
    {::_pbi::TcParser::FastMtR2,
     {386, 63, 4, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.options_)}},
    // string indexname = 17 [json_name = "indexname"];
    {::_pbi::TcParser::FastUS2,
     {394, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.indexname_)}},
    // string indexspace = 18 [json_name = "indexspace"];
    {::_pbi::TcParser::FastUS2,
     {402, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.indexspace_)}},
    // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"];
    {::_pbi::TcParser::FastV8S2,
     {408, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.reset_default_tblspc_)}},
    // string access_method = 20 [json_name = "access_method"];
    {::_pbi::TcParser::FastUS2,
     {418, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.access_method_)}},
    // .pg_query.Node where_clause = 21 [json_name = "where_clause"];
    {::_pbi::TcParser::FastMtS2,
     {426, 1, 5, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.where_clause_)}},
    // .pg_query.RangeVar pktable = 22 [json_name = "pktable"];
    {::_pbi::TcParser::FastMtS2,
     {434, 2, 6, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.pktable_)}},
    // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"];
    {::_pbi::TcParser::FastMtR2,
     {442, 63, 7, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_attrs_)}},
    // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"];
    {::_pbi::TcParser::FastMtR2,
     {450, 63, 8, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.pk_attrs_)}},
    // string fk_matchtype = 25 [json_name = "fk_matchtype"];
    {::_pbi::TcParser::FastUS2,
     {458, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_matchtype_)}},
    // string fk_upd_action = 26 [json_name = "fk_upd_action"];
    {::_pbi::TcParser::FastUS2,
     {466, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_upd_action_)}},
    // string fk_del_action = 27 [json_name = "fk_del_action"];
    {::_pbi::TcParser::FastUS2,
     {474, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_del_action_)}},
    // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"];
    {::_pbi::TcParser::FastMtR2,
     {482, 63, 9, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_del_set_cols_)}},
    // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"];
    {::_pbi::TcParser::FastMtR2,
     {490, 63, 10, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.old_conpfeqop_)}},
    // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"];
    {::_pbi::TcParser::FastV32S2,
     {496, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.old_pktable_oid_)}},
    // int32 location = 31 [json_name = "location"];
    {::_pbi::TcParser::FastV32S2,
     {504, 63, 0, PROTOBUF_FIELD_OFFSET(Constraint, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ConstrType contype = 1 [json_name = "contype"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.contype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string conname = 2 [json_name = "conname"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.conname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool deferrable = 3 [json_name = "deferrable"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.deferrable_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool initdeferred = 4 [json_name = "initdeferred"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.initdeferred_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool skip_validation = 5 [json_name = "skip_validation"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.skip_validation_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool initially_valid = 6 [json_name = "initially_valid"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.initially_valid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool is_no_inherit = 7 [json_name = "is_no_inherit"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.is_no_inherit_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.raw_expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string cooked_expr = 9 [json_name = "cooked_expr"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.cooked_expr_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string generated_when = 10 [json_name = "generated_when"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.generated_when_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 inhcount = 11 [json_name = "inhcount"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.inhcount_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.nulls_not_distinct_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node keys = 13 [json_name = "keys"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.keys_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node including = 14 [json_name = "including"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.including_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.exclusions_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 16 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.options_), -1, 4,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string indexname = 17 [json_name = "indexname"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.indexname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string indexspace = 18 [json_name = "indexspace"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.indexspace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.reset_default_tblspc_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string access_method = 20 [json_name = "access_method"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.access_method_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node where_clause = 21 [json_name = "where_clause"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 5,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RangeVar pktable = 22 [json_name = "pktable"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.pktable_), _Internal::kHasBitsOffset + 2, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_attrs_), -1, 7,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.pk_attrs_), -1, 8,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string fk_matchtype = 25 [json_name = "fk_matchtype"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_matchtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string fk_upd_action = 26 [json_name = "fk_upd_action"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_upd_action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string fk_del_action = 27 [json_name = "fk_del_action"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_del_action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.fk_del_set_cols_), -1, 9,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.old_conpfeqop_), -1, 10,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.old_pktable_oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // int32 location = 31 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(Constraint, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\0\7\0\0\0\0\0\0\13\16\0\0\0\0\0\0\11\12\0\15\0\0\0\0\14\15\15\0\0\0\0"
    "pg_query.Constraint"
    "conname"
    "cooked_expr"
    "generated_when"
    "indexname"
    "indexspace"
    "access_method"
    "fk_matchtype"
    "fk_upd_action"
    "fk_del_action"
  }},
};

::uint8_t* Constraint::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.Constraint)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->_internal_contype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_contype(), target);
  }

  // string conname = 2 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    const std::string& _s = this->_internal_conname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.conname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool deferrable = 3 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_initdeferred(), target);
  }

  // bool skip_validation = 5 [json_name = "skip_validation"];
  if (this->_internal_skip_validation() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_skip_validation(), target);
  }

  // bool initially_valid = 6 [json_name = "initially_valid"];
  if (this->_internal_initially_valid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_initially_valid(), target);
  }

  // bool is_no_inherit = 7 [json_name = "is_no_inherit"];
  if (this->_internal_is_no_inherit() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_is_no_inherit(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::raw_expr(this),
        _Internal::raw_expr(this).GetCachedSize(), target, stream);
  }

  // string cooked_expr = 9 [json_name = "cooked_expr"];
  if (!this->_internal_cooked_expr().empty()) {
    const std::string& _s = this->_internal_cooked_expr();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.cooked_expr");
    target = stream->WriteStringMaybeAliased(9, _s, target);
  }

  // string generated_when = 10 [json_name = "generated_when"];
  if (!this->_internal_generated_when().empty()) {
    const std::string& _s = this->_internal_generated_when();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.generated_when");
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // int32 inhcount = 11 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<11>(
            stream, this->_internal_inhcount(), target);
  }

  // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        12, this->_internal_nulls_not_distinct(), target);
  }

  // repeated .pg_query.Node keys = 13 [json_name = "keys"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_keys_size()); i < n; i++) {
    const auto& repfield = this->_internal_keys().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(13, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node including = 14 [json_name = "including"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_including_size()); i < n; i++) {
    const auto& repfield = this->_internal_including().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(14, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exclusions_size()); i < n; i++) {
    const auto& repfield = this->_internal_exclusions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(15, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 16 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(16, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string indexname = 17 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    const std::string& _s = this->_internal_indexname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.indexname");
    target = stream->WriteStringMaybeAliased(17, _s, target);
  }

  // string indexspace = 18 [json_name = "indexspace"];
  if (!this->_internal_indexspace().empty()) {
    const std::string& _s = this->_internal_indexspace();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.indexspace");
    target = stream->WriteStringMaybeAliased(18, _s, target);
  }

  // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this->_internal_reset_default_tblspc(), target);
  }

  // string access_method = 20 [json_name = "access_method"];
  if (!this->_internal_access_method().empty()) {
    const std::string& _s = this->_internal_access_method();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.access_method");
    target = stream->WriteStringMaybeAliased(20, _s, target);
  }

  // .pg_query.Node where_clause = 21 [json_name = "where_clause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        21, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RangeVar pktable = 22 [json_name = "pktable"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        22, _Internal::pktable(this),
        _Internal::pktable(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fk_attrs_size()); i < n; i++) {
    const auto& repfield = this->_internal_fk_attrs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(23, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pk_attrs_size()); i < n; i++) {
    const auto& repfield = this->_internal_pk_attrs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(24, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string fk_matchtype = 25 [json_name = "fk_matchtype"];
  if (!this->_internal_fk_matchtype().empty()) {
    const std::string& _s = this->_internal_fk_matchtype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.fk_matchtype");
    target = stream->WriteStringMaybeAliased(25, _s, target);
  }

  // string fk_upd_action = 26 [json_name = "fk_upd_action"];
  if (!this->_internal_fk_upd_action().empty()) {
    const std::string& _s = this->_internal_fk_upd_action();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.fk_upd_action");
    target = stream->WriteStringMaybeAliased(26, _s, target);
  }

  // string fk_del_action = 27 [json_name = "fk_del_action"];
  if (!this->_internal_fk_del_action().empty()) {
    const std::string& _s = this->_internal_fk_del_action();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.Constraint.fk_del_action");
    target = stream->WriteStringMaybeAliased(27, _s, target);
  }

  // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_fk_del_set_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_fk_del_set_cols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(28, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_old_conpfeqop_size()); i < n; i++) {
    const auto& repfield = this->_internal_old_conpfeqop().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(29, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"];
  if (this->_internal_old_pktable_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        30, this->_internal_old_pktable_oid(), target);
  }

  // int32 location = 31 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(
        31, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.Constraint)
  return target;
}

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

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

  // repeated .pg_query.Node keys = 13 [json_name = "keys"];
  total_size += 1UL * this->_internal_keys_size();
  for (const auto& msg : this->_internal_keys()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node including = 14 [json_name = "including"];
  total_size += 1UL * this->_internal_including_size();
  for (const auto& msg : this->_internal_including()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node exclusions = 15 [json_name = "exclusions"];
  total_size += 1UL * this->_internal_exclusions_size();
  for (const auto& msg : this->_internal_exclusions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 16 [json_name = "options"];
  total_size += 2UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node fk_attrs = 23 [json_name = "fk_attrs"];
  total_size += 2UL * this->_internal_fk_attrs_size();
  for (const auto& msg : this->_internal_fk_attrs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node pk_attrs = 24 [json_name = "pk_attrs"];
  total_size += 2UL * this->_internal_pk_attrs_size();
  for (const auto& msg : this->_internal_pk_attrs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node fk_del_set_cols = 28 [json_name = "fk_del_set_cols"];
  total_size += 2UL * this->_internal_fk_del_set_cols_size();
  for (const auto& msg : this->_internal_fk_del_set_cols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node old_conpfeqop = 29 [json_name = "old_conpfeqop"];
  total_size += 2UL * this->_internal_old_conpfeqop_size();
  for (const auto& msg : this->_internal_old_conpfeqop()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string conname = 2 [json_name = "conname"];
  if (!this->_internal_conname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conname());
  }

  // string cooked_expr = 9 [json_name = "cooked_expr"];
  if (!this->_internal_cooked_expr().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_cooked_expr());
  }

  // string generated_when = 10 [json_name = "generated_when"];
  if (!this->_internal_generated_when().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_generated_when());
  }

  // string indexname = 17 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_indexname());
  }

  // string indexspace = 18 [json_name = "indexspace"];
  if (!this->_internal_indexspace().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_indexspace());
  }

  // string access_method = 20 [json_name = "access_method"];
  if (!this->_internal_access_method().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_access_method());
  }

  // string fk_matchtype = 25 [json_name = "fk_matchtype"];
  if (!this->_internal_fk_matchtype().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fk_matchtype());
  }

  // string fk_upd_action = 26 [json_name = "fk_upd_action"];
  if (!this->_internal_fk_upd_action().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fk_upd_action());
  }

  // string fk_del_action = 27 [json_name = "fk_del_action"];
  if (!this->_internal_fk_del_action().empty()) {
    total_size += 2 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fk_del_action());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.Node raw_expr = 8 [json_name = "raw_expr"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.raw_expr_);
    }

    // .pg_query.Node where_clause = 21 [json_name = "where_clause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

    // .pg_query.RangeVar pktable = 22 [json_name = "pktable"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          2 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pktable_);
    }

  }
  // .pg_query.ConstrType contype = 1 [json_name = "contype"];
  if (this->_internal_contype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_contype());
  }

  // bool deferrable = 3 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 2;
  }

  // bool initdeferred = 4 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 2;
  }

  // bool skip_validation = 5 [json_name = "skip_validation"];
  if (this->_internal_skip_validation() != 0) {
    total_size += 2;
  }

  // bool initially_valid = 6 [json_name = "initially_valid"];
  if (this->_internal_initially_valid() != 0) {
    total_size += 2;
  }

  // int32 inhcount = 11 [json_name = "inhcount"];
  if (this->_internal_inhcount() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_inhcount());
  }

  // bool is_no_inherit = 7 [json_name = "is_no_inherit"];
  if (this->_internal_is_no_inherit() != 0) {
    total_size += 2;
  }

  // bool nulls_not_distinct = 12 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    total_size += 2;
  }

  // bool reset_default_tblspc = 19 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    total_size += 3;
  }

  // uint32 old_pktable_oid = 30 [json_name = "old_pktable_oid"];
  if (this->_internal_old_pktable_oid() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::UInt32Size(
                                    this->_internal_old_pktable_oid());
  }

  // int32 location = 31 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += 2 + ::_pbi::WireFormatLite::Int32Size(
                                    this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData Constraint::_class_data_ = {
    Constraint::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* Constraint::GetClassData() const {
  return &_class_data_;
}

void Constraint::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<Constraint*>(&to_msg);
  auto& from = static_cast<const Constraint&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.Constraint)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_keys()->MergeFrom(
      from._internal_keys());
  _this->_internal_mutable_including()->MergeFrom(
      from._internal_including());
  _this->_internal_mutable_exclusions()->MergeFrom(
      from._internal_exclusions());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_mutable_fk_attrs()->MergeFrom(
      from._internal_fk_attrs());
  _this->_internal_mutable_pk_attrs()->MergeFrom(
      from._internal_pk_attrs());
  _this->_internal_mutable_fk_del_set_cols()->MergeFrom(
      from._internal_fk_del_set_cols());
  _this->_internal_mutable_old_conpfeqop()->MergeFrom(
      from._internal_old_conpfeqop());
  if (!from._internal_conname().empty()) {
    _this->_internal_set_conname(from._internal_conname());
  }
  if (!from._internal_cooked_expr().empty()) {
    _this->_internal_set_cooked_expr(from._internal_cooked_expr());
  }
  if (!from._internal_generated_when().empty()) {
    _this->_internal_set_generated_when(from._internal_generated_when());
  }
  if (!from._internal_indexname().empty()) {
    _this->_internal_set_indexname(from._internal_indexname());
  }
  if (!from._internal_indexspace().empty()) {
    _this->_internal_set_indexspace(from._internal_indexspace());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_fk_matchtype().empty()) {
    _this->_internal_set_fk_matchtype(from._internal_fk_matchtype());
  }
  if (!from._internal_fk_upd_action().empty()) {
    _this->_internal_set_fk_upd_action(from._internal_fk_upd_action());
  }
  if (!from._internal_fk_del_action().empty()) {
    _this->_internal_set_fk_del_action(from._internal_fk_del_action());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_raw_expr()->::pg_query::Node::MergeFrom(
          from._internal_raw_expr());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_pktable()->::pg_query::RangeVar::MergeFrom(
          from._internal_pktable());
    }
  }
  if (from._internal_contype() != 0) {
    _this->_internal_set_contype(from._internal_contype());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from._internal_skip_validation() != 0) {
    _this->_internal_set_skip_validation(from._internal_skip_validation());
  }
  if (from._internal_initially_valid() != 0) {
    _this->_internal_set_initially_valid(from._internal_initially_valid());
  }
  if (from._internal_inhcount() != 0) {
    _this->_internal_set_inhcount(from._internal_inhcount());
  }
  if (from._internal_is_no_inherit() != 0) {
    _this->_internal_set_is_no_inherit(from._internal_is_no_inherit());
  }
  if (from._internal_nulls_not_distinct() != 0) {
    _this->_internal_set_nulls_not_distinct(from._internal_nulls_not_distinct());
  }
  if (from._internal_reset_default_tblspc() != 0) {
    _this->_internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
  if (from._internal_old_pktable_oid() != 0) {
    _this->_internal_set_old_pktable_oid(from._internal_old_pktable_oid());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool Constraint::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* Constraint::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void Constraint::InternalSwap(Constraint* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.keys_.InternalSwap(&other->_impl_.keys_);
  _impl_.including_.InternalSwap(&other->_impl_.including_);
  _impl_.exclusions_.InternalSwap(&other->_impl_.exclusions_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.fk_attrs_.InternalSwap(&other->_impl_.fk_attrs_);
  _impl_.pk_attrs_.InternalSwap(&other->_impl_.pk_attrs_);
  _impl_.fk_del_set_cols_.InternalSwap(&other->_impl_.fk_del_set_cols_);
  _impl_.old_conpfeqop_.InternalSwap(&other->_impl_.old_conpfeqop_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conname_, &other->_impl_.conname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cooked_expr_, &other->_impl_.cooked_expr_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.generated_when_, &other->_impl_.generated_when_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.indexname_, &other->_impl_.indexname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.indexspace_, &other->_impl_.indexspace_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.access_method_, &other->_impl_.access_method_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fk_matchtype_, &other->_impl_.fk_matchtype_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fk_upd_action_, &other->_impl_.fk_upd_action_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fk_del_action_, &other->_impl_.fk_del_action_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Constraint, _impl_.location_)
      + sizeof(Constraint::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(Constraint, _impl_.raw_expr_)>(
          reinterpret_cast<char*>(&_impl_.raw_expr_),
          reinterpret_cast<char*>(&other->_impl_.raw_expr_));
}

::google::protobuf::Metadata Constraint::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[166]);
}
// ===================================================================

class CreateTableSpaceStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateTableSpaceStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& owner(const CreateTableSpaceStmt* msg);
  static void set_has_owner(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& CreateTableSpaceStmt::_Internal::owner(const CreateTableSpaceStmt* msg) {
  return *msg->_impl_.owner_;
}
CreateTableSpaceStmt::CreateTableSpaceStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableSpaceStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTableSpaceStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_},
        tablespacename_(arena, from.tablespacename_),
        location_(arena, from.location_) {}

CreateTableSpaceStmt::CreateTableSpaceStmt(
    ::google::protobuf::Arena* arena,
    const CreateTableSpaceStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateTableSpaceStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.owner_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.owner_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableSpaceStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTableSpaceStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena},
        tablespacename_(arena),
        location_(arena) {}

inline void CreateTableSpaceStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.owner_ = {};
}
CreateTableSpaceStmt::~CreateTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableSpaceStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateTableSpaceStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.tablespacename_.Destroy();
  _impl_.location_.Destroy();
  delete _impl_.owner_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableSpaceStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.location_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.owner_ != nullptr);
    _impl_.owner_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateTableSpaceStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 60, 2> CreateTableSpaceStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateTableSpaceStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.options_)}},
    // string tablespacename = 1 [json_name = "tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.tablespacename_)}},
    // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.owner_)}},
    // string location = 3 [json_name = "location"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string tablespacename = 1 [json_name = "tablespacename"];
    {PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.tablespacename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
    {PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.owner_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateTableSpaceStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\35\16\0\10\0\0\0\0"
    "pg_query.CreateTableSpaceStmt"
    "tablespacename"
    "location"
  }},
};

::uint8_t* CreateTableSpaceStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableSpaceStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    const std::string& _s = this->_internal_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateTableSpaceStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::owner(this),
        _Internal::owner(this).GetCachedSize(), target, stream);
  }

  // string location = 3 [json_name = "location"];
  if (!this->_internal_location().empty()) {
    const std::string& _s = this->_internal_location();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateTableSpaceStmt.location");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateTableSpaceStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_tablespacename());
  }

  // string location = 3 [json_name = "location"];
  if (!this->_internal_location().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_location());
  }

  // .pg_query.RoleSpec owner = 2 [json_name = "owner"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.owner_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateTableSpaceStmt::_class_data_ = {
    CreateTableSpaceStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateTableSpaceStmt::GetClassData() const {
  return &_class_data_;
}

void CreateTableSpaceStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateTableSpaceStmt*>(&to_msg);
  auto& from = static_cast<const CreateTableSpaceStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableSpaceStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (!from._internal_location().empty()) {
    _this->_internal_set_location(from._internal_location());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_owner()->::pg_query::RoleSpec::MergeFrom(
        from._internal_owner());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateTableSpaceStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateTableSpaceStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateTableSpaceStmt::InternalSwap(CreateTableSpaceStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tablespacename_, &other->_impl_.tablespacename_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.location_, &other->_impl_.location_, arena);
  swap(_impl_.owner_, other->_impl_.owner_);
}

::google::protobuf::Metadata CreateTableSpaceStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[167]);
}
// ===================================================================

class DropTableSpaceStmt::_Internal {
 public:
};

DropTableSpaceStmt::DropTableSpaceStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropTableSpaceStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropTableSpaceStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : tablespacename_(arena, from.tablespacename_),
        _cached_size_{0} {}

DropTableSpaceStmt::DropTableSpaceStmt(
    ::google::protobuf::Arena* arena,
    const DropTableSpaceStmt& from)
    : ::google::protobuf::Message(arena) {
  DropTableSpaceStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.missing_ok_ = from._impl_.missing_ok_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DropTableSpaceStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropTableSpaceStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : tablespacename_(arena),
        _cached_size_{0} {}

inline void DropTableSpaceStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.missing_ok_ = {};
}
DropTableSpaceStmt::~DropTableSpaceStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropTableSpaceStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropTableSpaceStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.tablespacename_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropTableSpaceStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropTableSpaceStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.tablespacename_.ClearToEmpty();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropTableSpaceStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 50, 2> DropTableSpaceStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_DropTableSpaceStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropTableSpaceStmt, _impl_.missing_ok_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropTableSpaceStmt, _impl_.missing_ok_)}},
    // string tablespacename = 1 [json_name = "tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropTableSpaceStmt, _impl_.tablespacename_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string tablespacename = 1 [json_name = "tablespacename"];
    {PROTOBUF_FIELD_OFFSET(DropTableSpaceStmt, _impl_.tablespacename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropTableSpaceStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\33\16\0\0\0\0\0\0"
    "pg_query.DropTableSpaceStmt"
    "tablespacename"
  }},
};

::uint8_t* DropTableSpaceStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropTableSpaceStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    const std::string& _s = this->_internal_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DropTableSpaceStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropTableSpaceStmt)
  return target;
}

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

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

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_tablespacename());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropTableSpaceStmt::_class_data_ = {
    DropTableSpaceStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropTableSpaceStmt::GetClassData() const {
  return &_class_data_;
}

void DropTableSpaceStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropTableSpaceStmt*>(&to_msg);
  auto& from = static_cast<const DropTableSpaceStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropTableSpaceStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropTableSpaceStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropTableSpaceStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropTableSpaceStmt::InternalSwap(DropTableSpaceStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tablespacename_, &other->_impl_.tablespacename_, arena);
        swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::google::protobuf::Metadata DropTableSpaceStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[168]);
}
// ===================================================================

class AlterTableSpaceOptionsStmt::_Internal {
 public:
};

AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableSpaceOptionsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableSpaceOptionsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        tablespacename_(arena, from.tablespacename_),
        _cached_size_{0} {}

AlterTableSpaceOptionsStmt::AlterTableSpaceOptionsStmt(
    ::google::protobuf::Arena* arena,
    const AlterTableSpaceOptionsStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTableSpaceOptionsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.is_reset_ = from._impl_.is_reset_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableSpaceOptionsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableSpaceOptionsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        tablespacename_(arena),
        _cached_size_{0} {}

inline void AlterTableSpaceOptionsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.is_reset_ = {};
}
AlterTableSpaceOptionsStmt::~AlterTableSpaceOptionsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableSpaceOptionsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTableSpaceOptionsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.tablespacename_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTableSpaceOptionsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableSpaceOptionsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.tablespacename_.ClearToEmpty();
  _impl_.is_reset_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTableSpaceOptionsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 58, 2> AlterTableSpaceOptionsStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTableSpaceOptionsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string tablespacename = 1 [json_name = "tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.tablespacename_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.options_)}},
    // bool is_reset = 3 [json_name = "isReset"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTableSpaceOptionsStmt, _impl_.is_reset_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.is_reset_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string tablespacename = 1 [json_name = "tablespacename"];
    {PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.tablespacename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_reset = 3 [json_name = "isReset"];
    {PROTOBUF_FIELD_OFFSET(AlterTableSpaceOptionsStmt, _impl_.is_reset_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\43\16\0\0\0\0\0\0"
    "pg_query.AlterTableSpaceOptionsStmt"
    "tablespacename"
  }},
};

::uint8_t* AlterTableSpaceOptionsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableSpaceOptionsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    const std::string& _s = this->_internal_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterTableSpaceOptionsStmt.tablespacename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->_internal_is_reset() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_reset(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTableSpaceOptionsStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string tablespacename = 1 [json_name = "tablespacename"];
  if (!this->_internal_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_tablespacename());
  }

  // bool is_reset = 3 [json_name = "isReset"];
  if (this->_internal_is_reset() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTableSpaceOptionsStmt::_class_data_ = {
    AlterTableSpaceOptionsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTableSpaceOptionsStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTableSpaceOptionsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTableSpaceOptionsStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableSpaceOptionsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableSpaceOptionsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_tablespacename().empty()) {
    _this->_internal_set_tablespacename(from._internal_tablespacename());
  }
  if (from._internal_is_reset() != 0) {
    _this->_internal_set_is_reset(from._internal_is_reset());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTableSpaceOptionsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTableSpaceOptionsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTableSpaceOptionsStmt::InternalSwap(AlterTableSpaceOptionsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tablespacename_, &other->_impl_.tablespacename_, arena);
        swap(_impl_.is_reset_, other->_impl_.is_reset_);
}

::google::protobuf::Metadata AlterTableSpaceOptionsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[169]);
}
// ===================================================================

class AlterTableMoveAllStmt::_Internal {
 public:
};

AlterTableMoveAllStmt::AlterTableMoveAllStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTableMoveAllStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableMoveAllStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : roles_{visibility, arena, from.roles_},
        orig_tablespacename_(arena, from.orig_tablespacename_),
        new_tablespacename_(arena, from.new_tablespacename_),
        _cached_size_{0} {}

AlterTableMoveAllStmt::AlterTableMoveAllStmt(
    ::google::protobuf::Arena* arena,
    const AlterTableMoveAllStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTableMoveAllStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, objtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, objtype_),
           offsetof(Impl_, nowait_) -
               offsetof(Impl_, objtype_) +
               sizeof(Impl_::nowait_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTableMoveAllStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTableMoveAllStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : roles_{visibility, arena},
        orig_tablespacename_(arena),
        new_tablespacename_(arena),
        _cached_size_{0} {}

inline void AlterTableMoveAllStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, objtype_),
           0,
           offsetof(Impl_, nowait_) -
               offsetof(Impl_, objtype_) +
               sizeof(Impl_::nowait_));
}
AlterTableMoveAllStmt::~AlterTableMoveAllStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTableMoveAllStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTableMoveAllStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.orig_tablespacename_.Destroy();
  _impl_.new_tablespacename_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTableMoveAllStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTableMoveAllStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.orig_tablespacename_.ClearToEmpty();
  _impl_.new_tablespacename_.ClearToEmpty();
  ::memset(&_impl_.objtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.nowait_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.nowait_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTableMoveAllStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 76, 2> AlterTableMoveAllStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTableMoveAllStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.orig_tablespacename_)}},
    // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTableMoveAllStmt, _impl_.objtype_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.objtype_)}},
    // repeated .pg_query.Node roles = 3 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.roles_)}},
    // string new_tablespacename = 4 [json_name = "new_tablespacename"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.new_tablespacename_)}},
    // bool nowait = 5 [json_name = "nowait"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTableMoveAllStmt, _impl_.nowait_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.nowait_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
    {PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.orig_tablespacename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.objtype_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node roles = 3 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.roles_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string new_tablespacename = 4 [json_name = "new_tablespacename"];
    {PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.new_tablespacename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool nowait = 5 [json_name = "nowait"];
    {PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.nowait_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\36\23\0\0\22\0\0\0"
    "pg_query.AlterTableMoveAllStmt"
    "orig_tablespacename"
    "new_tablespacename"
  }},
};

::uint8_t* AlterTableMoveAllStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTableMoveAllStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (!this->_internal_orig_tablespacename().empty()) {
    const std::string& _s = this->_internal_orig_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterTableMoveAllStmt.orig_tablespacename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_objtype(), target);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (!this->_internal_new_tablespacename().empty()) {
    const std::string& _s = this->_internal_new_tablespacename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterTableMoveAllStmt.new_tablespacename");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool nowait = 5 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_nowait(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTableMoveAllStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string orig_tablespacename = 1 [json_name = "orig_tablespacename"];
  if (!this->_internal_orig_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_orig_tablespacename());
  }

  // string new_tablespacename = 4 [json_name = "new_tablespacename"];
  if (!this->_internal_new_tablespacename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_new_tablespacename());
  }

  // .pg_query.ObjectType objtype = 2 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool nowait = 5 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTableMoveAllStmt::_class_data_ = {
    AlterTableMoveAllStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTableMoveAllStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTableMoveAllStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTableMoveAllStmt*>(&to_msg);
  auto& from = static_cast<const AlterTableMoveAllStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTableMoveAllStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if (!from._internal_orig_tablespacename().empty()) {
    _this->_internal_set_orig_tablespacename(from._internal_orig_tablespacename());
  }
  if (!from._internal_new_tablespacename().empty()) {
    _this->_internal_set_new_tablespacename(from._internal_new_tablespacename());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_nowait() != 0) {
    _this->_internal_set_nowait(from._internal_nowait());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTableMoveAllStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTableMoveAllStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTableMoveAllStmt::InternalSwap(AlterTableMoveAllStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.orig_tablespacename_, &other->_impl_.orig_tablespacename_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.new_tablespacename_, &other->_impl_.new_tablespacename_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.nowait_)
      + sizeof(AlterTableMoveAllStmt::_impl_.nowait_)
      - PROTOBUF_FIELD_OFFSET(AlterTableMoveAllStmt, _impl_.objtype_)>(
          reinterpret_cast<char*>(&_impl_.objtype_),
          reinterpret_cast<char*>(&other->_impl_.objtype_));
}

::google::protobuf::Metadata AlterTableMoveAllStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[170]);
}
// ===================================================================

class CreateExtensionStmt::_Internal {
 public:
};

CreateExtensionStmt::CreateExtensionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateExtensionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateExtensionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        extname_(arena, from.extname_),
        _cached_size_{0} {}

CreateExtensionStmt::CreateExtensionStmt(
    ::google::protobuf::Arena* arena,
    const CreateExtensionStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateExtensionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.if_not_exists_ = from._impl_.if_not_exists_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateExtensionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateExtensionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        extname_(arena),
        _cached_size_{0} {}

inline void CreateExtensionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.if_not_exists_ = {};
}
CreateExtensionStmt::~CreateExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateExtensionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateExtensionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.extname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateExtensionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.extname_.ClearToEmpty();
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateExtensionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 44, 2> CreateExtensionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateExtensionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string extname = 1 [json_name = "extname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.extname_)}},
    // bool if_not_exists = 2 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateExtensionStmt, _impl_.if_not_exists_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.if_not_exists_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string extname = 1 [json_name = "extname"];
    {PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.extname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool if_not_exists = 2 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.if_not_exists_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateExtensionStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\34\7\0\0\0\0\0\0"
    "pg_query.CreateExtensionStmt"
    "extname"
  }},
};

::uint8_t* CreateExtensionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateExtensionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    const std::string& _s = this->_internal_extname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateExtensionStmt.extname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool if_not_exists = 2 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateExtensionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_extname());
  }

  // bool if_not_exists = 2 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateExtensionStmt::_class_data_ = {
    CreateExtensionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateExtensionStmt::GetClassData() const {
  return &_class_data_;
}

void CreateExtensionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateExtensionStmt*>(&to_msg);
  auto& from = static_cast<const CreateExtensionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateExtensionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateExtensionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateExtensionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateExtensionStmt::InternalSwap(CreateExtensionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extname_, &other->_impl_.extname_, arena);
        swap(_impl_.if_not_exists_, other->_impl_.if_not_exists_);
}

::google::protobuf::Metadata CreateExtensionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[171]);
}
// ===================================================================

class AlterExtensionStmt::_Internal {
 public:
};

AlterExtensionStmt::AlterExtensionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterExtensionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        extname_(arena, from.extname_),
        _cached_size_{0} {}

AlterExtensionStmt::AlterExtensionStmt(
    ::google::protobuf::Arena* arena,
    const AlterExtensionStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterExtensionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterExtensionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        extname_(arena),
        _cached_size_{0} {}

inline void AlterExtensionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterExtensionStmt::~AlterExtensionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterExtensionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.extname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterExtensionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.extname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterExtensionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 43, 2> AlterExtensionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterExtensionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionStmt, _impl_.options_)}},
    // string extname = 1 [json_name = "extname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionStmt, _impl_.extname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string extname = 1 [json_name = "extname"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionStmt, _impl_.extname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\33\7\0\0\0\0\0\0"
    "pg_query.AlterExtensionStmt"
    "extname"
  }},
};

::uint8_t* AlterExtensionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    const std::string& _s = this->_internal_extname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterExtensionStmt.extname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterExtensionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_extname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterExtensionStmt::_class_data_ = {
    AlterExtensionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterExtensionStmt::GetClassData() const {
  return &_class_data_;
}

void AlterExtensionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterExtensionStmt*>(&to_msg);
  auto& from = static_cast<const AlterExtensionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterExtensionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterExtensionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterExtensionStmt::InternalSwap(AlterExtensionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extname_, &other->_impl_.extname_, arena);
}

::google::protobuf::Metadata AlterExtensionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[172]);
}
// ===================================================================

class AlterExtensionContentsStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterExtensionContentsStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_._has_bits_);
  static const ::pg_query::Node& object(const AlterExtensionContentsStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& AlterExtensionContentsStmt::_Internal::object(const AlterExtensionContentsStmt* msg) {
  return *msg->_impl_.object_;
}
AlterExtensionContentsStmt::AlterExtensionContentsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterExtensionContentsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterExtensionContentsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        extname_(arena, from.extname_) {}

AlterExtensionContentsStmt::AlterExtensionContentsStmt(
    ::google::protobuf::Arena* arena,
    const AlterExtensionContentsStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterExtensionContentsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.object_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, action_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, action_),
           offsetof(Impl_, objtype_) -
               offsetof(Impl_, action_) +
               sizeof(Impl_::objtype_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterExtensionContentsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterExtensionContentsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        extname_(arena) {}

inline void AlterExtensionContentsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, object_),
           0,
           offsetof(Impl_, objtype_) -
               offsetof(Impl_, object_) +
               sizeof(Impl_::objtype_));
}
AlterExtensionContentsStmt::~AlterExtensionContentsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterExtensionContentsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterExtensionContentsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.extname_.Destroy();
  delete _impl_.object_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterExtensionContentsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterExtensionContentsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.extname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.object_ != nullptr);
    _impl_.object_->Clear();
  }
  ::memset(&_impl_.action_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.objtype_) -
      reinterpret_cast<char*>(&_impl_.action_)) + sizeof(_impl_.objtype_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterExtensionContentsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 51, 2> AlterExtensionContentsStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterExtensionContentsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node object = 4 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.object_)}},
    // string extname = 1 [json_name = "extname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.extname_)}},
    // int32 action = 2 [json_name = "action"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterExtensionContentsStmt, _impl_.action_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.action_)}},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterExtensionContentsStmt, _impl_.objtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.objtype_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string extname = 1 [json_name = "extname"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.extname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 action = 2 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node object = 4 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.object_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\43\7\0\0\0\0\0\0"
    "pg_query.AlterExtensionContentsStmt"
    "extname"
  }},
};

::uint8_t* AlterExtensionContentsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterExtensionContentsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    const std::string& _s = this->_internal_extname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterExtensionContentsStmt.extname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int32 action = 2 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_action(), target);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_objtype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node object = 4 [json_name = "object"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterExtensionContentsStmt)
  return target;
}

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

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

  // string extname = 1 [json_name = "extname"];
  if (!this->_internal_extname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_extname());
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
  }

  // int32 action = 2 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_action());
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterExtensionContentsStmt::_class_data_ = {
    AlterExtensionContentsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterExtensionContentsStmt::GetClassData() const {
  return &_class_data_;
}

void AlterExtensionContentsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterExtensionContentsStmt*>(&to_msg);
  auto& from = static_cast<const AlterExtensionContentsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterExtensionContentsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_extname().empty()) {
    _this->_internal_set_extname(from._internal_extname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterExtensionContentsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterExtensionContentsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterExtensionContentsStmt::InternalSwap(AlterExtensionContentsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.extname_, &other->_impl_.extname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.objtype_)
      + sizeof(AlterExtensionContentsStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterExtensionContentsStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::google::protobuf::Metadata AlterExtensionContentsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[173]);
}
// ===================================================================

class CreateFdwStmt::_Internal {
 public:
};

CreateFdwStmt::CreateFdwStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFdwStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateFdwStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : func_options_{visibility, arena, from.func_options_},
        options_{visibility, arena, from.options_},
        fdwname_(arena, from.fdwname_),
        _cached_size_{0} {}

CreateFdwStmt::CreateFdwStmt(
    ::google::protobuf::Arena* arena,
    const CreateFdwStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateFdwStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFdwStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateFdwStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : func_options_{visibility, arena},
        options_{visibility, arena},
        fdwname_(arena),
        _cached_size_{0} {}

inline void CreateFdwStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateFdwStmt::~CreateFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFdwStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateFdwStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.fdwname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateFdwStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.func_options_.Clear();
  _impl_.options_.Clear();
  _impl_.fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateFdwStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 38, 2> CreateFdwStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateFdwStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string fdwname = 1 [json_name = "fdwname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.fdwname_)}},
    // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.func_options_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string fdwname = 1 [json_name = "fdwname"];
    {PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.fdwname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
    {PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.func_options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateFdwStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\7\0\0\0\0\0\0"
    "pg_query.CreateFdwStmt"
    "fdwname"
  }},
};

::uint8_t* CreateFdwStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateFdwStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    const std::string& _s = this->_internal_fdwname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateFdwStmt.fdwname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_func_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateFdwStmt)
  return target;
}

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

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

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  total_size += 1UL * this->_internal_func_options_size();
  for (const auto& msg : this->_internal_func_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fdwname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateFdwStmt::_class_data_ = {
    CreateFdwStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateFdwStmt::GetClassData() const {
  return &_class_data_;
}

void CreateFdwStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateFdwStmt*>(&to_msg);
  auto& from = static_cast<const CreateFdwStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateFdwStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_func_options()->MergeFrom(
      from._internal_func_options());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateFdwStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateFdwStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateFdwStmt::InternalSwap(CreateFdwStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.func_options_.InternalSwap(&other->_impl_.func_options_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fdwname_, &other->_impl_.fdwname_, arena);
}

::google::protobuf::Metadata CreateFdwStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[174]);
}
// ===================================================================

class AlterFdwStmt::_Internal {
 public:
};

AlterFdwStmt::AlterFdwStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFdwStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterFdwStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : func_options_{visibility, arena, from.func_options_},
        options_{visibility, arena, from.options_},
        fdwname_(arena, from.fdwname_),
        _cached_size_{0} {}

AlterFdwStmt::AlterFdwStmt(
    ::google::protobuf::Arena* arena,
    const AlterFdwStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterFdwStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFdwStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterFdwStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : func_options_{visibility, arena},
        options_{visibility, arena},
        fdwname_(arena),
        _cached_size_{0} {}

inline void AlterFdwStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterFdwStmt::~AlterFdwStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFdwStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterFdwStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.fdwname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterFdwStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterFdwStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.func_options_.Clear();
  _impl_.options_.Clear();
  _impl_.fdwname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterFdwStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 37, 2> AlterFdwStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterFdwStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string fdwname = 1 [json_name = "fdwname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.fdwname_)}},
    // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.func_options_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string fdwname = 1 [json_name = "fdwname"];
    {PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.fdwname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
    {PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.func_options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterFdwStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\7\0\0\0\0\0\0"
    "pg_query.AlterFdwStmt"
    "fdwname"
  }},
};

::uint8_t* AlterFdwStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterFdwStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    const std::string& _s = this->_internal_fdwname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterFdwStmt.fdwname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_func_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterFdwStmt)
  return target;
}

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

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

  // repeated .pg_query.Node func_options = 2 [json_name = "func_options"];
  total_size += 1UL * this->_internal_func_options_size();
  for (const auto& msg : this->_internal_func_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string fdwname = 1 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fdwname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterFdwStmt::_class_data_ = {
    AlterFdwStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterFdwStmt::GetClassData() const {
  return &_class_data_;
}

void AlterFdwStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterFdwStmt*>(&to_msg);
  auto& from = static_cast<const AlterFdwStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterFdwStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_func_options()->MergeFrom(
      from._internal_func_options());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterFdwStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterFdwStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterFdwStmt::InternalSwap(AlterFdwStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.func_options_.InternalSwap(&other->_impl_.func_options_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fdwname_, &other->_impl_.fdwname_, arena);
}

::google::protobuf::Metadata AlterFdwStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[175]);
}
// ===================================================================

class CreateForeignServerStmt::_Internal {
 public:
};

CreateForeignServerStmt::CreateForeignServerStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignServerStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateForeignServerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        servername_(arena, from.servername_),
        servertype_(arena, from.servertype_),
        version_(arena, from.version_),
        fdwname_(arena, from.fdwname_),
        _cached_size_{0} {}

CreateForeignServerStmt::CreateForeignServerStmt(
    ::google::protobuf::Arena* arena,
    const CreateForeignServerStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateForeignServerStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.if_not_exists_ = from._impl_.if_not_exists_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignServerStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateForeignServerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        servername_(arena),
        servertype_(arena),
        version_(arena),
        fdwname_(arena),
        _cached_size_{0} {}

inline void CreateForeignServerStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.if_not_exists_ = {};
}
CreateForeignServerStmt::~CreateForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignServerStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateForeignServerStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  _impl_.servertype_.Destroy();
  _impl_.version_.Destroy();
  _impl_.fdwname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignServerStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  _impl_.servertype_.ClearToEmpty();
  _impl_.version_.ClearToEmpty();
  _impl_.fdwname_.ClearToEmpty();
  _impl_.if_not_exists_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateForeignServerStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 1, 75, 2> CreateForeignServerStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateForeignServerStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string servername = 1 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.servername_)}},
    // string servertype = 2 [json_name = "servertype"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.servertype_)}},
    // string version = 3 [json_name = "version"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.version_)}},
    // string fdwname = 4 [json_name = "fdwname"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.fdwname_)}},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateForeignServerStmt, _impl_.if_not_exists_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.if_not_exists_)}},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.options_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string servername = 1 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.servername_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string servertype = 2 [json_name = "servertype"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.servertype_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string version = 3 [json_name = "version"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.version_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string fdwname = 4 [json_name = "fdwname"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.fdwname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.if_not_exists_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignServerStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\40\12\12\7\7\0\0\0"
    "pg_query.CreateForeignServerStmt"
    "servername"
    "servertype"
    "version"
    "fdwname"
  }},
};

::uint8_t* CreateForeignServerStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignServerStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateForeignServerStmt.servername");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string servertype = 2 [json_name = "servertype"];
  if (!this->_internal_servertype().empty()) {
    const std::string& _s = this->_internal_servertype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateForeignServerStmt.servertype");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string version = 3 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    const std::string& _s = this->_internal_version();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateForeignServerStmt.version");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string fdwname = 4 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    const std::string& _s = this->_internal_fdwname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateForeignServerStmt.fdwname");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateForeignServerStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // string servertype = 2 [json_name = "servertype"];
  if (!this->_internal_servertype().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servertype());
  }

  // string version = 3 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_version());
  }

  // string fdwname = 4 [json_name = "fdwname"];
  if (!this->_internal_fdwname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_fdwname());
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateForeignServerStmt::_class_data_ = {
    CreateForeignServerStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateForeignServerStmt::GetClassData() const {
  return &_class_data_;
}

void CreateForeignServerStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateForeignServerStmt*>(&to_msg);
  auto& from = static_cast<const CreateForeignServerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignServerStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (!from._internal_servertype().empty()) {
    _this->_internal_set_servertype(from._internal_servertype());
  }
  if (!from._internal_version().empty()) {
    _this->_internal_set_version(from._internal_version());
  }
  if (!from._internal_fdwname().empty()) {
    _this->_internal_set_fdwname(from._internal_fdwname());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateForeignServerStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateForeignServerStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateForeignServerStmt::InternalSwap(CreateForeignServerStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servertype_, &other->_impl_.servertype_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.fdwname_, &other->_impl_.fdwname_, arena);
        swap(_impl_.if_not_exists_, other->_impl_.if_not_exists_);
}

::google::protobuf::Metadata CreateForeignServerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[176]);
}
// ===================================================================

class AlterForeignServerStmt::_Internal {
 public:
};

AlterForeignServerStmt::AlterForeignServerStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterForeignServerStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterForeignServerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        servername_(arena, from.servername_),
        version_(arena, from.version_),
        _cached_size_{0} {}

AlterForeignServerStmt::AlterForeignServerStmt(
    ::google::protobuf::Arena* arena,
    const AlterForeignServerStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterForeignServerStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.has_version_ = from._impl_.has_version_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterForeignServerStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterForeignServerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        servername_(arena),
        version_(arena),
        _cached_size_{0} {}

inline void AlterForeignServerStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.has_version_ = {};
}
AlterForeignServerStmt::~AlterForeignServerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterForeignServerStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterForeignServerStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  _impl_.version_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterForeignServerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterForeignServerStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  _impl_.version_.ClearToEmpty();
  _impl_.has_version_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterForeignServerStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 57, 2> AlterForeignServerStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterForeignServerStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool has_version = 4 [json_name = "has_version"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterForeignServerStmt, _impl_.has_version_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.has_version_)}},
    // string servername = 1 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.servername_)}},
    // string version = 2 [json_name = "version"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.version_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string servername = 1 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.servername_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string version = 2 [json_name = "version"];
    {PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.version_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool has_version = 4 [json_name = "has_version"];
    {PROTOBUF_FIELD_OFFSET(AlterForeignServerStmt, _impl_.has_version_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\37\12\7\0\0\0\0\0"
    "pg_query.AlterForeignServerStmt"
    "servername"
    "version"
  }},
};

::uint8_t* AlterForeignServerStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterForeignServerStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterForeignServerStmt.servername");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string version = 2 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    const std::string& _s = this->_internal_version();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterForeignServerStmt.version");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->_internal_has_version() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_has_version(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterForeignServerStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string servername = 1 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // string version = 2 [json_name = "version"];
  if (!this->_internal_version().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_version());
  }

  // bool has_version = 4 [json_name = "has_version"];
  if (this->_internal_has_version() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterForeignServerStmt::_class_data_ = {
    AlterForeignServerStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterForeignServerStmt::GetClassData() const {
  return &_class_data_;
}

void AlterForeignServerStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterForeignServerStmt*>(&to_msg);
  auto& from = static_cast<const AlterForeignServerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterForeignServerStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if (!from._internal_version().empty()) {
    _this->_internal_set_version(from._internal_version());
  }
  if (from._internal_has_version() != 0) {
    _this->_internal_set_has_version(from._internal_has_version());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterForeignServerStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterForeignServerStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterForeignServerStmt::InternalSwap(AlterForeignServerStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.version_, &other->_impl_.version_, arena);
        swap(_impl_.has_version_, other->_impl_.has_version_);
}

::google::protobuf::Metadata AlterForeignServerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[177]);
}
// ===================================================================

class CreateForeignTableStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateForeignTableStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_._has_bits_);
  static const ::pg_query::CreateStmt& base_stmt(const CreateForeignTableStmt* msg);
  static void set_has_base_stmt(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::CreateStmt& CreateForeignTableStmt::_Internal::base_stmt(const CreateForeignTableStmt* msg) {
  return *msg->_impl_.base_stmt_;
}
CreateForeignTableStmt::CreateForeignTableStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateForeignTableStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateForeignTableStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_},
        servername_(arena, from.servername_) {}

CreateForeignTableStmt::CreateForeignTableStmt(
    ::google::protobuf::Arena* arena,
    const CreateForeignTableStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateForeignTableStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.base_stmt_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::CreateStmt>(arena, *from._impl_.base_stmt_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateForeignTableStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateForeignTableStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena},
        servername_(arena) {}

inline void CreateForeignTableStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.base_stmt_ = {};
}
CreateForeignTableStmt::~CreateForeignTableStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateForeignTableStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateForeignTableStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  delete _impl_.base_stmt_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateForeignTableStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateForeignTableStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.base_stmt_ != nullptr);
    _impl_.base_stmt_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateForeignTableStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 50, 2> CreateForeignTableStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateForeignTableStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.base_stmt_)}},
    // string servername = 2 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.servername_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.base_stmt_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string servername = 2 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.servername_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateForeignTableStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::CreateStmt>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\37\0\12\0\0\0\0\0"
    "pg_query.CreateForeignTableStmt"
    "servername"
  }},
};

::uint8_t* CreateForeignTableStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateForeignTableStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::base_stmt(this),
        _Internal::base_stmt(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateForeignTableStmt.servername");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateForeignTableStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // .pg_query.CreateStmt base_stmt = 1 [json_name = "base"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.base_stmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateForeignTableStmt::_class_data_ = {
    CreateForeignTableStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateForeignTableStmt::GetClassData() const {
  return &_class_data_;
}

void CreateForeignTableStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateForeignTableStmt*>(&to_msg);
  auto& from = static_cast<const CreateForeignTableStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateForeignTableStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_base_stmt()->::pg_query::CreateStmt::MergeFrom(
        from._internal_base_stmt());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateForeignTableStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateForeignTableStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateForeignTableStmt::InternalSwap(CreateForeignTableStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  swap(_impl_.base_stmt_, other->_impl_.base_stmt_);
}

::google::protobuf::Metadata CreateForeignTableStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[178]);
}
// ===================================================================

class CreateUserMappingStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateUserMappingStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& user(const CreateUserMappingStmt* msg);
  static void set_has_user(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& CreateUserMappingStmt::_Internal::user(const CreateUserMappingStmt* msg) {
  return *msg->_impl_.user_;
}
CreateUserMappingStmt::CreateUserMappingStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_},
        servername_(arena, from.servername_) {}

CreateUserMappingStmt::CreateUserMappingStmt(
    ::google::protobuf::Arena* arena,
    const CreateUserMappingStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateUserMappingStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.user_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.user_)
                : nullptr;
  _impl_.if_not_exists_ = from._impl_.if_not_exists_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena},
        servername_(arena) {}

inline void CreateUserMappingStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, user_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, user_) +
               sizeof(Impl_::if_not_exists_));
}
CreateUserMappingStmt::~CreateUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateUserMappingStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateUserMappingStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  delete _impl_.user_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateUserMappingStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.user_ != nullptr);
    _impl_.user_->Clear();
  }
  _impl_.if_not_exists_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateUserMappingStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 49, 2> CreateUserMappingStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateUserMappingStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.options_)}},
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.user_)}},
    // string servername = 2 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.servername_)}},
    // bool if_not_exists = 3 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateUserMappingStmt, _impl_.if_not_exists_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.if_not_exists_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.user_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string servername = 2 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.servername_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool if_not_exists = 3 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\36\0\12\0\0\0\0\0"
    "pg_query.CreateUserMappingStmt"
    "servername"
  }},
};

::uint8_t* CreateUserMappingStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateUserMappingStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool if_not_exists = 3 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_if_not_exists(), target);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateUserMappingStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.user_);
  }

  // bool if_not_exists = 3 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateUserMappingStmt::_class_data_ = {
    CreateUserMappingStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateUserMappingStmt::GetClassData() const {
  return &_class_data_;
}

void CreateUserMappingStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const CreateUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateUserMappingStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateUserMappingStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateUserMappingStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateUserMappingStmt::InternalSwap(CreateUserMappingStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.if_not_exists_)
      + sizeof(CreateUserMappingStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateUserMappingStmt, _impl_.user_)>(
          reinterpret_cast<char*>(&_impl_.user_),
          reinterpret_cast<char*>(&other->_impl_.user_));
}

::google::protobuf::Metadata CreateUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[179]);
}
// ===================================================================

class AlterUserMappingStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterUserMappingStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& user(const AlterUserMappingStmt* msg);
  static void set_has_user(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& AlterUserMappingStmt::_Internal::user(const AlterUserMappingStmt* msg) {
  return *msg->_impl_.user_;
}
AlterUserMappingStmt::AlterUserMappingStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_},
        servername_(arena, from.servername_) {}

AlterUserMappingStmt::AlterUserMappingStmt(
    ::google::protobuf::Arena* arena,
    const AlterUserMappingStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterUserMappingStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.user_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.user_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena},
        servername_(arena) {}

inline void AlterUserMappingStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.user_ = {};
}
AlterUserMappingStmt::~AlterUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterUserMappingStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterUserMappingStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  delete _impl_.user_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterUserMappingStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.servername_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.user_ != nullptr);
    _impl_.user_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterUserMappingStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 48, 2> AlterUserMappingStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterUserMappingStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.user_)}},
    // string servername = 2 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.servername_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.user_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string servername = 2 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.servername_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterUserMappingStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\35\0\12\0\0\0\0\0"
    "pg_query.AlterUserMappingStmt"
    "servername"
  }},
};

::uint8_t* AlterUserMappingStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterUserMappingStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterUserMappingStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.user_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterUserMappingStmt::_class_data_ = {
    AlterUserMappingStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterUserMappingStmt::GetClassData() const {
  return &_class_data_;
}

void AlterUserMappingStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const AlterUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterUserMappingStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterUserMappingStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterUserMappingStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterUserMappingStmt::InternalSwap(AlterUserMappingStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  swap(_impl_.user_, other->_impl_.user_);
}

::google::protobuf::Metadata AlterUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[180]);
}
// ===================================================================

class DropUserMappingStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<DropUserMappingStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& user(const DropUserMappingStmt* msg);
  static void set_has_user(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& DropUserMappingStmt::_Internal::user(const DropUserMappingStmt* msg) {
  return *msg->_impl_.user_;
}
DropUserMappingStmt::DropUserMappingStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        servername_(arena, from.servername_) {}

DropUserMappingStmt::DropUserMappingStmt(
    ::google::protobuf::Arena* arena,
    const DropUserMappingStmt& from)
    : ::google::protobuf::Message(arena) {
  DropUserMappingStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.user_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.user_)
                : nullptr;
  _impl_.missing_ok_ = from._impl_.missing_ok_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DropUserMappingStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropUserMappingStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        servername_(arena) {}

inline void DropUserMappingStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, user_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, user_) +
               sizeof(Impl_::missing_ok_));
}
DropUserMappingStmt::~DropUserMappingStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropUserMappingStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropUserMappingStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.servername_.Destroy();
  delete _impl_.user_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropUserMappingStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropUserMappingStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.servername_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.user_ != nullptr);
    _impl_.user_->Clear();
  }
  _impl_.missing_ok_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropUserMappingStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 47, 2> DropUserMappingStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DropUserMappingStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.user_)}},
    // string servername = 2 [json_name = "servername"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.servername_)}},
    // bool missing_ok = 3 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropUserMappingStmt, _impl_.missing_ok_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.missing_ok_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpec user = 1 [json_name = "user"];
    {PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.user_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string servername = 2 [json_name = "servername"];
    {PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.servername_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool missing_ok = 3 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
  }}, {{
    "\34\0\12\0\0\0\0\0"
    "pg_query.DropUserMappingStmt"
    "servername"
  }},
};

::uint8_t* DropUserMappingStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropUserMappingStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::user(this),
        _Internal::user(this).GetCachedSize(), target, stream);
  }

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    const std::string& _s = this->_internal_servername();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DropUserMappingStmt.servername");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropUserMappingStmt)
  return target;
}

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

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

  // string servername = 2 [json_name = "servername"];
  if (!this->_internal_servername().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_servername());
  }

  // .pg_query.RoleSpec user = 1 [json_name = "user"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.user_);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropUserMappingStmt::_class_data_ = {
    DropUserMappingStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropUserMappingStmt::GetClassData() const {
  return &_class_data_;
}

void DropUserMappingStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropUserMappingStmt*>(&to_msg);
  auto& from = static_cast<const DropUserMappingStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropUserMappingStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_servername().empty()) {
    _this->_internal_set_servername(from._internal_servername());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_user()->::pg_query::RoleSpec::MergeFrom(
        from._internal_user());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropUserMappingStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropUserMappingStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropUserMappingStmt::InternalSwap(DropUserMappingStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.servername_, &other->_impl_.servername_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.missing_ok_)
      + sizeof(DropUserMappingStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(DropUserMappingStmt, _impl_.user_)>(
          reinterpret_cast<char*>(&_impl_.user_),
          reinterpret_cast<char*>(&other->_impl_.user_));
}

::google::protobuf::Metadata DropUserMappingStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[181]);
}
// ===================================================================

class ImportForeignSchemaStmt::_Internal {
 public:
};

ImportForeignSchemaStmt::ImportForeignSchemaStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ImportForeignSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE ImportForeignSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : table_list_{visibility, arena, from.table_list_},
        options_{visibility, arena, from.options_},
        server_name_(arena, from.server_name_),
        remote_schema_(arena, from.remote_schema_),
        local_schema_(arena, from.local_schema_),
        _cached_size_{0} {}

ImportForeignSchemaStmt::ImportForeignSchemaStmt(
    ::google::protobuf::Arena* arena,
    const ImportForeignSchemaStmt& from)
    : ::google::protobuf::Message(arena) {
  ImportForeignSchemaStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.list_type_ = from._impl_.list_type_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ImportForeignSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE ImportForeignSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : table_list_{visibility, arena},
        options_{visibility, arena},
        server_name_(arena),
        remote_schema_(arena),
        local_schema_(arena),
        _cached_size_{0} {}

inline void ImportForeignSchemaStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.list_type_ = {};
}
ImportForeignSchemaStmt::~ImportForeignSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ImportForeignSchemaStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ImportForeignSchemaStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.server_name_.Destroy();
  _impl_.remote_schema_.Destroy();
  _impl_.local_schema_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ImportForeignSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ImportForeignSchemaStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.table_list_.Clear();
  _impl_.options_.Clear();
  _impl_.server_name_.ClearToEmpty();
  _impl_.remote_schema_.ClearToEmpty();
  _impl_.local_schema_.ClearToEmpty();
  _impl_.list_type_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ImportForeignSchemaStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 2, 77, 2> ImportForeignSchemaStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ImportForeignSchemaStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string server_name = 1 [json_name = "server_name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.server_name_)}},
    // string remote_schema = 2 [json_name = "remote_schema"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.remote_schema_)}},
    // string local_schema = 3 [json_name = "local_schema"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.local_schema_)}},
    // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ImportForeignSchemaStmt, _impl_.list_type_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.list_type_)}},
    // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.table_list_)}},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 1, PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.options_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string server_name = 1 [json_name = "server_name"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.server_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string remote_schema = 2 [json_name = "remote_schema"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.remote_schema_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string local_schema = 3 [json_name = "local_schema"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.local_schema_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.list_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.table_list_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(ImportForeignSchemaStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\40\13\15\14\0\0\0\0"
    "pg_query.ImportForeignSchemaStmt"
    "server_name"
    "remote_schema"
    "local_schema"
  }},
};

::uint8_t* ImportForeignSchemaStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ImportForeignSchemaStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string server_name = 1 [json_name = "server_name"];
  if (!this->_internal_server_name().empty()) {
    const std::string& _s = this->_internal_server_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ImportForeignSchemaStmt.server_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string remote_schema = 2 [json_name = "remote_schema"];
  if (!this->_internal_remote_schema().empty()) {
    const std::string& _s = this->_internal_remote_schema();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ImportForeignSchemaStmt.remote_schema");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string local_schema = 3 [json_name = "local_schema"];
  if (!this->_internal_local_schema().empty()) {
    const std::string& _s = this->_internal_local_schema();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ImportForeignSchemaStmt.local_schema");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
  if (this->_internal_list_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_list_type(), target);
  }

  // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_table_list_size()); i < n; i++) {
    const auto& repfield = this->_internal_table_list().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ImportForeignSchemaStmt)
  return target;
}

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

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

  // repeated .pg_query.Node table_list = 5 [json_name = "table_list"];
  total_size += 1UL * this->_internal_table_list_size();
  for (const auto& msg : this->_internal_table_list()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string server_name = 1 [json_name = "server_name"];
  if (!this->_internal_server_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_server_name());
  }

  // string remote_schema = 2 [json_name = "remote_schema"];
  if (!this->_internal_remote_schema().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_remote_schema());
  }

  // string local_schema = 3 [json_name = "local_schema"];
  if (!this->_internal_local_schema().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_local_schema());
  }

  // .pg_query.ImportForeignSchemaType list_type = 4 [json_name = "list_type"];
  if (this->_internal_list_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_list_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ImportForeignSchemaStmt::_class_data_ = {
    ImportForeignSchemaStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ImportForeignSchemaStmt::GetClassData() const {
  return &_class_data_;
}

void ImportForeignSchemaStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ImportForeignSchemaStmt*>(&to_msg);
  auto& from = static_cast<const ImportForeignSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ImportForeignSchemaStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_table_list()->MergeFrom(
      from._internal_table_list());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_server_name().empty()) {
    _this->_internal_set_server_name(from._internal_server_name());
  }
  if (!from._internal_remote_schema().empty()) {
    _this->_internal_set_remote_schema(from._internal_remote_schema());
  }
  if (!from._internal_local_schema().empty()) {
    _this->_internal_set_local_schema(from._internal_local_schema());
  }
  if (from._internal_list_type() != 0) {
    _this->_internal_set_list_type(from._internal_list_type());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ImportForeignSchemaStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ImportForeignSchemaStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ImportForeignSchemaStmt::InternalSwap(ImportForeignSchemaStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.table_list_.InternalSwap(&other->_impl_.table_list_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.server_name_, &other->_impl_.server_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.remote_schema_, &other->_impl_.remote_schema_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.local_schema_, &other->_impl_.local_schema_, arena);
  swap(_impl_.list_type_, other->_impl_.list_type_);
}

::google::protobuf::Metadata ImportForeignSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[182]);
}
// ===================================================================

class CreatePolicyStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreatePolicyStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& table(const CreatePolicyStmt* msg);
  static void set_has_table(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& qual(const CreatePolicyStmt* msg);
  static void set_has_qual(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& with_check(const CreatePolicyStmt* msg);
  static void set_has_with_check(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& CreatePolicyStmt::_Internal::table(const CreatePolicyStmt* msg) {
  return *msg->_impl_.table_;
}
const ::pg_query::Node& CreatePolicyStmt::_Internal::qual(const CreatePolicyStmt* msg) {
  return *msg->_impl_.qual_;
}
const ::pg_query::Node& CreatePolicyStmt::_Internal::with_check(const CreatePolicyStmt* msg) {
  return *msg->_impl_.with_check_;
}
CreatePolicyStmt::CreatePolicyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePolicyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePolicyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        roles_{visibility, arena, from.roles_},
        policy_name_(arena, from.policy_name_),
        cmd_name_(arena, from.cmd_name_) {}

CreatePolicyStmt::CreatePolicyStmt(
    ::google::protobuf::Arena* arena,
    const CreatePolicyStmt& from)
    : ::google::protobuf::Message(arena) {
  CreatePolicyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.table_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.table_)
                : nullptr;
  _impl_.qual_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.qual_)
                : nullptr;
  _impl_.with_check_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.with_check_)
                : nullptr;
  _impl_.permissive_ = from._impl_.permissive_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePolicyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePolicyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        roles_{visibility, arena},
        policy_name_(arena),
        cmd_name_(arena) {}

inline void CreatePolicyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, table_),
           0,
           offsetof(Impl_, permissive_) -
               offsetof(Impl_, table_) +
               sizeof(Impl_::permissive_));
}
CreatePolicyStmt::~CreatePolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePolicyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreatePolicyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.policy_name_.Destroy();
  _impl_.cmd_name_.Destroy();
  delete _impl_.table_;
  delete _impl_.qual_;
  delete _impl_.with_check_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreatePolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePolicyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.policy_name_.ClearToEmpty();
  _impl_.cmd_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.table_ != nullptr);
      _impl_.table_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.qual_ != nullptr);
      _impl_.qual_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.with_check_ != nullptr);
      _impl_.with_check_->Clear();
    }
  }
  _impl_.permissive_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreatePolicyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 4, 53, 2> CreatePolicyStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreatePolicyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string policy_name = 1 [json_name = "policy_name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.policy_name_)}},
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.table_)}},
    // string cmd_name = 3 [json_name = "cmd_name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.cmd_name_)}},
    // bool permissive = 4 [json_name = "permissive"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreatePolicyStmt, _impl_.permissive_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.permissive_)}},
    // repeated .pg_query.Node roles = 5 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.roles_)}},
    // .pg_query.Node qual = 6 [json_name = "qual"];
    {::_pbi::TcParser::FastMtS1,
     {50, 1, 2, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.qual_)}},
    // .pg_query.Node with_check = 7 [json_name = "with_check"];
    {::_pbi::TcParser::FastMtS1,
     {58, 2, 3, PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.with_check_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string policy_name = 1 [json_name = "policy_name"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.policy_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.table_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string cmd_name = 3 [json_name = "cmd_name"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.cmd_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool permissive = 4 [json_name = "permissive"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.permissive_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node roles = 5 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.roles_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node qual = 6 [json_name = "qual"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.qual_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node with_check = 7 [json_name = "with_check"];
    {PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.with_check_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\31\13\0\10\0\0\0\0"
    "pg_query.CreatePolicyStmt"
    "policy_name"
    "cmd_name"
  }},
};

::uint8_t* CreatePolicyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePolicyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    const std::string& _s = this->_internal_policy_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreatePolicyStmt.policy_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::table(this),
        _Internal::table(this).GetCachedSize(), target, stream);
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (!this->_internal_cmd_name().empty()) {
    const std::string& _s = this->_internal_cmd_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreatePolicyStmt.cmd_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // bool permissive = 4 [json_name = "permissive"];
  if (this->_internal_permissive() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_permissive(), target);
  }

  // repeated .pg_query.Node roles = 5 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node qual = 6 [json_name = "qual"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node with_check = 7 [json_name = "with_check"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::with_check(this),
        _Internal::with_check(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreatePolicyStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 5 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_policy_name());
  }

  // string cmd_name = 3 [json_name = "cmd_name"];
  if (!this->_internal_cmd_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_cmd_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.table_);
    }

    // .pg_query.Node qual = 6 [json_name = "qual"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.qual_);
    }

    // .pg_query.Node with_check = 7 [json_name = "with_check"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_check_);
    }

  }
  // bool permissive = 4 [json_name = "permissive"];
  if (this->_internal_permissive() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreatePolicyStmt::_class_data_ = {
    CreatePolicyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreatePolicyStmt::GetClassData() const {
  return &_class_data_;
}

void CreatePolicyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreatePolicyStmt*>(&to_msg);
  auto& from = static_cast<const CreatePolicyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePolicyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if (!from._internal_policy_name().empty()) {
    _this->_internal_set_policy_name(from._internal_policy_name());
  }
  if (!from._internal_cmd_name().empty()) {
    _this->_internal_set_cmd_name(from._internal_cmd_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_table()->::pg_query::RangeVar::MergeFrom(
          from._internal_table());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
          from._internal_qual());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_with_check()->::pg_query::Node::MergeFrom(
          from._internal_with_check());
    }
  }
  if (from._internal_permissive() != 0) {
    _this->_internal_set_permissive(from._internal_permissive());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreatePolicyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreatePolicyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreatePolicyStmt::InternalSwap(CreatePolicyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.policy_name_, &other->_impl_.policy_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.cmd_name_, &other->_impl_.cmd_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.permissive_)
      + sizeof(CreatePolicyStmt::_impl_.permissive_)
      - PROTOBUF_FIELD_OFFSET(CreatePolicyStmt, _impl_.table_)>(
          reinterpret_cast<char*>(&_impl_.table_),
          reinterpret_cast<char*>(&other->_impl_.table_));
}

::google::protobuf::Metadata CreatePolicyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[183]);
}
// ===================================================================

class AlterPolicyStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterPolicyStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& table(const AlterPolicyStmt* msg);
  static void set_has_table(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& qual(const AlterPolicyStmt* msg);
  static void set_has_qual(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::Node& with_check(const AlterPolicyStmt* msg);
  static void set_has_with_check(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& AlterPolicyStmt::_Internal::table(const AlterPolicyStmt* msg) {
  return *msg->_impl_.table_;
}
const ::pg_query::Node& AlterPolicyStmt::_Internal::qual(const AlterPolicyStmt* msg) {
  return *msg->_impl_.qual_;
}
const ::pg_query::Node& AlterPolicyStmt::_Internal::with_check(const AlterPolicyStmt* msg) {
  return *msg->_impl_.with_check_;
}
AlterPolicyStmt::AlterPolicyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPolicyStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterPolicyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        roles_{visibility, arena, from.roles_},
        policy_name_(arena, from.policy_name_) {}

AlterPolicyStmt::AlterPolicyStmt(
    ::google::protobuf::Arena* arena,
    const AlterPolicyStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterPolicyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.table_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.table_)
                : nullptr;
  _impl_.qual_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.qual_)
                : nullptr;
  _impl_.with_check_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.with_check_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPolicyStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterPolicyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        roles_{visibility, arena},
        policy_name_(arena) {}

inline void AlterPolicyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, table_),
           0,
           offsetof(Impl_, with_check_) -
               offsetof(Impl_, table_) +
               sizeof(Impl_::with_check_));
}
AlterPolicyStmt::~AlterPolicyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPolicyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterPolicyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.policy_name_.Destroy();
  delete _impl_.table_;
  delete _impl_.qual_;
  delete _impl_.with_check_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterPolicyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPolicyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.policy_name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.table_ != nullptr);
      _impl_.table_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.qual_ != nullptr);
      _impl_.qual_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.with_check_ != nullptr);
      _impl_.with_check_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterPolicyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 4, 44, 2> AlterPolicyStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterPolicyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string policy_name = 1 [json_name = "policy_name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.policy_name_)}},
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.table_)}},
    // repeated .pg_query.Node roles = 3 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.roles_)}},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 2, PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.qual_)}},
    // .pg_query.Node with_check = 5 [json_name = "with_check"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 3, PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.with_check_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string policy_name = 1 [json_name = "policy_name"];
    {PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.policy_name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    {PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.table_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node roles = 3 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.roles_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node qual = 4 [json_name = "qual"];
    {PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.qual_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node with_check = 5 [json_name = "with_check"];
    {PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.with_check_), _Internal::kHasBitsOffset + 2, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\13\0\0\0\0\0\0"
    "pg_query.AlterPolicyStmt"
    "policy_name"
  }},
};

::uint8_t* AlterPolicyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPolicyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    const std::string& _s = this->_internal_policy_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterPolicyStmt.policy_name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar table = 2 [json_name = "table"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::table(this),
        _Internal::table(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node qual = 4 [json_name = "qual"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::qual(this),
        _Internal::qual(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node with_check = 5 [json_name = "with_check"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::with_check(this),
        _Internal::with_check(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterPolicyStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 3 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string policy_name = 1 [json_name = "policy_name"];
  if (!this->_internal_policy_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_policy_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar table = 2 [json_name = "table"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.table_);
    }

    // .pg_query.Node qual = 4 [json_name = "qual"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.qual_);
    }

    // .pg_query.Node with_check = 5 [json_name = "with_check"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.with_check_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterPolicyStmt::_class_data_ = {
    AlterPolicyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterPolicyStmt::GetClassData() const {
  return &_class_data_;
}

void AlterPolicyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterPolicyStmt*>(&to_msg);
  auto& from = static_cast<const AlterPolicyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPolicyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if (!from._internal_policy_name().empty()) {
    _this->_internal_set_policy_name(from._internal_policy_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_table()->::pg_query::RangeVar::MergeFrom(
          from._internal_table());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_qual()->::pg_query::Node::MergeFrom(
          from._internal_qual());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_with_check()->::pg_query::Node::MergeFrom(
          from._internal_with_check());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterPolicyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterPolicyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterPolicyStmt::InternalSwap(AlterPolicyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.policy_name_, &other->_impl_.policy_name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.with_check_)
      + sizeof(AlterPolicyStmt::_impl_.with_check_)
      - PROTOBUF_FIELD_OFFSET(AlterPolicyStmt, _impl_.table_)>(
          reinterpret_cast<char*>(&_impl_.table_),
          reinterpret_cast<char*>(&other->_impl_.table_));
}

::google::protobuf::Metadata AlterPolicyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[184]);
}
// ===================================================================

class CreateAmStmt::_Internal {
 public:
};

CreateAmStmt::CreateAmStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateAmStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateAmStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : handler_name_{visibility, arena, from.handler_name_},
        amname_(arena, from.amname_),
        amtype_(arena, from.amtype_),
        _cached_size_{0} {}

CreateAmStmt::CreateAmStmt(
    ::google::protobuf::Arena* arena,
    const CreateAmStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateAmStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateAmStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateAmStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : handler_name_{visibility, arena},
        amname_(arena),
        amtype_(arena),
        _cached_size_{0} {}

inline void CreateAmStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateAmStmt::~CreateAmStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateAmStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateAmStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.amname_.Destroy();
  _impl_.amtype_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateAmStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateAmStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.handler_name_.Clear();
  _impl_.amname_.ClearToEmpty();
  _impl_.amtype_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateAmStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 42, 2> CreateAmStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateAmStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string amname = 1 [json_name = "amname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.amname_)}},
    // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.handler_name_)}},
    // string amtype = 3 [json_name = "amtype"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.amtype_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string amname = 1 [json_name = "amname"];
    {PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.amname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
    {PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.handler_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string amtype = 3 [json_name = "amtype"];
    {PROTOBUF_FIELD_OFFSET(CreateAmStmt, _impl_.amtype_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\6\0\6\0\0\0\0"
    "pg_query.CreateAmStmt"
    "amname"
    "amtype"
  }},
};

::uint8_t* CreateAmStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateAmStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string amname = 1 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    const std::string& _s = this->_internal_amname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateAmStmt.amname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_handler_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_handler_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amtype = 3 [json_name = "amtype"];
  if (!this->_internal_amtype().empty()) {
    const std::string& _s = this->_internal_amtype();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateAmStmt.amtype");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateAmStmt)
  return target;
}

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

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

  // repeated .pg_query.Node handler_name = 2 [json_name = "handler_name"];
  total_size += 1UL * this->_internal_handler_name_size();
  for (const auto& msg : this->_internal_handler_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string amname = 1 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_amname());
  }

  // string amtype = 3 [json_name = "amtype"];
  if (!this->_internal_amtype().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_amtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateAmStmt::_class_data_ = {
    CreateAmStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateAmStmt::GetClassData() const {
  return &_class_data_;
}

void CreateAmStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateAmStmt*>(&to_msg);
  auto& from = static_cast<const CreateAmStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateAmStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_handler_name()->MergeFrom(
      from._internal_handler_name());
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if (!from._internal_amtype().empty()) {
    _this->_internal_set_amtype(from._internal_amtype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateAmStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateAmStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateAmStmt::InternalSwap(CreateAmStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.handler_name_.InternalSwap(&other->_impl_.handler_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.amname_, &other->_impl_.amname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.amtype_, &other->_impl_.amtype_, arena);
}

::google::protobuf::Metadata CreateAmStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[185]);
}
// ===================================================================

class CreateTrigStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateTrigStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const CreateTrigStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& when_clause(const CreateTrigStmt* msg);
  static void set_has_when_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::RangeVar& constrrel(const CreateTrigStmt* msg);
  static void set_has_constrrel(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& CreateTrigStmt::_Internal::relation(const CreateTrigStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& CreateTrigStmt::_Internal::when_clause(const CreateTrigStmt* msg) {
  return *msg->_impl_.when_clause_;
}
const ::pg_query::RangeVar& CreateTrigStmt::_Internal::constrrel(const CreateTrigStmt* msg) {
  return *msg->_impl_.constrrel_;
}
CreateTrigStmt::CreateTrigStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        funcname_{visibility, arena, from.funcname_},
        args_{visibility, arena, from.args_},
        columns_{visibility, arena, from.columns_},
        transition_rels_{visibility, arena, from.transition_rels_},
        trigname_(arena, from.trigname_) {}

CreateTrigStmt::CreateTrigStmt(
    ::google::protobuf::Arena* arena,
    const CreateTrigStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateTrigStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.when_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.when_clause_)
                : nullptr;
  _impl_.constrrel_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.constrrel_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, replace_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, replace_),
           offsetof(Impl_, initdeferred_) -
               offsetof(Impl_, replace_) +
               sizeof(Impl_::initdeferred_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        funcname_{visibility, arena},
        args_{visibility, arena},
        columns_{visibility, arena},
        transition_rels_{visibility, arena},
        trigname_(arena) {}

inline void CreateTrigStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, initdeferred_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::initdeferred_));
}
CreateTrigStmt::~CreateTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTrigStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateTrigStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.trigname_.Destroy();
  delete _impl_.relation_;
  delete _impl_.when_clause_;
  delete _impl_.constrrel_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTrigStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funcname_.Clear();
  _impl_.args_.Clear();
  _impl_.columns_.Clear();
  _impl_.transition_rels_.Clear();
  _impl_.trigname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.when_clause_ != nullptr);
      _impl_.when_clause_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.constrrel_ != nullptr);
      _impl_.constrrel_->Clear();
    }
  }
  ::memset(&_impl_.replace_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.initdeferred_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.initdeferred_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateTrigStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<4, 15, 7, 48, 2> CreateTrigStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_._has_bits_),
    0, // no _extensions_
    15, 120,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294934528,  // skipmap
    offsetof(decltype(_table_), field_entries),
    15,  // num_field_entries
    7,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateTrigStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool replace = 1 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTrigStmt, _impl_.replace_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.replace_)}},
    // bool isconstraint = 2 [json_name = "isconstraint"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTrigStmt, _impl_.isconstraint_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.isconstraint_)}},
    // string trigname = 3 [json_name = "trigname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.trigname_)}},
    // .pg_query.RangeVar relation = 4 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.relation_)}},
    // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.funcname_)}},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.args_)}},
    // bool row = 7 [json_name = "row"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTrigStmt, _impl_.row_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.row_)}},
    // int32 timing = 8 [json_name = "timing"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateTrigStmt, _impl_.timing_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.timing_)}},
    // int32 events = 9 [json_name = "events"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateTrigStmt, _impl_.events_), 63>(),
     {72, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.events_)}},
    // repeated .pg_query.Node columns = 10 [json_name = "columns"];
    {::_pbi::TcParser::FastMtR1,
     {82, 63, 3, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.columns_)}},
    // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
    {::_pbi::TcParser::FastMtS1,
     {90, 1, 4, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.when_clause_)}},
    // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
    {::_pbi::TcParser::FastMtR1,
     {98, 63, 5, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.transition_rels_)}},
    // bool deferrable = 13 [json_name = "deferrable"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTrigStmt, _impl_.deferrable_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.deferrable_)}},
    // bool initdeferred = 14 [json_name = "initdeferred"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTrigStmt, _impl_.initdeferred_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.initdeferred_)}},
    // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
    {::_pbi::TcParser::FastMtS1,
     {122, 2, 6, PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.constrrel_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool replace = 1 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.replace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool isconstraint = 2 [json_name = "isconstraint"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.isconstraint_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string trigname = 3 [json_name = "trigname"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.trigname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RangeVar relation = 4 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.funcname_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 6 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.args_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool row = 7 [json_name = "row"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.row_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 timing = 8 [json_name = "timing"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.timing_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 events = 9 [json_name = "events"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.events_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node columns = 10 [json_name = "columns"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.columns_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.when_clause_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.transition_rels_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool deferrable = 13 [json_name = "deferrable"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.deferrable_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool initdeferred = 14 [json_name = "initdeferred"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.initdeferred_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
    {PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.constrrel_), _Internal::kHasBitsOffset + 2, 6,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
  }}, {{
    "\27\0\0\10\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.CreateTrigStmt"
    "trigname"
  }},
};

::uint8_t* CreateTrigStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTrigStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_replace(), target);
  }

  // bool isconstraint = 2 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_isconstraint(), target);
  }

  // string trigname = 3 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    const std::string& _s = this->_internal_trigname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 4 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 6 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool row = 7 [json_name = "row"];
  if (this->_internal_row() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_row(), target);
  }

  // int32 timing = 8 [json_name = "timing"];
  if (this->_internal_timing() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<8>(
            stream, this->_internal_timing(), target);
  }

  // int32 events = 9 [json_name = "events"];
  if (this->_internal_events() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<9>(
            stream, this->_internal_events(), target);
  }

  // repeated .pg_query.Node columns = 10 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(10, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        11, _Internal::when_clause(this),
        _Internal::when_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_transition_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_transition_rels().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(12, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool deferrable = 13 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        13, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 14 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        14, this->_internal_initdeferred(), target);
  }

  // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        15, _Internal::constrrel(this),
        _Internal::constrrel(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateTrigStmt)
  return target;
}

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

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

  // repeated .pg_query.Node funcname = 5 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->_internal_funcname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 6 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node columns = 10 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_internal_columns()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node transition_rels = 12 [json_name = "transitionRels"];
  total_size += 1UL * this->_internal_transition_rels_size();
  for (const auto& msg : this->_internal_transition_rels()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string trigname = 3 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_trigname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 4 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node when_clause = 11 [json_name = "whenClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.when_clause_);
    }

    // .pg_query.RangeVar constrrel = 15 [json_name = "constrrel"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.constrrel_);
    }

  }
  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  // bool isconstraint = 2 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    total_size += 2;
  }

  // bool row = 7 [json_name = "row"];
  if (this->_internal_row() != 0) {
    total_size += 2;
  }

  // bool deferrable = 13 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 2;
  }

  // int32 timing = 8 [json_name = "timing"];
  if (this->_internal_timing() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_timing());
  }

  // int32 events = 9 [json_name = "events"];
  if (this->_internal_events() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_events());
  }

  // bool initdeferred = 14 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateTrigStmt::_class_data_ = {
    CreateTrigStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateTrigStmt::GetClassData() const {
  return &_class_data_;
}

void CreateTrigStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateTrigStmt*>(&to_msg);
  auto& from = static_cast<const CreateTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTrigStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_funcname()->MergeFrom(
      from._internal_funcname());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_columns()->MergeFrom(
      from._internal_columns());
  _this->_internal_mutable_transition_rels()->MergeFrom(
      from._internal_transition_rels());
  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_when_clause()->::pg_query::Node::MergeFrom(
          from._internal_when_clause());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_constrrel()->::pg_query::RangeVar::MergeFrom(
          from._internal_constrrel());
    }
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_isconstraint() != 0) {
    _this->_internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from._internal_row() != 0) {
    _this->_internal_set_row(from._internal_row());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_timing() != 0) {
    _this->_internal_set_timing(from._internal_timing());
  }
  if (from._internal_events() != 0) {
    _this->_internal_set_events(from._internal_events());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateTrigStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateTrigStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateTrigStmt::InternalSwap(CreateTrigStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  _impl_.transition_rels_.InternalSwap(&other->_impl_.transition_rels_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trigname_, &other->_impl_.trigname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.initdeferred_)
      + sizeof(CreateTrigStmt::_impl_.initdeferred_)
      - PROTOBUF_FIELD_OFFSET(CreateTrigStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata CreateTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[186]);
}
// ===================================================================

class CreateEventTrigStmt::_Internal {
 public:
};

CreateEventTrigStmt::CreateEventTrigStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEventTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateEventTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : whenclause_{visibility, arena, from.whenclause_},
        funcname_{visibility, arena, from.funcname_},
        trigname_(arena, from.trigname_),
        eventname_(arena, from.eventname_),
        _cached_size_{0} {}

CreateEventTrigStmt::CreateEventTrigStmt(
    ::google::protobuf::Arena* arena,
    const CreateEventTrigStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateEventTrigStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEventTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateEventTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : whenclause_{visibility, arena},
        funcname_{visibility, arena},
        trigname_(arena),
        eventname_(arena),
        _cached_size_{0} {}

inline void CreateEventTrigStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateEventTrigStmt::~CreateEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEventTrigStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateEventTrigStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.trigname_.Destroy();
  _impl_.eventname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEventTrigStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.whenclause_.Clear();
  _impl_.funcname_.Clear();
  _impl_.trigname_.ClearToEmpty();
  _impl_.eventname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateEventTrigStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 54, 2> CreateEventTrigStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateEventTrigStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.funcname_)}},
    // string trigname = 1 [json_name = "trigname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.trigname_)}},
    // string eventname = 2 [json_name = "eventname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.eventname_)}},
    // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.whenclause_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string trigname = 1 [json_name = "trigname"];
    {PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.trigname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string eventname = 2 [json_name = "eventname"];
    {PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.eventname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
    {PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.whenclause_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
    {PROTOBUF_FIELD_OFFSET(CreateEventTrigStmt, _impl_.funcname_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\34\10\11\0\0\0\0\0"
    "pg_query.CreateEventTrigStmt"
    "trigname"
    "eventname"
  }},
};

::uint8_t* CreateEventTrigStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEventTrigStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    const std::string& _s = this->_internal_trigname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateEventTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string eventname = 2 [json_name = "eventname"];
  if (!this->_internal_eventname().empty()) {
    const std::string& _s = this->_internal_eventname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateEventTrigStmt.eventname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_whenclause_size()); i < n; i++) {
    const auto& repfield = this->_internal_whenclause().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateEventTrigStmt)
  return target;
}

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

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

  // repeated .pg_query.Node whenclause = 3 [json_name = "whenclause"];
  total_size += 1UL * this->_internal_whenclause_size();
  for (const auto& msg : this->_internal_whenclause()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node funcname = 4 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->_internal_funcname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_trigname());
  }

  // string eventname = 2 [json_name = "eventname"];
  if (!this->_internal_eventname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_eventname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateEventTrigStmt::_class_data_ = {
    CreateEventTrigStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateEventTrigStmt::GetClassData() const {
  return &_class_data_;
}

void CreateEventTrigStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateEventTrigStmt*>(&to_msg);
  auto& from = static_cast<const CreateEventTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEventTrigStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_whenclause()->MergeFrom(
      from._internal_whenclause());
  _this->_internal_mutable_funcname()->MergeFrom(
      from._internal_funcname());
  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  if (!from._internal_eventname().empty()) {
    _this->_internal_set_eventname(from._internal_eventname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateEventTrigStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateEventTrigStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateEventTrigStmt::InternalSwap(CreateEventTrigStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.whenclause_.InternalSwap(&other->_impl_.whenclause_);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trigname_, &other->_impl_.trigname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.eventname_, &other->_impl_.eventname_, arena);
}

::google::protobuf::Metadata CreateEventTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[187]);
}
// ===================================================================

class AlterEventTrigStmt::_Internal {
 public:
};

AlterEventTrigStmt::AlterEventTrigStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEventTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterEventTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : trigname_(arena, from.trigname_),
        tgenabled_(arena, from.tgenabled_),
        _cached_size_{0} {}

AlterEventTrigStmt::AlterEventTrigStmt(
    ::google::protobuf::Arena* arena,
    const AlterEventTrigStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterEventTrigStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEventTrigStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterEventTrigStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : trigname_(arena),
        tgenabled_(arena),
        _cached_size_{0} {}

inline void AlterEventTrigStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterEventTrigStmt::~AlterEventTrigStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEventTrigStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterEventTrigStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.trigname_.Destroy();
  _impl_.tgenabled_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterEventTrigStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEventTrigStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.trigname_.ClearToEmpty();
  _impl_.tgenabled_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterEventTrigStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 53, 2> AlterEventTrigStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_AlterEventTrigStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string tgenabled = 2 [json_name = "tgenabled"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEventTrigStmt, _impl_.tgenabled_)}},
    // string trigname = 1 [json_name = "trigname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEventTrigStmt, _impl_.trigname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string trigname = 1 [json_name = "trigname"];
    {PROTOBUF_FIELD_OFFSET(AlterEventTrigStmt, _impl_.trigname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string tgenabled = 2 [json_name = "tgenabled"];
    {PROTOBUF_FIELD_OFFSET(AlterEventTrigStmt, _impl_.tgenabled_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\33\10\11\0\0\0\0\0"
    "pg_query.AlterEventTrigStmt"
    "trigname"
    "tgenabled"
  }},
};

::uint8_t* AlterEventTrigStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEventTrigStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    const std::string& _s = this->_internal_trigname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterEventTrigStmt.trigname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string tgenabled = 2 [json_name = "tgenabled"];
  if (!this->_internal_tgenabled().empty()) {
    const std::string& _s = this->_internal_tgenabled();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterEventTrigStmt.tgenabled");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterEventTrigStmt)
  return target;
}

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

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

  // string trigname = 1 [json_name = "trigname"];
  if (!this->_internal_trigname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_trigname());
  }

  // string tgenabled = 2 [json_name = "tgenabled"];
  if (!this->_internal_tgenabled().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_tgenabled());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterEventTrigStmt::_class_data_ = {
    AlterEventTrigStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterEventTrigStmt::GetClassData() const {
  return &_class_data_;
}

void AlterEventTrigStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterEventTrigStmt*>(&to_msg);
  auto& from = static_cast<const AlterEventTrigStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEventTrigStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_trigname().empty()) {
    _this->_internal_set_trigname(from._internal_trigname());
  }
  if (!from._internal_tgenabled().empty()) {
    _this->_internal_set_tgenabled(from._internal_tgenabled());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterEventTrigStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterEventTrigStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterEventTrigStmt::InternalSwap(AlterEventTrigStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.trigname_, &other->_impl_.trigname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tgenabled_, &other->_impl_.tgenabled_, arena);
}

::google::protobuf::Metadata AlterEventTrigStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[188]);
}
// ===================================================================

class CreatePLangStmt::_Internal {
 public:
};

CreatePLangStmt::CreatePLangStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePLangStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePLangStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : plhandler_{visibility, arena, from.plhandler_},
        plinline_{visibility, arena, from.plinline_},
        plvalidator_{visibility, arena, from.plvalidator_},
        plname_(arena, from.plname_),
        _cached_size_{0} {}

CreatePLangStmt::CreatePLangStmt(
    ::google::protobuf::Arena* arena,
    const CreatePLangStmt& from)
    : ::google::protobuf::Message(arena) {
  CreatePLangStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, replace_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, replace_),
           offsetof(Impl_, pltrusted_) -
               offsetof(Impl_, replace_) +
               sizeof(Impl_::pltrusted_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePLangStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePLangStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : plhandler_{visibility, arena},
        plinline_{visibility, arena},
        plvalidator_{visibility, arena},
        plname_(arena),
        _cached_size_{0} {}

inline void CreatePLangStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, replace_),
           0,
           offsetof(Impl_, pltrusted_) -
               offsetof(Impl_, replace_) +
               sizeof(Impl_::pltrusted_));
}
CreatePLangStmt::~CreatePLangStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePLangStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreatePLangStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.plname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreatePLangStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePLangStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.plhandler_.Clear();
  _impl_.plinline_.Clear();
  _impl_.plvalidator_.Clear();
  _impl_.plname_.ClearToEmpty();
  ::memset(&_impl_.replace_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.pltrusted_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.pltrusted_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreatePLangStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 3, 39, 2> CreatePLangStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreatePLangStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool replace = 1 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreatePLangStmt, _impl_.replace_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.replace_)}},
    // string plname = 2 [json_name = "plname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plname_)}},
    // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plhandler_)}},
    // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plinline_)}},
    // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plvalidator_)}},
    // bool pltrusted = 6 [json_name = "pltrusted"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreatePLangStmt, _impl_.pltrusted_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.pltrusted_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bool replace = 1 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.replace_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // string plname = 2 [json_name = "plname"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plhandler_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plinline_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.plvalidator_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool pltrusted = 6 [json_name = "pltrusted"];
    {PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.pltrusted_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\6\0\0\0\0\0"
    "pg_query.CreatePLangStmt"
    "plname"
  }},
};

::uint8_t* CreatePLangStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePLangStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_replace(), target);
  }

  // string plname = 2 [json_name = "plname"];
  if (!this->_internal_plname().empty()) {
    const std::string& _s = this->_internal_plname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreatePLangStmt.plname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_plhandler_size()); i < n; i++) {
    const auto& repfield = this->_internal_plhandler().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_plinline_size()); i < n; i++) {
    const auto& repfield = this->_internal_plinline().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_plvalidator_size()); i < n; i++) {
    const auto& repfield = this->_internal_plvalidator().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->_internal_pltrusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_pltrusted(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreatePLangStmt)
  return target;
}

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

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

  // repeated .pg_query.Node plhandler = 3 [json_name = "plhandler"];
  total_size += 1UL * this->_internal_plhandler_size();
  for (const auto& msg : this->_internal_plhandler()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node plinline = 4 [json_name = "plinline"];
  total_size += 1UL * this->_internal_plinline_size();
  for (const auto& msg : this->_internal_plinline()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node plvalidator = 5 [json_name = "plvalidator"];
  total_size += 1UL * this->_internal_plvalidator_size();
  for (const auto& msg : this->_internal_plvalidator()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string plname = 2 [json_name = "plname"];
  if (!this->_internal_plname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_plname());
  }

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  // bool pltrusted = 6 [json_name = "pltrusted"];
  if (this->_internal_pltrusted() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreatePLangStmt::_class_data_ = {
    CreatePLangStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreatePLangStmt::GetClassData() const {
  return &_class_data_;
}

void CreatePLangStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreatePLangStmt*>(&to_msg);
  auto& from = static_cast<const CreatePLangStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePLangStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_plhandler()->MergeFrom(
      from._internal_plhandler());
  _this->_internal_mutable_plinline()->MergeFrom(
      from._internal_plinline());
  _this->_internal_mutable_plvalidator()->MergeFrom(
      from._internal_plvalidator());
  if (!from._internal_plname().empty()) {
    _this->_internal_set_plname(from._internal_plname());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_pltrusted() != 0) {
    _this->_internal_set_pltrusted(from._internal_pltrusted());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreatePLangStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreatePLangStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreatePLangStmt::InternalSwap(CreatePLangStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.plhandler_.InternalSwap(&other->_impl_.plhandler_);
  _impl_.plinline_.InternalSwap(&other->_impl_.plinline_);
  _impl_.plvalidator_.InternalSwap(&other->_impl_.plvalidator_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.plname_, &other->_impl_.plname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.pltrusted_)
      + sizeof(CreatePLangStmt::_impl_.pltrusted_)
      - PROTOBUF_FIELD_OFFSET(CreatePLangStmt, _impl_.replace_)>(
          reinterpret_cast<char*>(&_impl_.replace_),
          reinterpret_cast<char*>(&other->_impl_.replace_));
}

::google::protobuf::Metadata CreatePLangStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[189]);
}
// ===================================================================

class CreateRoleStmt::_Internal {
 public:
};

CreateRoleStmt::CreateRoleStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        role_(arena, from.role_),
        _cached_size_{0} {}

CreateRoleStmt::CreateRoleStmt(
    ::google::protobuf::Arena* arena,
    const CreateRoleStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateRoleStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.stmt_type_ = from._impl_.stmt_type_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        role_(arena),
        _cached_size_{0} {}

inline void CreateRoleStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.stmt_type_ = {};
}
CreateRoleStmt::~CreateRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRoleStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateRoleStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.role_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRoleStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.role_.ClearToEmpty();
  _impl_.stmt_type_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateRoleStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 36, 2> CreateRoleStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateRoleStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateRoleStmt, _impl_.stmt_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.stmt_type_)}},
    // string role = 2 [json_name = "role"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.role_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
    {PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.stmt_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string role = 2 [json_name = "role"];
    {PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.role_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateRoleStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\27\0\4\0\0\0\0\0"
    "pg_query.CreateRoleStmt"
    "role"
  }},
};

::uint8_t* CreateRoleStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRoleStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->_internal_stmt_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_stmt_type(), target);
  }

  // string role = 2 [json_name = "role"];
  if (!this->_internal_role().empty()) {
    const std::string& _s = this->_internal_role();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateRoleStmt.role");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateRoleStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string role = 2 [json_name = "role"];
  if (!this->_internal_role().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_role());
  }

  // .pg_query.RoleStmtType stmt_type = 1 [json_name = "stmt_type"];
  if (this->_internal_stmt_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_stmt_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateRoleStmt::_class_data_ = {
    CreateRoleStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateRoleStmt::GetClassData() const {
  return &_class_data_;
}

void CreateRoleStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateRoleStmt*>(&to_msg);
  auto& from = static_cast<const CreateRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRoleStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_role().empty()) {
    _this->_internal_set_role(from._internal_role());
  }
  if (from._internal_stmt_type() != 0) {
    _this->_internal_set_stmt_type(from._internal_stmt_type());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateRoleStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateRoleStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateRoleStmt::InternalSwap(CreateRoleStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.role_, &other->_impl_.role_, arena);
  swap(_impl_.stmt_type_, other->_impl_.stmt_type_);
}

::google::protobuf::Metadata CreateRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[190]);
}
// ===================================================================

class AlterRoleStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterRoleStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& role(const AlterRoleStmt* msg);
  static void set_has_role(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& AlterRoleStmt::_Internal::role(const AlterRoleStmt* msg) {
  return *msg->_impl_.role_;
}
AlterRoleStmt::AlterRoleStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

AlterRoleStmt::AlterRoleStmt(
    ::google::protobuf::Arena* arena,
    const AlterRoleStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterRoleStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.role_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.role_)
                : nullptr;
  _impl_.action_ = from._impl_.action_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void AlterRoleStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, role_),
           0,
           offsetof(Impl_, action_) -
               offsetof(Impl_, role_) +
               sizeof(Impl_::action_));
}
AlterRoleStmt::~AlterRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterRoleStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.role_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.role_ != nullptr);
    _impl_.role_->Clear();
  }
  _impl_.action_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterRoleStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> AlterRoleStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterRoleStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleSpec role = 1 [json_name = "role"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.role_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.options_)}},
    // int32 action = 3 [json_name = "action"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterRoleStmt, _impl_.action_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.action_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpec role = 1 [json_name = "role"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.role_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 action = 3 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.action_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterRoleStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::role(this),
        _Internal::role(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_action(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterRoleStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.role_);
  }

  // int32 action = 3 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_action());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterRoleStmt::_class_data_ = {
    AlterRoleStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterRoleStmt::GetClassData() const {
  return &_class_data_;
}

void AlterRoleStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterRoleStmt*>(&to_msg);
  auto& from = static_cast<const AlterRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(
        from._internal_role());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterRoleStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterRoleStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterRoleStmt::InternalSwap(AlterRoleStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.action_)
      + sizeof(AlterRoleStmt::_impl_.action_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleStmt, _impl_.role_)>(
          reinterpret_cast<char*>(&_impl_.role_),
          reinterpret_cast<char*>(&other->_impl_.role_));
}

::google::protobuf::Metadata AlterRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[191]);
}
// ===================================================================

class AlterRoleSetStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterRoleSetStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& role(const AlterRoleSetStmt* msg);
  static void set_has_role(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::VariableSetStmt& setstmt(const AlterRoleSetStmt* msg);
  static void set_has_setstmt(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RoleSpec& AlterRoleSetStmt::_Internal::role(const AlterRoleSetStmt* msg) {
  return *msg->_impl_.role_;
}
const ::pg_query::VariableSetStmt& AlterRoleSetStmt::_Internal::setstmt(const AlterRoleSetStmt* msg) {
  return *msg->_impl_.setstmt_;
}
AlterRoleSetStmt::AlterRoleSetStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterRoleSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterRoleSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        database_(arena, from.database_) {}

AlterRoleSetStmt::AlterRoleSetStmt(
    ::google::protobuf::Arena* arena,
    const AlterRoleSetStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterRoleSetStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.role_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.role_)
                : nullptr;
  _impl_.setstmt_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::VariableSetStmt>(arena, *from._impl_.setstmt_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterRoleSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterRoleSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        database_(arena) {}

inline void AlterRoleSetStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, role_),
           0,
           offsetof(Impl_, setstmt_) -
               offsetof(Impl_, role_) +
               sizeof(Impl_::setstmt_));
}
AlterRoleSetStmt::~AlterRoleSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterRoleSetStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterRoleSetStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.database_.Destroy();
  delete _impl_.role_;
  delete _impl_.setstmt_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterRoleSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterRoleSetStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.database_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.role_ != nullptr);
      _impl_.role_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.setstmt_ != nullptr);
      _impl_.setstmt_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterRoleSetStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 42, 2> AlterRoleSetStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterRoleSetStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RoleSpec role = 1 [json_name = "role"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.role_)}},
    // string database = 2 [json_name = "database"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.database_)}},
    // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.setstmt_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RoleSpec role = 1 [json_name = "role"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.role_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string database = 2 [json_name = "database"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.database_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
    {PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.setstmt_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
    {::_pbi::TcParser::GetTable<::pg_query::VariableSetStmt>()},
  }}, {{
    "\31\0\10\0\0\0\0\0"
    "pg_query.AlterRoleSetStmt"
    "database"
  }},
};

::uint8_t* AlterRoleSetStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterRoleSetStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec role = 1 [json_name = "role"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::role(this),
        _Internal::role(this).GetCachedSize(), target, stream);
  }

  // string database = 2 [json_name = "database"];
  if (!this->_internal_database().empty()) {
    const std::string& _s = this->_internal_database();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterRoleSetStmt.database");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterRoleSetStmt)
  return target;
}

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

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

  // string database = 2 [json_name = "database"];
  if (!this->_internal_database().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_database());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RoleSpec role = 1 [json_name = "role"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.role_);
    }

    // .pg_query.VariableSetStmt setstmt = 3 [json_name = "setstmt"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.setstmt_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterRoleSetStmt::_class_data_ = {
    AlterRoleSetStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterRoleSetStmt::GetClassData() const {
  return &_class_data_;
}

void AlterRoleSetStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterRoleSetStmt*>(&to_msg);
  auto& from = static_cast<const AlterRoleSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterRoleSetStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_database().empty()) {
    _this->_internal_set_database(from._internal_database());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_role()->::pg_query::RoleSpec::MergeFrom(
          from._internal_role());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
          from._internal_setstmt());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterRoleSetStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterRoleSetStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterRoleSetStmt::InternalSwap(AlterRoleSetStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.database_, &other->_impl_.database_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.setstmt_)
      + sizeof(AlterRoleSetStmt::_impl_.setstmt_)
      - PROTOBUF_FIELD_OFFSET(AlterRoleSetStmt, _impl_.role_)>(
          reinterpret_cast<char*>(&_impl_.role_),
          reinterpret_cast<char*>(&other->_impl_.role_));
}

::google::protobuf::Metadata AlterRoleSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[192]);
}
// ===================================================================

class DropRoleStmt::_Internal {
 public:
};

DropRoleStmt::DropRoleStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : roles_{visibility, arena, from.roles_},
        _cached_size_{0} {}

DropRoleStmt::DropRoleStmt(
    ::google::protobuf::Arena* arena,
    const DropRoleStmt& from)
    : ::google::protobuf::Message(arena) {
  DropRoleStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.missing_ok_ = from._impl_.missing_ok_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DropRoleStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropRoleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : roles_{visibility, arena},
        _cached_size_{0} {}

inline void DropRoleStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.missing_ok_ = {};
}
DropRoleStmt::~DropRoleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropRoleStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropRoleStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropRoleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropRoleStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropRoleStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> DropRoleStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DropRoleStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropRoleStmt, _impl_.missing_ok_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropRoleStmt, _impl_.missing_ok_)}},
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropRoleStmt, _impl_.roles_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(DropRoleStmt, _impl_.roles_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropRoleStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DropRoleStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropRoleStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropRoleStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropRoleStmt::_class_data_ = {
    DropRoleStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropRoleStmt::GetClassData() const {
  return &_class_data_;
}

void DropRoleStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropRoleStmt*>(&to_msg);
  auto& from = static_cast<const DropRoleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropRoleStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropRoleStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropRoleStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropRoleStmt::InternalSwap(DropRoleStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
        swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::google::protobuf::Metadata DropRoleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[193]);
}
// ===================================================================

class CreateSeqStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateSeqStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& sequence(const CreateSeqStmt* msg);
  static void set_has_sequence(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& CreateSeqStmt::_Internal::sequence(const CreateSeqStmt* msg) {
  return *msg->_impl_.sequence_;
}
CreateSeqStmt::CreateSeqStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSeqStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSeqStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

CreateSeqStmt::CreateSeqStmt(
    ::google::protobuf::Arena* arena,
    const CreateSeqStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateSeqStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sequence_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.sequence_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, owner_id_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, owner_id_),
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, owner_id_) +
               sizeof(Impl_::if_not_exists_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSeqStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSeqStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void CreateSeqStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sequence_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, sequence_) +
               sizeof(Impl_::if_not_exists_));
}
CreateSeqStmt::~CreateSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSeqStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateSeqStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.sequence_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSeqStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.sequence_ != nullptr);
    _impl_.sequence_->Clear();
  }
  ::memset(&_impl_.owner_id_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.owner_id_)) + sizeof(_impl_.if_not_exists_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateSeqStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> CreateSeqStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateSeqStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.sequence_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.options_)}},
    // uint32 owner_id = 3 [json_name = "ownerId"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateSeqStmt, _impl_.owner_id_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.owner_id_)}},
    // bool for_identity = 4 [json_name = "for_identity"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateSeqStmt, _impl_.for_identity_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.for_identity_)}},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateSeqStmt, _impl_.if_not_exists_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.if_not_exists_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
    {PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.sequence_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 owner_id = 3 [json_name = "ownerId"];
    {PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.owner_id_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool for_identity = 4 [json_name = "for_identity"];
    {PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.for_identity_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CreateSeqStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSeqStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::sequence(this),
        _Internal::sequence(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->_internal_owner_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        3, this->_internal_owner_id(), target);
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_for_identity(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateSeqStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.sequence_);
  }

  // uint32 owner_id = 3 [json_name = "ownerId"];
  if (this->_internal_owner_id() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_owner_id());
  }

  // bool for_identity = 4 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    total_size += 2;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateSeqStmt::_class_data_ = {
    CreateSeqStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateSeqStmt::GetClassData() const {
  return &_class_data_;
}

void CreateSeqStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateSeqStmt*>(&to_msg);
  auto& from = static_cast<const CreateSeqStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSeqStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(
        from._internal_sequence());
  }
  if (from._internal_owner_id() != 0) {
    _this->_internal_set_owner_id(from._internal_owner_id());
  }
  if (from._internal_for_identity() != 0) {
    _this->_internal_set_for_identity(from._internal_for_identity());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateSeqStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateSeqStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateSeqStmt::InternalSwap(CreateSeqStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.if_not_exists_)
      + sizeof(CreateSeqStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateSeqStmt, _impl_.sequence_)>(
          reinterpret_cast<char*>(&_impl_.sequence_),
          reinterpret_cast<char*>(&other->_impl_.sequence_));
}

::google::protobuf::Metadata CreateSeqStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[194]);
}
// ===================================================================

class AlterSeqStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterSeqStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& sequence(const AlterSeqStmt* msg);
  static void set_has_sequence(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& AlterSeqStmt::_Internal::sequence(const AlterSeqStmt* msg) {
  return *msg->_impl_.sequence_;
}
AlterSeqStmt::AlterSeqStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSeqStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSeqStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

AlterSeqStmt::AlterSeqStmt(
    ::google::protobuf::Arena* arena,
    const AlterSeqStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterSeqStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sequence_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.sequence_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, for_identity_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, for_identity_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, for_identity_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSeqStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSeqStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void AlterSeqStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sequence_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, sequence_) +
               sizeof(Impl_::missing_ok_));
}
AlterSeqStmt::~AlterSeqStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSeqStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterSeqStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.sequence_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterSeqStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSeqStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.sequence_ != nullptr);
    _impl_.sequence_->Clear();
  }
  ::memset(&_impl_.for_identity_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.for_identity_)) + sizeof(_impl_.missing_ok_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterSeqStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 0, 2> AlterSeqStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterSeqStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterSeqStmt, _impl_.missing_ok_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.missing_ok_)}},
    // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.sequence_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.options_)}},
    // bool for_identity = 3 [json_name = "for_identity"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterSeqStmt, _impl_.for_identity_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.for_identity_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
    {PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.sequence_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool for_identity = 3 [json_name = "for_identity"];
    {PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.for_identity_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterSeqStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSeqStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::sequence(this),
        _Internal::sequence(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_for_identity(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterSeqStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RangeVar sequence = 1 [json_name = "sequence"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.sequence_);
  }

  // bool for_identity = 3 [json_name = "for_identity"];
  if (this->_internal_for_identity() != 0) {
    total_size += 2;
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterSeqStmt::_class_data_ = {
    AlterSeqStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterSeqStmt::GetClassData() const {
  return &_class_data_;
}

void AlterSeqStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterSeqStmt*>(&to_msg);
  auto& from = static_cast<const AlterSeqStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSeqStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_sequence()->::pg_query::RangeVar::MergeFrom(
        from._internal_sequence());
  }
  if (from._internal_for_identity() != 0) {
    _this->_internal_set_for_identity(from._internal_for_identity());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterSeqStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterSeqStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterSeqStmt::InternalSwap(AlterSeqStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.missing_ok_)
      + sizeof(AlterSeqStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterSeqStmt, _impl_.sequence_)>(
          reinterpret_cast<char*>(&_impl_.sequence_),
          reinterpret_cast<char*>(&other->_impl_.sequence_));
}

::google::protobuf::Metadata AlterSeqStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[195]);
}
// ===================================================================

class DefineStmt::_Internal {
 public:
};

DefineStmt::DefineStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DefineStmt)
}
inline PROTOBUF_NDEBUG_INLINE DefineStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : defnames_{visibility, arena, from.defnames_},
        args_{visibility, arena, from.args_},
        definition_{visibility, arena, from.definition_},
        _cached_size_{0} {}

DefineStmt::DefineStmt(
    ::google::protobuf::Arena* arena,
    const DefineStmt& from)
    : ::google::protobuf::Message(arena) {
  DefineStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, replace_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::replace_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DefineStmt)
}
inline PROTOBUF_NDEBUG_INLINE DefineStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : defnames_{visibility, arena},
        args_{visibility, arena},
        definition_{visibility, arena},
        _cached_size_{0} {}

inline void DefineStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           0,
           offsetof(Impl_, replace_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::replace_));
}
DefineStmt::~DefineStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DefineStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DefineStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DefineStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DefineStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnames_.Clear();
  _impl_.args_.Clear();
  _impl_.definition_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.replace_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DefineStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 3, 0, 2> DefineStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DefineStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ObjectType kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DefineStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.kind_)}},
    // bool oldstyle = 2 [json_name = "oldstyle"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DefineStmt, _impl_.oldstyle_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.oldstyle_)}},
    // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.defnames_)}},
    // repeated .pg_query.Node args = 4 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.args_)}},
    // repeated .pg_query.Node definition = 5 [json_name = "definition"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.definition_)}},
    // bool if_not_exists = 6 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DefineStmt, _impl_.if_not_exists_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.if_not_exists_)}},
    // bool replace = 7 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DefineStmt, _impl_.replace_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.replace_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool oldstyle = 2 [json_name = "oldstyle"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.oldstyle_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.defnames_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node args = 4 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.args_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node definition = 5 [json_name = "definition"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.definition_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool if_not_exists = 6 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.if_not_exists_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool replace = 7 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.replace_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DefineStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DefineStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // bool oldstyle = 2 [json_name = "oldstyle"];
  if (this->_internal_oldstyle() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_oldstyle(), target);
  }

  // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node args = 4 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node definition = 5 [json_name = "definition"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_definition_size()); i < n; i++) {
    const auto& repfield = this->_internal_definition().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_if_not_exists(), target);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_replace(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DefineStmt)
  return target;
}

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

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

  // repeated .pg_query.Node defnames = 3 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->_internal_defnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node args = 4 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node definition = 5 [json_name = "definition"];
  total_size += 1UL * this->_internal_definition_size();
  for (const auto& msg : this->_internal_definition()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.ObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool oldstyle = 2 [json_name = "oldstyle"];
  if (this->_internal_oldstyle() != 0) {
    total_size += 2;
  }

  // bool if_not_exists = 6 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DefineStmt::_class_data_ = {
    DefineStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DefineStmt::GetClassData() const {
  return &_class_data_;
}

void DefineStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DefineStmt*>(&to_msg);
  auto& from = static_cast<const DefineStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DefineStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_defnames()->MergeFrom(
      from._internal_defnames());
  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_mutable_definition()->MergeFrom(
      from._internal_definition());
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_oldstyle() != 0) {
    _this->_internal_set_oldstyle(from._internal_oldstyle());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DefineStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DefineStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DefineStmt::InternalSwap(DefineStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
  _impl_.definition_.InternalSwap(&other->_impl_.definition_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.replace_)
      + sizeof(DefineStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(DefineStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::google::protobuf::Metadata DefineStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[196]);
}
// ===================================================================

class CreateDomainStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateDomainStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const CreateDomainStmt* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::CollateClause& coll_clause(const CreateDomainStmt* msg);
  static void set_has_coll_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::TypeName& CreateDomainStmt::_Internal::type_name(const CreateDomainStmt* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::CollateClause& CreateDomainStmt::_Internal::coll_clause(const CreateDomainStmt* msg) {
  return *msg->_impl_.coll_clause_;
}
CreateDomainStmt::CreateDomainStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateDomainStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateDomainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        domainname_{visibility, arena, from.domainname_},
        constraints_{visibility, arena, from.constraints_} {}

CreateDomainStmt::CreateDomainStmt(
    ::google::protobuf::Arena* arena,
    const CreateDomainStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateDomainStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.coll_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::CollateClause>(arena, *from._impl_.coll_clause_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateDomainStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateDomainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        domainname_{visibility, arena},
        constraints_{visibility, arena} {}

inline void CreateDomainStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, coll_clause_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::coll_clause_));
}
CreateDomainStmt::~CreateDomainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateDomainStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateDomainStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.type_name_;
  delete _impl_.coll_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateDomainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateDomainStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.domainname_.Clear();
  _impl_.constraints_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.coll_clause_ != nullptr);
      _impl_.coll_clause_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateDomainStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 4, 0, 2> CreateDomainStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateDomainStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.constraints_)}},
    // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.domainname_)}},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.type_name_)}},
    // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 2, PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.coll_clause_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
    {PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.domainname_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
    {PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.coll_clause_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
    {PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.constraints_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::CollateClause>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CreateDomainStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateDomainStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_domainname_size()); i < n; i++) {
    const auto& repfield = this->_internal_domainname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::coll_clause(this),
        _Internal::coll_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateDomainStmt)
  return target;
}

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

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

  // repeated .pg_query.Node domainname = 1 [json_name = "domainname"];
  total_size += 1UL * this->_internal_domainname_size();
  for (const auto& msg : this->_internal_domainname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node constraints = 4 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->_internal_constraints()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.TypeName type_name = 2 [json_name = "typeName"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.CollateClause coll_clause = 3 [json_name = "collClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.coll_clause_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateDomainStmt::_class_data_ = {
    CreateDomainStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateDomainStmt::GetClassData() const {
  return &_class_data_;
}

void CreateDomainStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateDomainStmt*>(&to_msg);
  auto& from = static_cast<const CreateDomainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateDomainStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_domainname()->MergeFrom(
      from._internal_domainname());
  _this->_internal_mutable_constraints()->MergeFrom(
      from._internal_constraints());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_coll_clause()->::pg_query::CollateClause::MergeFrom(
          from._internal_coll_clause());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateDomainStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateDomainStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateDomainStmt::InternalSwap(CreateDomainStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.domainname_.InternalSwap(&other->_impl_.domainname_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.coll_clause_)
      + sizeof(CreateDomainStmt::_impl_.coll_clause_)
      - PROTOBUF_FIELD_OFFSET(CreateDomainStmt, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata CreateDomainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[197]);
}
// ===================================================================

class CreateOpClassStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateOpClassStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_._has_bits_);
  static const ::pg_query::TypeName& datatype(const CreateOpClassStmt* msg);
  static void set_has_datatype(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::TypeName& CreateOpClassStmt::_Internal::datatype(const CreateOpClassStmt* msg) {
  return *msg->_impl_.datatype_;
}
CreateOpClassStmt::CreateOpClassStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpClassStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        opclassname_{visibility, arena, from.opclassname_},
        opfamilyname_{visibility, arena, from.opfamilyname_},
        items_{visibility, arena, from.items_},
        amname_(arena, from.amname_) {}

CreateOpClassStmt::CreateOpClassStmt(
    ::google::protobuf::Arena* arena,
    const CreateOpClassStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateOpClassStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.datatype_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.datatype_)
                : nullptr;
  _impl_.is_default_ = from._impl_.is_default_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpClassStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        opclassname_{visibility, arena},
        opfamilyname_{visibility, arena},
        items_{visibility, arena},
        amname_(arena) {}

inline void CreateOpClassStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, datatype_),
           0,
           offsetof(Impl_, is_default_) -
               offsetof(Impl_, datatype_) +
               sizeof(Impl_::is_default_));
}
CreateOpClassStmt::~CreateOpClassStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateOpClassStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.amname_.Destroy();
  delete _impl_.datatype_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateOpClassStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opclassname_.Clear();
  _impl_.opfamilyname_.Clear();
  _impl_.items_.Clear();
  _impl_.amname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.datatype_ != nullptr);
    _impl_.datatype_->Clear();
  }
  _impl_.is_default_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateOpClassStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 4, 41, 2> CreateOpClassStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateOpClassStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.opclassname_)}},
    // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.opfamilyname_)}},
    // string amname = 3 [json_name = "amname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.amname_)}},
    // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
    {::_pbi::TcParser::FastMtS1,
     {34, 0, 2, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.datatype_)}},
    // repeated .pg_query.Node items = 5 [json_name = "items"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.items_)}},
    // bool is_default = 6 [json_name = "isDefault"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateOpClassStmt, _impl_.is_default_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.is_default_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.opclassname_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.opfamilyname_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string amname = 3 [json_name = "amname"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.amname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.datatype_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node items = 5 [json_name = "items"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.items_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_default = 6 [json_name = "isDefault"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.is_default_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\0\0\6\0\0\0\0"
    "pg_query.CreateOpClassStmt"
    "amname"
  }},
};

::uint8_t* CreateOpClassStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opclassname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opclassname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 3 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    const std::string& _s = this->_internal_amname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateOpClassStmt.amname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::datatype(this),
        _Internal::datatype(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node items = 5 [json_name = "items"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->_internal_is_default() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_is_default(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateOpClassStmt)
  return target;
}

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

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

  // repeated .pg_query.Node opclassname = 1 [json_name = "opclassname"];
  total_size += 1UL * this->_internal_opclassname_size();
  for (const auto& msg : this->_internal_opclassname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node opfamilyname = 2 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->_internal_opfamilyname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node items = 5 [json_name = "items"];
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string amname = 3 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_amname());
  }

  // .pg_query.TypeName datatype = 4 [json_name = "datatype"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.datatype_);
  }

  // bool is_default = 6 [json_name = "isDefault"];
  if (this->_internal_is_default() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateOpClassStmt::_class_data_ = {
    CreateOpClassStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateOpClassStmt::GetClassData() const {
  return &_class_data_;
}

void CreateOpClassStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateOpClassStmt*>(&to_msg);
  auto& from = static_cast<const CreateOpClassStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_opclassname()->MergeFrom(
      from._internal_opclassname());
  _this->_internal_mutable_opfamilyname()->MergeFrom(
      from._internal_opfamilyname());
  _this->_internal_mutable_items()->MergeFrom(
      from._internal_items());
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_datatype()->::pg_query::TypeName::MergeFrom(
        from._internal_datatype());
  }
  if (from._internal_is_default() != 0) {
    _this->_internal_set_is_default(from._internal_is_default());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateOpClassStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateOpClassStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateOpClassStmt::InternalSwap(CreateOpClassStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.opclassname_.InternalSwap(&other->_impl_.opclassname_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.amname_, &other->_impl_.amname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.is_default_)
      + sizeof(CreateOpClassStmt::_impl_.is_default_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassStmt, _impl_.datatype_)>(
          reinterpret_cast<char*>(&_impl_.datatype_),
          reinterpret_cast<char*>(&other->_impl_.datatype_));
}

::google::protobuf::Metadata CreateOpClassStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[198]);
}
// ===================================================================

class CreateOpClassItem::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateOpClassItem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_._has_bits_);
  static const ::pg_query::ObjectWithArgs& name(const CreateOpClassItem* msg);
  static void set_has_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::TypeName& storedtype(const CreateOpClassItem* msg);
  static void set_has_storedtype(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::ObjectWithArgs& CreateOpClassItem::_Internal::name(const CreateOpClassItem* msg) {
  return *msg->_impl_.name_;
}
const ::pg_query::TypeName& CreateOpClassItem::_Internal::storedtype(const CreateOpClassItem* msg) {
  return *msg->_impl_.storedtype_;
}
CreateOpClassItem::CreateOpClassItem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpClassItem)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpClassItem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        order_family_{visibility, arena, from.order_family_},
        class_args_{visibility, arena, from.class_args_} {}

CreateOpClassItem::CreateOpClassItem(
    ::google::protobuf::Arena* arena,
    const CreateOpClassItem& from)
    : ::google::protobuf::Message(arena) {
  CreateOpClassItem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.name_)
                : nullptr;
  _impl_.storedtype_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.storedtype_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, itemtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, itemtype_),
           offsetof(Impl_, number_) -
               offsetof(Impl_, itemtype_) +
               sizeof(Impl_::number_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpClassItem)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpClassItem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        order_family_{visibility, arena},
        class_args_{visibility, arena} {}

inline void CreateOpClassItem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, name_),
           0,
           offsetof(Impl_, number_) -
               offsetof(Impl_, name_) +
               sizeof(Impl_::number_));
}
CreateOpClassItem::~CreateOpClassItem() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpClassItem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateOpClassItem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.name_;
  delete _impl_.storedtype_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateOpClassItem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpClassItem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.order_family_.Clear();
  _impl_.class_args_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.name_ != nullptr);
      _impl_.name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.storedtype_ != nullptr);
      _impl_.storedtype_->Clear();
    }
  }
  ::memset(&_impl_.itemtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.number_) -
      reinterpret_cast<char*>(&_impl_.itemtype_)) + sizeof(_impl_.number_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateOpClassItem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 4, 0, 2> CreateOpClassItem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateOpClassItem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // int32 itemtype = 1 [json_name = "itemtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateOpClassItem, _impl_.itemtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.itemtype_)}},
    // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.name_)}},
    // int32 number = 3 [json_name = "number"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateOpClassItem, _impl_.number_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.number_)}},
    // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.order_family_)}},
    // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 2, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.class_args_)}},
    // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
    {::_pbi::TcParser::FastMtS1,
     {50, 1, 3, PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.storedtype_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 itemtype = 1 [json_name = "itemtype"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.itemtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 number = 3 [json_name = "number"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.number_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.order_family_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.class_args_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
    {PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.storedtype_), _Internal::kHasBitsOffset + 1, 3,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
  }}, {{
  }},
};

::uint8_t* CreateOpClassItem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpClassItem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->_internal_itemtype() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_itemtype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::name(this),
        _Internal::name(this).GetCachedSize(), target, stream);
  }

  // int32 number = 3 [json_name = "number"];
  if (this->_internal_number() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_number(), target);
  }

  // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_order_family_size()); i < n; i++) {
    const auto& repfield = this->_internal_order_family().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_class_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_class_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        6, _Internal::storedtype(this),
        _Internal::storedtype(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateOpClassItem)
  return target;
}

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

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

  // repeated .pg_query.Node order_family = 4 [json_name = "order_family"];
  total_size += 1UL * this->_internal_order_family_size();
  for (const auto& msg : this->_internal_order_family()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node class_args = 5 [json_name = "class_args"];
  total_size += 1UL * this->_internal_class_args_size();
  for (const auto& msg : this->_internal_class_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.ObjectWithArgs name = 2 [json_name = "name"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.name_);
    }

    // .pg_query.TypeName storedtype = 6 [json_name = "storedtype"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.storedtype_);
    }

  }
  // int32 itemtype = 1 [json_name = "itemtype"];
  if (this->_internal_itemtype() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_itemtype());
  }

  // int32 number = 3 [json_name = "number"];
  if (this->_internal_number() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_number());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateOpClassItem::_class_data_ = {
    CreateOpClassItem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateOpClassItem::GetClassData() const {
  return &_class_data_;
}

void CreateOpClassItem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateOpClassItem*>(&to_msg);
  auto& from = static_cast<const CreateOpClassItem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpClassItem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_order_family()->MergeFrom(
      from._internal_order_family());
  _this->_internal_mutable_class_args()->MergeFrom(
      from._internal_class_args());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_name()->::pg_query::ObjectWithArgs::MergeFrom(
          from._internal_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_storedtype()->::pg_query::TypeName::MergeFrom(
          from._internal_storedtype());
    }
  }
  if (from._internal_itemtype() != 0) {
    _this->_internal_set_itemtype(from._internal_itemtype());
  }
  if (from._internal_number() != 0) {
    _this->_internal_set_number(from._internal_number());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateOpClassItem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateOpClassItem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateOpClassItem::InternalSwap(CreateOpClassItem* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.order_family_.InternalSwap(&other->_impl_.order_family_);
  _impl_.class_args_.InternalSwap(&other->_impl_.class_args_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.number_)
      + sizeof(CreateOpClassItem::_impl_.number_)
      - PROTOBUF_FIELD_OFFSET(CreateOpClassItem, _impl_.name_)>(
          reinterpret_cast<char*>(&_impl_.name_),
          reinterpret_cast<char*>(&other->_impl_.name_));
}

::google::protobuf::Metadata CreateOpClassItem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[199]);
}
// ===================================================================

class CreateOpFamilyStmt::_Internal {
 public:
};

CreateOpFamilyStmt::CreateOpFamilyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateOpFamilyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpFamilyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : opfamilyname_{visibility, arena, from.opfamilyname_},
        amname_(arena, from.amname_),
        _cached_size_{0} {}

CreateOpFamilyStmt::CreateOpFamilyStmt(
    ::google::protobuf::Arena* arena,
    const CreateOpFamilyStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateOpFamilyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateOpFamilyStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateOpFamilyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : opfamilyname_{visibility, arena},
        amname_(arena),
        _cached_size_{0} {}

inline void CreateOpFamilyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateOpFamilyStmt::~CreateOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateOpFamilyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateOpFamilyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.amname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateOpFamilyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opfamilyname_.Clear();
  _impl_.amname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateOpFamilyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 42, 2> CreateOpFamilyStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateOpFamilyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string amname = 2 [json_name = "amname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpFamilyStmt, _impl_.amname_)}},
    // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateOpFamilyStmt, _impl_.opfamilyname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
    {PROTOBUF_FIELD_OFFSET(CreateOpFamilyStmt, _impl_.opfamilyname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string amname = 2 [json_name = "amname"];
    {PROTOBUF_FIELD_OFFSET(CreateOpFamilyStmt, _impl_.amname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\33\0\6\0\0\0\0\0"
    "pg_query.CreateOpFamilyStmt"
    "amname"
  }},
};

::uint8_t* CreateOpFamilyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateOpFamilyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    const std::string& _s = this->_internal_amname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateOpFamilyStmt.amname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateOpFamilyStmt)
  return target;
}

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

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

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->_internal_opfamilyname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_amname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateOpFamilyStmt::_class_data_ = {
    CreateOpFamilyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateOpFamilyStmt::GetClassData() const {
  return &_class_data_;
}

void CreateOpFamilyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateOpFamilyStmt*>(&to_msg);
  auto& from = static_cast<const CreateOpFamilyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateOpFamilyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_opfamilyname()->MergeFrom(
      from._internal_opfamilyname());
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateOpFamilyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateOpFamilyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateOpFamilyStmt::InternalSwap(CreateOpFamilyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.amname_, &other->_impl_.amname_, arena);
}

::google::protobuf::Metadata CreateOpFamilyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[200]);
}
// ===================================================================

class AlterOpFamilyStmt::_Internal {
 public:
};

AlterOpFamilyStmt::AlterOpFamilyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOpFamilyStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOpFamilyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : opfamilyname_{visibility, arena, from.opfamilyname_},
        items_{visibility, arena, from.items_},
        amname_(arena, from.amname_),
        _cached_size_{0} {}

AlterOpFamilyStmt::AlterOpFamilyStmt(
    ::google::protobuf::Arena* arena,
    const AlterOpFamilyStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterOpFamilyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.is_drop_ = from._impl_.is_drop_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOpFamilyStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOpFamilyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : opfamilyname_{visibility, arena},
        items_{visibility, arena},
        amname_(arena),
        _cached_size_{0} {}

inline void AlterOpFamilyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.is_drop_ = {};
}
AlterOpFamilyStmt::~AlterOpFamilyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOpFamilyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterOpFamilyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.amname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterOpFamilyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOpFamilyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.opfamilyname_.Clear();
  _impl_.items_.Clear();
  _impl_.amname_.ClearToEmpty();
  _impl_.is_drop_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterOpFamilyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 41, 2> AlterOpFamilyStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterOpFamilyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node items = 4 [json_name = "items"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.items_)}},
    // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.opfamilyname_)}},
    // string amname = 2 [json_name = "amname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.amname_)}},
    // bool is_drop = 3 [json_name = "isDrop"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterOpFamilyStmt, _impl_.is_drop_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.is_drop_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
    {PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.opfamilyname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string amname = 2 [json_name = "amname"];
    {PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.amname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool is_drop = 3 [json_name = "isDrop"];
    {PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.is_drop_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node items = 4 [json_name = "items"];
    {PROTOBUF_FIELD_OFFSET(AlterOpFamilyStmt, _impl_.items_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\0\6\0\0\0\0\0"
    "pg_query.AlterOpFamilyStmt"
    "amname"
  }},
};

::uint8_t* AlterOpFamilyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOpFamilyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_opfamilyname_size()); i < n; i++) {
    const auto& repfield = this->_internal_opfamilyname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    const std::string& _s = this->_internal_amname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterOpFamilyStmt.amname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // bool is_drop = 3 [json_name = "isDrop"];
  if (this->_internal_is_drop() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_drop(), target);
  }

  // repeated .pg_query.Node items = 4 [json_name = "items"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_items_size()); i < n; i++) {
    const auto& repfield = this->_internal_items().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterOpFamilyStmt)
  return target;
}

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

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

  // repeated .pg_query.Node opfamilyname = 1 [json_name = "opfamilyname"];
  total_size += 1UL * this->_internal_opfamilyname_size();
  for (const auto& msg : this->_internal_opfamilyname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node items = 4 [json_name = "items"];
  total_size += 1UL * this->_internal_items_size();
  for (const auto& msg : this->_internal_items()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string amname = 2 [json_name = "amname"];
  if (!this->_internal_amname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_amname());
  }

  // bool is_drop = 3 [json_name = "isDrop"];
  if (this->_internal_is_drop() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterOpFamilyStmt::_class_data_ = {
    AlterOpFamilyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterOpFamilyStmt::GetClassData() const {
  return &_class_data_;
}

void AlterOpFamilyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterOpFamilyStmt*>(&to_msg);
  auto& from = static_cast<const AlterOpFamilyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOpFamilyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_opfamilyname()->MergeFrom(
      from._internal_opfamilyname());
  _this->_internal_mutable_items()->MergeFrom(
      from._internal_items());
  if (!from._internal_amname().empty()) {
    _this->_internal_set_amname(from._internal_amname());
  }
  if (from._internal_is_drop() != 0) {
    _this->_internal_set_is_drop(from._internal_is_drop());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterOpFamilyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterOpFamilyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterOpFamilyStmt::InternalSwap(AlterOpFamilyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.opfamilyname_.InternalSwap(&other->_impl_.opfamilyname_);
  _impl_.items_.InternalSwap(&other->_impl_.items_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.amname_, &other->_impl_.amname_, arena);
        swap(_impl_.is_drop_, other->_impl_.is_drop_);
}

::google::protobuf::Metadata AlterOpFamilyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[201]);
}
// ===================================================================

class DropStmt::_Internal {
 public:
};

DropStmt::DropStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : objects_{visibility, arena, from.objects_},
        _cached_size_{0} {}

DropStmt::DropStmt(
    ::google::protobuf::Arena* arena,
    const DropStmt& from)
    : ::google::protobuf::Message(arena) {
  DropStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, remove_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, remove_type_),
           offsetof(Impl_, concurrent_) -
               offsetof(Impl_, remove_type_) +
               sizeof(Impl_::concurrent_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DropStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : objects_{visibility, arena},
        _cached_size_{0} {}

inline void DropStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, remove_type_),
           0,
           offsetof(Impl_, concurrent_) -
               offsetof(Impl_, remove_type_) +
               sizeof(Impl_::concurrent_));
}
DropStmt::~DropStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.objects_.Clear();
  ::memset(&_impl_.remove_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.concurrent_) -
      reinterpret_cast<char*>(&_impl_.remove_type_)) + sizeof(_impl_.concurrent_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 1, 0, 2> DropStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DropStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node objects = 1 [json_name = "objects"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.objects_)}},
    // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DropStmt, _impl_.remove_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.remove_type_)}},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DropStmt, _impl_.behavior_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.behavior_)}},
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropStmt, _impl_.missing_ok_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.missing_ok_)}},
    // bool concurrent = 5 [json_name = "concurrent"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropStmt, _impl_.concurrent_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.concurrent_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node objects = 1 [json_name = "objects"];
    {PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.objects_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
    {PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.remove_type_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.behavior_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool missing_ok = 4 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool concurrent = 5 [json_name = "concurrent"];
    {PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.concurrent_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DropStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node objects = 1 [json_name = "objects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_objects_size()); i < n; i++) {
    const auto& repfield = this->_internal_objects().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->_internal_remove_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_remove_type(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_behavior(), target);
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_missing_ok(), target);
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_concurrent(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropStmt)
  return target;
}

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

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

  // repeated .pg_query.Node objects = 1 [json_name = "objects"];
  total_size += 1UL * this->_internal_objects_size();
  for (const auto& msg : this->_internal_objects()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.ObjectType remove_type = 2 [json_name = "removeType"];
  if (this->_internal_remove_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_remove_type());
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 4 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  // bool concurrent = 5 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropStmt::_class_data_ = {
    DropStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropStmt::GetClassData() const {
  return &_class_data_;
}

void DropStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropStmt*>(&to_msg);
  auto& from = static_cast<const DropStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_objects()->MergeFrom(
      from._internal_objects());
  if (from._internal_remove_type() != 0) {
    _this->_internal_set_remove_type(from._internal_remove_type());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropStmt::InternalSwap(DropStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.objects_.InternalSwap(&other->_impl_.objects_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.concurrent_)
      + sizeof(DropStmt::_impl_.concurrent_)
      - PROTOBUF_FIELD_OFFSET(DropStmt, _impl_.remove_type_)>(
          reinterpret_cast<char*>(&_impl_.remove_type_),
          reinterpret_cast<char*>(&other->_impl_.remove_type_));
}

::google::protobuf::Metadata DropStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[202]);
}
// ===================================================================

class TruncateStmt::_Internal {
 public:
};

TruncateStmt::TruncateStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TruncateStmt)
}
inline PROTOBUF_NDEBUG_INLINE TruncateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : relations_{visibility, arena, from.relations_},
        _cached_size_{0} {}

TruncateStmt::TruncateStmt(
    ::google::protobuf::Arena* arena,
    const TruncateStmt& from)
    : ::google::protobuf::Message(arena) {
  TruncateStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, restart_seqs_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, restart_seqs_),
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, restart_seqs_) +
               sizeof(Impl_::behavior_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TruncateStmt)
}
inline PROTOBUF_NDEBUG_INLINE TruncateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : relations_{visibility, arena},
        _cached_size_{0} {}

inline void TruncateStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, restart_seqs_),
           0,
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, restart_seqs_) +
               sizeof(Impl_::behavior_));
}
TruncateStmt::~TruncateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TruncateStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TruncateStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TruncateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TruncateStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.relations_.Clear();
  ::memset(&_impl_.restart_seqs_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.restart_seqs_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TruncateStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> TruncateStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TruncateStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node relations = 1 [json_name = "relations"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.relations_)}},
    // bool restart_seqs = 2 [json_name = "restart_seqs"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TruncateStmt, _impl_.restart_seqs_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.restart_seqs_)}},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TruncateStmt, _impl_.behavior_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.behavior_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node relations = 1 [json_name = "relations"];
    {PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.relations_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool restart_seqs = 2 [json_name = "restart_seqs"];
    {PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.restart_seqs_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.behavior_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* TruncateStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TruncateStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool restart_seqs = 2 [json_name = "restart_seqs"];
  if (this->_internal_restart_seqs() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_restart_seqs(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TruncateStmt)
  return target;
}

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

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

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->_internal_relations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool restart_seqs = 2 [json_name = "restart_seqs"];
  if (this->_internal_restart_seqs() != 0) {
    total_size += 2;
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TruncateStmt::_class_data_ = {
    TruncateStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TruncateStmt::GetClassData() const {
  return &_class_data_;
}

void TruncateStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TruncateStmt*>(&to_msg);
  auto& from = static_cast<const TruncateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TruncateStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_relations()->MergeFrom(
      from._internal_relations());
  if (from._internal_restart_seqs() != 0) {
    _this->_internal_set_restart_seqs(from._internal_restart_seqs());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TruncateStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TruncateStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TruncateStmt::InternalSwap(TruncateStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.behavior_)
      + sizeof(TruncateStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(TruncateStmt, _impl_.restart_seqs_)>(
          reinterpret_cast<char*>(&_impl_.restart_seqs_),
          reinterpret_cast<char*>(&other->_impl_.restart_seqs_));
}

::google::protobuf::Metadata TruncateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[203]);
}
// ===================================================================

class CommentStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CommentStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_._has_bits_);
  static const ::pg_query::Node& object(const CommentStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& CommentStmt::_Internal::object(const CommentStmt* msg) {
  return *msg->_impl_.object_;
}
CommentStmt::CommentStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CommentStmt)
}
inline PROTOBUF_NDEBUG_INLINE CommentStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        comment_(arena, from.comment_) {}

CommentStmt::CommentStmt(
    ::google::protobuf::Arena* arena,
    const CommentStmt& from)
    : ::google::protobuf::Message(arena) {
  CommentStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.object_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  _impl_.objtype_ = from._impl_.objtype_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CommentStmt)
}
inline PROTOBUF_NDEBUG_INLINE CommentStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        comment_(arena) {}

inline void CommentStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, object_),
           0,
           offsetof(Impl_, objtype_) -
               offsetof(Impl_, object_) +
               sizeof(Impl_::objtype_));
}
CommentStmt::~CommentStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CommentStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CommentStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.comment_.Destroy();
  delete _impl_.object_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CommentStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CommentStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.comment_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.object_ != nullptr);
    _impl_.object_->Clear();
  }
  _impl_.objtype_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CommentStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 36, 2> CommentStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CommentStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CommentStmt, _impl_.objtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.objtype_)}},
    // .pg_query.Node object = 2 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.object_)}},
    // string comment = 3 [json_name = "comment"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.comment_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node object = 2 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.object_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string comment = 3 [json_name = "comment"];
    {PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.comment_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\0\0\7\0\0\0\0"
    "pg_query.CommentStmt"
    "comment"
  }},
};

::uint8_t* CommentStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CommentStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_objtype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node object = 2 [json_name = "object"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string comment = 3 [json_name = "comment"];
  if (!this->_internal_comment().empty()) {
    const std::string& _s = this->_internal_comment();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CommentStmt.comment");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CommentStmt)
  return target;
}

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

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

  // string comment = 3 [json_name = "comment"];
  if (!this->_internal_comment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_comment());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CommentStmt::_class_data_ = {
    CommentStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CommentStmt::GetClassData() const {
  return &_class_data_;
}

void CommentStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CommentStmt*>(&to_msg);
  auto& from = static_cast<const CommentStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CommentStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_comment().empty()) {
    _this->_internal_set_comment(from._internal_comment());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CommentStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CommentStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CommentStmt::InternalSwap(CommentStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.comment_, &other->_impl_.comment_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.objtype_)
      + sizeof(CommentStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(CommentStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::google::protobuf::Metadata CommentStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[204]);
}
// ===================================================================

class SecLabelStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<SecLabelStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_._has_bits_);
  static const ::pg_query::Node& object(const SecLabelStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& SecLabelStmt::_Internal::object(const SecLabelStmt* msg) {
  return *msg->_impl_.object_;
}
SecLabelStmt::SecLabelStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.SecLabelStmt)
}
inline PROTOBUF_NDEBUG_INLINE SecLabelStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        provider_(arena, from.provider_),
        label_(arena, from.label_) {}

SecLabelStmt::SecLabelStmt(
    ::google::protobuf::Arena* arena,
    const SecLabelStmt& from)
    : ::google::protobuf::Message(arena) {
  SecLabelStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.object_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  _impl_.objtype_ = from._impl_.objtype_;

  // @@protoc_insertion_point(copy_constructor:pg_query.SecLabelStmt)
}
inline PROTOBUF_NDEBUG_INLINE SecLabelStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        provider_(arena),
        label_(arena) {}

inline void SecLabelStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, object_),
           0,
           offsetof(Impl_, objtype_) -
               offsetof(Impl_, object_) +
               sizeof(Impl_::objtype_));
}
SecLabelStmt::~SecLabelStmt() {
  // @@protoc_insertion_point(destructor:pg_query.SecLabelStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void SecLabelStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.provider_.Destroy();
  _impl_.label_.Destroy();
  delete _impl_.object_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void SecLabelStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.SecLabelStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.provider_.ClearToEmpty();
  _impl_.label_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.object_ != nullptr);
    _impl_.object_->Clear();
  }
  _impl_.objtype_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* SecLabelStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 43, 2> SecLabelStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_SecLabelStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string label = 4 [json_name = "label"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.label_)}},
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(SecLabelStmt, _impl_.objtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.objtype_)}},
    // .pg_query.Node object = 2 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.object_)}},
    // string provider = 3 [json_name = "provider"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.provider_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node object = 2 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.object_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string provider = 3 [json_name = "provider"];
    {PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.provider_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string label = 4 [json_name = "label"];
    {PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.label_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\0\0\10\5\0\0\0"
    "pg_query.SecLabelStmt"
    "provider"
    "label"
  }},
};

::uint8_t* SecLabelStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.SecLabelStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_objtype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node object = 2 [json_name = "object"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string provider = 3 [json_name = "provider"];
  if (!this->_internal_provider().empty()) {
    const std::string& _s = this->_internal_provider();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.SecLabelStmt.provider");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string label = 4 [json_name = "label"];
  if (!this->_internal_label().empty()) {
    const std::string& _s = this->_internal_label();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.SecLabelStmt.label");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.SecLabelStmt)
  return target;
}

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

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

  // string provider = 3 [json_name = "provider"];
  if (!this->_internal_provider().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_provider());
  }

  // string label = 4 [json_name = "label"];
  if (!this->_internal_label().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_label());
  }

  // .pg_query.Node object = 2 [json_name = "object"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData SecLabelStmt::_class_data_ = {
    SecLabelStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* SecLabelStmt::GetClassData() const {
  return &_class_data_;
}

void SecLabelStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<SecLabelStmt*>(&to_msg);
  auto& from = static_cast<const SecLabelStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.SecLabelStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_provider().empty()) {
    _this->_internal_set_provider(from._internal_provider());
  }
  if (!from._internal_label().empty()) {
    _this->_internal_set_label(from._internal_label());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
        from._internal_object());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool SecLabelStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* SecLabelStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void SecLabelStmt::InternalSwap(SecLabelStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.provider_, &other->_impl_.provider_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.label_, &other->_impl_.label_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.objtype_)
      + sizeof(SecLabelStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(SecLabelStmt, _impl_.object_)>(
          reinterpret_cast<char*>(&_impl_.object_),
          reinterpret_cast<char*>(&other->_impl_.object_));
}

::google::protobuf::Metadata SecLabelStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[205]);
}
// ===================================================================

class DeclareCursorStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<DeclareCursorStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_._has_bits_);
  static const ::pg_query::Node& query(const DeclareCursorStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& DeclareCursorStmt::_Internal::query(const DeclareCursorStmt* msg) {
  return *msg->_impl_.query_;
}
DeclareCursorStmt::DeclareCursorStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeclareCursorStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeclareCursorStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        portalname_(arena, from.portalname_) {}

DeclareCursorStmt::DeclareCursorStmt(
    ::google::protobuf::Arena* arena,
    const DeclareCursorStmt& from)
    : ::google::protobuf::Message(arena) {
  DeclareCursorStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.query_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;
  _impl_.options_ = from._impl_.options_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DeclareCursorStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeclareCursorStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        portalname_(arena) {}

inline void DeclareCursorStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, query_),
           0,
           offsetof(Impl_, options_) -
               offsetof(Impl_, query_) +
               sizeof(Impl_::options_));
}
DeclareCursorStmt::~DeclareCursorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeclareCursorStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DeclareCursorStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.portalname_.Destroy();
  delete _impl_.query_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DeclareCursorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeclareCursorStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.portalname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.query_ != nullptr);
    _impl_.query_->Clear();
  }
  _impl_.options_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DeclareCursorStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 45, 2> DeclareCursorStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DeclareCursorStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string portalname = 1 [json_name = "portalname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.portalname_)}},
    // int32 options = 2 [json_name = "options"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DeclareCursorStmt, _impl_.options_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.options_)}},
    // .pg_query.Node query = 3 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.query_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string portalname = 1 [json_name = "portalname"];
    {PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.portalname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // int32 options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.options_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Node query = 3 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.query_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\12\0\0\0\0\0\0"
    "pg_query.DeclareCursorStmt"
    "portalname"
  }},
};

::uint8_t* DeclareCursorStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeclareCursorStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    const std::string& _s = this->_internal_portalname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DeclareCursorStmt.portalname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // int32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_options(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node query = 3 [json_name = "query"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DeclareCursorStmt)
  return target;
}

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

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

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_portalname());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
  }

  // int32 options = 2 [json_name = "options"];
  if (this->_internal_options() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_options());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DeclareCursorStmt::_class_data_ = {
    DeclareCursorStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DeclareCursorStmt::GetClassData() const {
  return &_class_data_;
}

void DeclareCursorStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DeclareCursorStmt*>(&to_msg);
  auto& from = static_cast<const DeclareCursorStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeclareCursorStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  if (from._internal_options() != 0) {
    _this->_internal_set_options(from._internal_options());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DeclareCursorStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DeclareCursorStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DeclareCursorStmt::InternalSwap(DeclareCursorStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.portalname_, &other->_impl_.portalname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.options_)
      + sizeof(DeclareCursorStmt::_impl_.options_)
      - PROTOBUF_FIELD_OFFSET(DeclareCursorStmt, _impl_.query_)>(
          reinterpret_cast<char*>(&_impl_.query_),
          reinterpret_cast<char*>(&other->_impl_.query_));
}

::google::protobuf::Metadata DeclareCursorStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[206]);
}
// ===================================================================

class ClosePortalStmt::_Internal {
 public:
};

ClosePortalStmt::ClosePortalStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClosePortalStmt)
}
inline PROTOBUF_NDEBUG_INLINE ClosePortalStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : portalname_(arena, from.portalname_),
        _cached_size_{0} {}

ClosePortalStmt::ClosePortalStmt(
    ::google::protobuf::Arena* arena,
    const ClosePortalStmt& from)
    : ::google::protobuf::Message(arena) {
  ClosePortalStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.ClosePortalStmt)
}
inline PROTOBUF_NDEBUG_INLINE ClosePortalStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : portalname_(arena),
        _cached_size_{0} {}

inline void ClosePortalStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ClosePortalStmt::~ClosePortalStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClosePortalStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ClosePortalStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.portalname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ClosePortalStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ClosePortalStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.portalname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ClosePortalStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 43, 2> ClosePortalStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ClosePortalStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string portalname = 1 [json_name = "portalname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ClosePortalStmt, _impl_.portalname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string portalname = 1 [json_name = "portalname"];
    {PROTOBUF_FIELD_OFFSET(ClosePortalStmt, _impl_.portalname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\30\12\0\0\0\0\0\0"
    "pg_query.ClosePortalStmt"
    "portalname"
  }},
};

::uint8_t* ClosePortalStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ClosePortalStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    const std::string& _s = this->_internal_portalname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ClosePortalStmt.portalname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ClosePortalStmt)
  return target;
}

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

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

  // string portalname = 1 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_portalname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ClosePortalStmt::_class_data_ = {
    ClosePortalStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ClosePortalStmt::GetClassData() const {
  return &_class_data_;
}

void ClosePortalStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ClosePortalStmt*>(&to_msg);
  auto& from = static_cast<const ClosePortalStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ClosePortalStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ClosePortalStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ClosePortalStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ClosePortalStmt::InternalSwap(ClosePortalStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.portalname_, &other->_impl_.portalname_, arena);
}

::google::protobuf::Metadata ClosePortalStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[207]);
}
// ===================================================================

class FetchStmt::_Internal {
 public:
};

FetchStmt::FetchStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FetchStmt)
}
inline PROTOBUF_NDEBUG_INLINE FetchStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : portalname_(arena, from.portalname_),
        _cached_size_{0} {}

FetchStmt::FetchStmt(
    ::google::protobuf::Arena* arena,
    const FetchStmt& from)
    : ::google::protobuf::Message(arena) {
  FetchStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, how_many_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, how_many_),
           offsetof(Impl_, ismove_) -
               offsetof(Impl_, how_many_) +
               sizeof(Impl_::ismove_));

  // @@protoc_insertion_point(copy_constructor:pg_query.FetchStmt)
}
inline PROTOBUF_NDEBUG_INLINE FetchStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : portalname_(arena),
        _cached_size_{0} {}

inline void FetchStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, how_many_),
           0,
           offsetof(Impl_, ismove_) -
               offsetof(Impl_, how_many_) +
               sizeof(Impl_::ismove_));
}
FetchStmt::~FetchStmt() {
  // @@protoc_insertion_point(destructor:pg_query.FetchStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FetchStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.portalname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FetchStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FetchStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.portalname_.ClearToEmpty();
  ::memset(&_impl_.how_many_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.ismove_) -
      reinterpret_cast<char*>(&_impl_.how_many_)) + sizeof(_impl_.ismove_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FetchStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 0, 37, 2> FetchStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_FetchStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool ismove = 4 [json_name = "ismove"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(FetchStmt, _impl_.ismove_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.ismove_)}},
    // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FetchStmt, _impl_.direction_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.direction_)}},
    // int64 how_many = 2 [json_name = "howMany"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint64_t, offsetof(FetchStmt, _impl_.how_many_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.how_many_)}},
    // string portalname = 3 [json_name = "portalname"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.portalname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
    {PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.direction_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // int64 how_many = 2 [json_name = "howMany"];
    {PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.how_many_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt64)},
    // string portalname = 3 [json_name = "portalname"];
    {PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.portalname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool ismove = 4 [json_name = "ismove"];
    {PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.ismove_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\22\0\0\12\0\0\0\0"
    "pg_query.FetchStmt"
    "portalname"
  }},
};

::uint8_t* FetchStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FetchStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->_internal_direction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_direction(), target);
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->_internal_how_many() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt64ToArrayWithField<2>(
            stream, this->_internal_how_many(), target);
  }

  // string portalname = 3 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    const std::string& _s = this->_internal_portalname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.FetchStmt.portalname");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // bool ismove = 4 [json_name = "ismove"];
  if (this->_internal_ismove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_ismove(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FetchStmt)
  return target;
}

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

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

  // string portalname = 3 [json_name = "portalname"];
  if (!this->_internal_portalname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_portalname());
  }

  // int64 how_many = 2 [json_name = "howMany"];
  if (this->_internal_how_many() != 0) {
    total_size += ::_pbi::WireFormatLite::Int64SizePlusOne(
        this->_internal_how_many());
  }

  // .pg_query.FetchDirection direction = 1 [json_name = "direction"];
  if (this->_internal_direction() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_direction());
  }

  // bool ismove = 4 [json_name = "ismove"];
  if (this->_internal_ismove() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FetchStmt::_class_data_ = {
    FetchStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FetchStmt::GetClassData() const {
  return &_class_data_;
}

void FetchStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FetchStmt*>(&to_msg);
  auto& from = static_cast<const FetchStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FetchStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_portalname().empty()) {
    _this->_internal_set_portalname(from._internal_portalname());
  }
  if (from._internal_how_many() != 0) {
    _this->_internal_set_how_many(from._internal_how_many());
  }
  if (from._internal_direction() != 0) {
    _this->_internal_set_direction(from._internal_direction());
  }
  if (from._internal_ismove() != 0) {
    _this->_internal_set_ismove(from._internal_ismove());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FetchStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FetchStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FetchStmt::InternalSwap(FetchStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.portalname_, &other->_impl_.portalname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.ismove_)
      + sizeof(FetchStmt::_impl_.ismove_)
      - PROTOBUF_FIELD_OFFSET(FetchStmt, _impl_.how_many_)>(
          reinterpret_cast<char*>(&_impl_.how_many_),
          reinterpret_cast<char*>(&other->_impl_.how_many_));
}

::google::protobuf::Metadata FetchStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[208]);
}
// ===================================================================

class IndexStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<IndexStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const IndexStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const IndexStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& IndexStmt::_Internal::relation(const IndexStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& IndexStmt::_Internal::where_clause(const IndexStmt* msg) {
  return *msg->_impl_.where_clause_;
}
IndexStmt::IndexStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.IndexStmt)
}
inline PROTOBUF_NDEBUG_INLINE IndexStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        index_params_{visibility, arena, from.index_params_},
        index_including_params_{visibility, arena, from.index_including_params_},
        options_{visibility, arena, from.options_},
        exclude_op_names_{visibility, arena, from.exclude_op_names_},
        idxname_(arena, from.idxname_),
        access_method_(arena, from.access_method_),
        table_space_(arena, from.table_space_),
        idxcomment_(arena, from.idxcomment_) {}

IndexStmt::IndexStmt(
    ::google::protobuf::Arena* arena,
    const IndexStmt& from)
    : ::google::protobuf::Message(arena) {
  IndexStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, index_oid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, index_oid_),
           offsetof(Impl_, reset_default_tblspc_) -
               offsetof(Impl_, index_oid_) +
               sizeof(Impl_::reset_default_tblspc_));

  // @@protoc_insertion_point(copy_constructor:pg_query.IndexStmt)
}
inline PROTOBUF_NDEBUG_INLINE IndexStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        index_params_{visibility, arena},
        index_including_params_{visibility, arena},
        options_{visibility, arena},
        exclude_op_names_{visibility, arena},
        idxname_(arena),
        access_method_(arena),
        table_space_(arena),
        idxcomment_(arena) {}

inline void IndexStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, reset_default_tblspc_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::reset_default_tblspc_));
}
IndexStmt::~IndexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.IndexStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void IndexStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.idxname_.Destroy();
  _impl_.access_method_.Destroy();
  _impl_.table_space_.Destroy();
  _impl_.idxcomment_.Destroy();
  delete _impl_.relation_;
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void IndexStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.IndexStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.index_params_.Clear();
  _impl_.index_including_params_.Clear();
  _impl_.options_.Clear();
  _impl_.exclude_op_names_.Clear();
  _impl_.idxname_.ClearToEmpty();
  _impl_.access_method_.ClearToEmpty();
  _impl_.table_space_.ClearToEmpty();
  _impl_.idxcomment_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
  }
  ::memset(&_impl_.index_oid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.reset_default_tblspc_) -
      reinterpret_cast<char*>(&_impl_.index_oid_)) + sizeof(_impl_.reset_default_tblspc_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* IndexStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<5, 24, 6, 92, 2> IndexStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_._has_bits_),
    0, // no _extensions_
    24, 248,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4278190080,  // skipmap
    offsetof(decltype(_table_), field_entries),
    24,  // num_field_entries
    6,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_IndexStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string idxname = 1 [json_name = "idxname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.idxname_)}},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.relation_)}},
    // string access_method = 3 [json_name = "accessMethod"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.access_method_)}},
    // string table_space = 4 [json_name = "tableSpace"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.table_space_)}},
    // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_params_)}},
    // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_including_params_)}},
    // repeated .pg_query.Node options = 7 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {58, 63, 3, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.options_)}},
    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {66, 1, 4, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.where_clause_)}},
    // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
    {::_pbi::TcParser::FastMtR1,
     {74, 63, 5, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.exclude_op_names_)}},
    // string idxcomment = 10 [json_name = "idxcomment"];
    {::_pbi::TcParser::FastUS1,
     {82, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.idxcomment_)}},
    // uint32 index_oid = 11 [json_name = "indexOid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexStmt, _impl_.index_oid_), 63>(),
     {88, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_oid_)}},
    // uint32 old_number = 12 [json_name = "oldNumber"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexStmt, _impl_.old_number_), 63>(),
     {96, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_number_)}},
    // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexStmt, _impl_.old_create_subid_), 63>(),
     {104, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_create_subid_)}},
    // uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(IndexStmt, _impl_.old_first_relfilelocator_subid_), 63>(),
     {112, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_first_relfilelocator_subid_)}},
    // bool unique = 15 [json_name = "unique"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(IndexStmt, _impl_.unique_), 63>(),
     {120, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.unique_)}},
    // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
    {::_pbi::TcParser::FastV8S2,
     {384, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.nulls_not_distinct_)}},
    // bool primary = 17 [json_name = "primary"];
    {::_pbi::TcParser::FastV8S2,
     {392, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.primary_)}},
    // bool isconstraint = 18 [json_name = "isconstraint"];
    {::_pbi::TcParser::FastV8S2,
     {400, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.isconstraint_)}},
    // bool deferrable = 19 [json_name = "deferrable"];
    {::_pbi::TcParser::FastV8S2,
     {408, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.deferrable_)}},
    // bool initdeferred = 20 [json_name = "initdeferred"];
    {::_pbi::TcParser::FastV8S2,
     {416, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.initdeferred_)}},
    // bool transformed = 21 [json_name = "transformed"];
    {::_pbi::TcParser::FastV8S2,
     {424, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.transformed_)}},
    // bool concurrent = 22 [json_name = "concurrent"];
    {::_pbi::TcParser::FastV8S2,
     {432, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.concurrent_)}},
    // bool if_not_exists = 23 [json_name = "if_not_exists"];
    {::_pbi::TcParser::FastV8S2,
     {440, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.if_not_exists_)}},
    // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
    {::_pbi::TcParser::FastV8S2,
     {448, 63, 0, PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.reset_default_tblspc_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string idxname = 1 [json_name = "idxname"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.idxname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string access_method = 3 [json_name = "accessMethod"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.access_method_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string table_space = 4 [json_name = "tableSpace"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.table_space_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_params_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_including_params_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 7 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.options_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.exclude_op_names_), -1, 5,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string idxcomment = 10 [json_name = "idxcomment"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.idxcomment_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 index_oid = 11 [json_name = "indexOid"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.index_oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 old_number = 12 [json_name = "oldNumber"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_number_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_create_subid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.old_first_relfilelocator_subid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool unique = 15 [json_name = "unique"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.unique_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.nulls_not_distinct_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool primary = 17 [json_name = "primary"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.primary_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool isconstraint = 18 [json_name = "isconstraint"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.isconstraint_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool deferrable = 19 [json_name = "deferrable"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.deferrable_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool initdeferred = 20 [json_name = "initdeferred"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.initdeferred_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool transformed = 21 [json_name = "transformed"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.transformed_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool concurrent = 22 [json_name = "concurrent"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.concurrent_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool if_not_exists = 23 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
    {PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.reset_default_tblspc_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\7\0\15\13\0\0\0\0\0\12\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
    "pg_query.IndexStmt"
    "idxname"
    "access_method"
    "table_space"
    "idxcomment"
  }},
};

::uint8_t* IndexStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.IndexStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string idxname = 1 [json_name = "idxname"];
  if (!this->_internal_idxname().empty()) {
    const std::string& _s = this->_internal_idxname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexStmt.idxname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    const std::string& _s = this->_internal_access_method();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexStmt.access_method");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string table_space = 4 [json_name = "tableSpace"];
  if (!this->_internal_table_space().empty()) {
    const std::string& _s = this->_internal_table_space();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexStmt.table_space");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_index_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_index_including_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_index_including_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 7 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(7, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        8, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exclude_op_names_size()); i < n; i++) {
    const auto& repfield = this->_internal_exclude_op_names().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(9, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (!this->_internal_idxcomment().empty()) {
    const std::string& _s = this->_internal_idxcomment();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.IndexStmt.idxcomment");
    target = stream->WriteStringMaybeAliased(10, _s, target);
  }

  // uint32 index_oid = 11 [json_name = "indexOid"];
  if (this->_internal_index_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        11, this->_internal_index_oid(), target);
  }

  // uint32 old_number = 12 [json_name = "oldNumber"];
  if (this->_internal_old_number() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        12, this->_internal_old_number(), target);
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->_internal_old_create_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        13, this->_internal_old_create_subid(), target);
  }

  // uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"];
  if (this->_internal_old_first_relfilelocator_subid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        14, this->_internal_old_first_relfilelocator_subid(), target);
  }

  // bool unique = 15 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        15, this->_internal_unique(), target);
  }

  // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        16, this->_internal_nulls_not_distinct(), target);
  }

  // bool primary = 17 [json_name = "primary"];
  if (this->_internal_primary() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        17, this->_internal_primary(), target);
  }

  // bool isconstraint = 18 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        18, this->_internal_isconstraint(), target);
  }

  // bool deferrable = 19 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        19, this->_internal_deferrable(), target);
  }

  // bool initdeferred = 20 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        20, this->_internal_initdeferred(), target);
  }

  // bool transformed = 21 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        21, this->_internal_transformed(), target);
  }

  // bool concurrent = 22 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        22, this->_internal_concurrent(), target);
  }

  // bool if_not_exists = 23 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        23, this->_internal_if_not_exists(), target);
  }

  // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        24, this->_internal_reset_default_tblspc(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.IndexStmt)
  return target;
}

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

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

  // repeated .pg_query.Node index_params = 5 [json_name = "indexParams"];
  total_size += 1UL * this->_internal_index_params_size();
  for (const auto& msg : this->_internal_index_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node index_including_params = 6 [json_name = "indexIncludingParams"];
  total_size += 1UL * this->_internal_index_including_params_size();
  for (const auto& msg : this->_internal_index_including_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 7 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node exclude_op_names = 9 [json_name = "excludeOpNames"];
  total_size += 1UL * this->_internal_exclude_op_names_size();
  for (const auto& msg : this->_internal_exclude_op_names()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string idxname = 1 [json_name = "idxname"];
  if (!this->_internal_idxname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_idxname());
  }

  // string access_method = 3 [json_name = "accessMethod"];
  if (!this->_internal_access_method().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_access_method());
  }

  // string table_space = 4 [json_name = "tableSpace"];
  if (!this->_internal_table_space().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_table_space());
  }

  // string idxcomment = 10 [json_name = "idxcomment"];
  if (!this->_internal_idxcomment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_idxcomment());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node where_clause = 8 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

  }
  // uint32 index_oid = 11 [json_name = "indexOid"];
  if (this->_internal_index_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_index_oid());
  }

  // uint32 old_number = 12 [json_name = "oldNumber"];
  if (this->_internal_old_number() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_old_number());
  }

  // uint32 old_create_subid = 13 [json_name = "oldCreateSubid"];
  if (this->_internal_old_create_subid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_old_create_subid());
  }

  // uint32 old_first_relfilelocator_subid = 14 [json_name = "oldFirstRelfilelocatorSubid"];
  if (this->_internal_old_first_relfilelocator_subid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_old_first_relfilelocator_subid());
  }

  // bool unique = 15 [json_name = "unique"];
  if (this->_internal_unique() != 0) {
    total_size += 2;
  }

  // bool nulls_not_distinct = 16 [json_name = "nulls_not_distinct"];
  if (this->_internal_nulls_not_distinct() != 0) {
    total_size += 3;
  }

  // bool primary = 17 [json_name = "primary"];
  if (this->_internal_primary() != 0) {
    total_size += 3;
  }

  // bool isconstraint = 18 [json_name = "isconstraint"];
  if (this->_internal_isconstraint() != 0) {
    total_size += 3;
  }

  // bool deferrable = 19 [json_name = "deferrable"];
  if (this->_internal_deferrable() != 0) {
    total_size += 3;
  }

  // bool initdeferred = 20 [json_name = "initdeferred"];
  if (this->_internal_initdeferred() != 0) {
    total_size += 3;
  }

  // bool transformed = 21 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    total_size += 3;
  }

  // bool concurrent = 22 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 3;
  }

  // bool if_not_exists = 23 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 3;
  }

  // bool reset_default_tblspc = 24 [json_name = "reset_default_tblspc"];
  if (this->_internal_reset_default_tblspc() != 0) {
    total_size += 3;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData IndexStmt::_class_data_ = {
    IndexStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* IndexStmt::GetClassData() const {
  return &_class_data_;
}

void IndexStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<IndexStmt*>(&to_msg);
  auto& from = static_cast<const IndexStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.IndexStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_index_params()->MergeFrom(
      from._internal_index_params());
  _this->_internal_mutable_index_including_params()->MergeFrom(
      from._internal_index_including_params());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_mutable_exclude_op_names()->MergeFrom(
      from._internal_exclude_op_names());
  if (!from._internal_idxname().empty()) {
    _this->_internal_set_idxname(from._internal_idxname());
  }
  if (!from._internal_access_method().empty()) {
    _this->_internal_set_access_method(from._internal_access_method());
  }
  if (!from._internal_table_space().empty()) {
    _this->_internal_set_table_space(from._internal_table_space());
  }
  if (!from._internal_idxcomment().empty()) {
    _this->_internal_set_idxcomment(from._internal_idxcomment());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
  }
  if (from._internal_index_oid() != 0) {
    _this->_internal_set_index_oid(from._internal_index_oid());
  }
  if (from._internal_old_number() != 0) {
    _this->_internal_set_old_number(from._internal_old_number());
  }
  if (from._internal_old_create_subid() != 0) {
    _this->_internal_set_old_create_subid(from._internal_old_create_subid());
  }
  if (from._internal_old_first_relfilelocator_subid() != 0) {
    _this->_internal_set_old_first_relfilelocator_subid(from._internal_old_first_relfilelocator_subid());
  }
  if (from._internal_unique() != 0) {
    _this->_internal_set_unique(from._internal_unique());
  }
  if (from._internal_nulls_not_distinct() != 0) {
    _this->_internal_set_nulls_not_distinct(from._internal_nulls_not_distinct());
  }
  if (from._internal_primary() != 0) {
    _this->_internal_set_primary(from._internal_primary());
  }
  if (from._internal_isconstraint() != 0) {
    _this->_internal_set_isconstraint(from._internal_isconstraint());
  }
  if (from._internal_deferrable() != 0) {
    _this->_internal_set_deferrable(from._internal_deferrable());
  }
  if (from._internal_initdeferred() != 0) {
    _this->_internal_set_initdeferred(from._internal_initdeferred());
  }
  if (from._internal_transformed() != 0) {
    _this->_internal_set_transformed(from._internal_transformed());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  if (from._internal_reset_default_tblspc() != 0) {
    _this->_internal_set_reset_default_tblspc(from._internal_reset_default_tblspc());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool IndexStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* IndexStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void IndexStmt::InternalSwap(IndexStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.index_params_.InternalSwap(&other->_impl_.index_params_);
  _impl_.index_including_params_.InternalSwap(&other->_impl_.index_including_params_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.exclude_op_names_.InternalSwap(&other->_impl_.exclude_op_names_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.idxname_, &other->_impl_.idxname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.access_method_, &other->_impl_.access_method_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.table_space_, &other->_impl_.table_space_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.idxcomment_, &other->_impl_.idxcomment_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.reset_default_tblspc_)
      + sizeof(IndexStmt::_impl_.reset_default_tblspc_)
      - PROTOBUF_FIELD_OFFSET(IndexStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata IndexStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[209]);
}
// ===================================================================

class CreateStatsStmt::_Internal {
 public:
};

CreateStatsStmt::CreateStatsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateStatsStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateStatsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : defnames_{visibility, arena, from.defnames_},
        stat_types_{visibility, arena, from.stat_types_},
        exprs_{visibility, arena, from.exprs_},
        relations_{visibility, arena, from.relations_},
        stxcomment_(arena, from.stxcomment_),
        _cached_size_{0} {}

CreateStatsStmt::CreateStatsStmt(
    ::google::protobuf::Arena* arena,
    const CreateStatsStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateStatsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, transformed_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, transformed_),
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, transformed_) +
               sizeof(Impl_::if_not_exists_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateStatsStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateStatsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : defnames_{visibility, arena},
        stat_types_{visibility, arena},
        exprs_{visibility, arena},
        relations_{visibility, arena},
        stxcomment_(arena),
        _cached_size_{0} {}

inline void CreateStatsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, transformed_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, transformed_) +
               sizeof(Impl_::if_not_exists_));
}
CreateStatsStmt::~CreateStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateStatsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateStatsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.stxcomment_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateStatsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnames_.Clear();
  _impl_.stat_types_.Clear();
  _impl_.exprs_.Clear();
  _impl_.relations_.Clear();
  _impl_.stxcomment_.ClearToEmpty();
  ::memset(&_impl_.transformed_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.transformed_)) + sizeof(_impl_.if_not_exists_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateStatsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 4, 43, 2> CreateStatsStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateStatsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.defnames_)}},
    // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.stat_types_)}},
    // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.exprs_)}},
    // repeated .pg_query.Node relations = 4 [json_name = "relations"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 3, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.relations_)}},
    // string stxcomment = 5 [json_name = "stxcomment"];
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.stxcomment_)}},
    // bool transformed = 6 [json_name = "transformed"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateStatsStmt, _impl_.transformed_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.transformed_)}},
    // bool if_not_exists = 7 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateStatsStmt, _impl_.if_not_exists_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.if_not_exists_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.defnames_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.stat_types_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.exprs_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node relations = 4 [json_name = "relations"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.relations_), 0, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string stxcomment = 5 [json_name = "stxcomment"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.stxcomment_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool transformed = 6 [json_name = "transformed"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.transformed_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool if_not_exists = 7 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.if_not_exists_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\0\0\0\12\0\0"
    "pg_query.CreateStatsStmt"
    "stxcomment"
  }},
};

::uint8_t* CreateStatsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateStatsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_stat_types_size()); i < n; i++) {
    const auto& repfield = this->_internal_stat_types().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_exprs_size()); i < n; i++) {
    const auto& repfield = this->_internal_exprs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node relations = 4 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string stxcomment = 5 [json_name = "stxcomment"];
  if (!this->_internal_stxcomment().empty()) {
    const std::string& _s = this->_internal_stxcomment();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateStatsStmt.stxcomment");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // bool transformed = 6 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_transformed(), target);
  }

  // bool if_not_exists = 7 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateStatsStmt)
  return target;
}

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

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

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->_internal_defnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node stat_types = 2 [json_name = "stat_types"];
  total_size += 1UL * this->_internal_stat_types_size();
  for (const auto& msg : this->_internal_stat_types()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node exprs = 3 [json_name = "exprs"];
  total_size += 1UL * this->_internal_exprs_size();
  for (const auto& msg : this->_internal_exprs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node relations = 4 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->_internal_relations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string stxcomment = 5 [json_name = "stxcomment"];
  if (!this->_internal_stxcomment().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_stxcomment());
  }

  // bool transformed = 6 [json_name = "transformed"];
  if (this->_internal_transformed() != 0) {
    total_size += 2;
  }

  // bool if_not_exists = 7 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateStatsStmt::_class_data_ = {
    CreateStatsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateStatsStmt::GetClassData() const {
  return &_class_data_;
}

void CreateStatsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateStatsStmt*>(&to_msg);
  auto& from = static_cast<const CreateStatsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateStatsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_defnames()->MergeFrom(
      from._internal_defnames());
  _this->_internal_mutable_stat_types()->MergeFrom(
      from._internal_stat_types());
  _this->_internal_mutable_exprs()->MergeFrom(
      from._internal_exprs());
  _this->_internal_mutable_relations()->MergeFrom(
      from._internal_relations());
  if (!from._internal_stxcomment().empty()) {
    _this->_internal_set_stxcomment(from._internal_stxcomment());
  }
  if (from._internal_transformed() != 0) {
    _this->_internal_set_transformed(from._internal_transformed());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateStatsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateStatsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateStatsStmt::InternalSwap(CreateStatsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  _impl_.stat_types_.InternalSwap(&other->_impl_.stat_types_);
  _impl_.exprs_.InternalSwap(&other->_impl_.exprs_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.stxcomment_, &other->_impl_.stxcomment_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.if_not_exists_)
      + sizeof(CreateStatsStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateStatsStmt, _impl_.transformed_)>(
          reinterpret_cast<char*>(&_impl_.transformed_),
          reinterpret_cast<char*>(&other->_impl_.transformed_));
}

::google::protobuf::Metadata CreateStatsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[210]);
}
// ===================================================================

class StatsElem::_Internal {
 public:
  using HasBits = decltype(std::declval<StatsElem>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(StatsElem, _impl_._has_bits_);
  static const ::pg_query::Node& expr(const StatsElem* msg);
  static void set_has_expr(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& StatsElem::_Internal::expr(const StatsElem* msg) {
  return *msg->_impl_.expr_;
}
StatsElem::StatsElem(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.StatsElem)
}
inline PROTOBUF_NDEBUG_INLINE StatsElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

StatsElem::StatsElem(
    ::google::protobuf::Arena* arena,
    const StatsElem& from)
    : ::google::protobuf::Message(arena) {
  StatsElem* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.expr_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.expr_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.StatsElem)
}
inline PROTOBUF_NDEBUG_INLINE StatsElem::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void StatsElem::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.expr_ = {};
}
StatsElem::~StatsElem() {
  // @@protoc_insertion_point(destructor:pg_query.StatsElem)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void StatsElem::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.expr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void StatsElem::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.StatsElem)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.expr_ != nullptr);
    _impl_.expr_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* StatsElem::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 31, 2> StatsElem::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(StatsElem, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_StatsElem_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(StatsElem, _impl_.expr_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(StatsElem, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(StatsElem, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node expr = 2 [json_name = "expr"];
    {PROTOBUF_FIELD_OFFSET(StatsElem, _impl_.expr_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\22\4\0\0\0\0\0\0"
    "pg_query.StatsElem"
    "name"
  }},
};

::uint8_t* StatsElem::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.StatsElem)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.StatsElem.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node expr = 2 [json_name = "expr"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::expr(this),
        _Internal::expr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.StatsElem)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node expr = 2 [json_name = "expr"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.expr_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData StatsElem::_class_data_ = {
    StatsElem::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* StatsElem::GetClassData() const {
  return &_class_data_;
}

void StatsElem::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<StatsElem*>(&to_msg);
  auto& from = static_cast<const StatsElem&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.StatsElem)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_expr()->::pg_query::Node::MergeFrom(
        from._internal_expr());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool StatsElem::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* StatsElem::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void StatsElem::InternalSwap(StatsElem* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.expr_, other->_impl_.expr_);
}

::google::protobuf::Metadata StatsElem::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[211]);
}
// ===================================================================

class AlterStatsStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterStatsStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_._has_bits_);
  static const ::pg_query::Node& stxstattarget(const AlterStatsStmt* msg);
  static void set_has_stxstattarget(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& AlterStatsStmt::_Internal::stxstattarget(const AlterStatsStmt* msg) {
  return *msg->_impl_.stxstattarget_;
}
AlterStatsStmt::AlterStatsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterStatsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterStatsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        defnames_{visibility, arena, from.defnames_} {}

AlterStatsStmt::AlterStatsStmt(
    ::google::protobuf::Arena* arena,
    const AlterStatsStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterStatsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.stxstattarget_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.stxstattarget_)
                : nullptr;
  _impl_.missing_ok_ = from._impl_.missing_ok_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterStatsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterStatsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        defnames_{visibility, arena} {}

inline void AlterStatsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, stxstattarget_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, stxstattarget_) +
               sizeof(Impl_::missing_ok_));
}
AlterStatsStmt::~AlterStatsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterStatsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterStatsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.stxstattarget_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterStatsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterStatsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.defnames_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.stxstattarget_ != nullptr);
    _impl_.stxstattarget_->Clear();
  }
  _impl_.missing_ok_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterStatsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> AlterStatsStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterStatsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.defnames_)}},
    // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.stxstattarget_)}},
    // bool missing_ok = 3 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterStatsStmt, _impl_.missing_ok_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.missing_ok_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
    {PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.defnames_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"];
    {PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.stxstattarget_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool missing_ok = 3 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterStatsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterStatsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_defnames_size()); i < n; i++) {
    const auto& repfield = this->_internal_defnames().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::stxstattarget(this),
        _Internal::stxstattarget(this).GetCachedSize(), target, stream);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterStatsStmt)
  return target;
}

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

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

  // repeated .pg_query.Node defnames = 1 [json_name = "defnames"];
  total_size += 1UL * this->_internal_defnames_size();
  for (const auto& msg : this->_internal_defnames()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node stxstattarget = 2 [json_name = "stxstattarget"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.stxstattarget_);
  }

  // bool missing_ok = 3 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterStatsStmt::_class_data_ = {
    AlterStatsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterStatsStmt::GetClassData() const {
  return &_class_data_;
}

void AlterStatsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterStatsStmt*>(&to_msg);
  auto& from = static_cast<const AlterStatsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterStatsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_defnames()->MergeFrom(
      from._internal_defnames());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_stxstattarget()->::pg_query::Node::MergeFrom(
        from._internal_stxstattarget());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterStatsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterStatsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterStatsStmt::InternalSwap(AlterStatsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.defnames_.InternalSwap(&other->_impl_.defnames_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.missing_ok_)
      + sizeof(AlterStatsStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterStatsStmt, _impl_.stxstattarget_)>(
          reinterpret_cast<char*>(&_impl_.stxstattarget_),
          reinterpret_cast<char*>(&other->_impl_.stxstattarget_));
}

::google::protobuf::Metadata AlterStatsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[212]);
}
// ===================================================================

class CreateFunctionStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateFunctionStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_._has_bits_);
  static const ::pg_query::TypeName& return_type(const CreateFunctionStmt* msg);
  static void set_has_return_type(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& sql_body(const CreateFunctionStmt* msg);
  static void set_has_sql_body(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::TypeName& CreateFunctionStmt::_Internal::return_type(const CreateFunctionStmt* msg) {
  return *msg->_impl_.return_type_;
}
const ::pg_query::Node& CreateFunctionStmt::_Internal::sql_body(const CreateFunctionStmt* msg) {
  return *msg->_impl_.sql_body_;
}
CreateFunctionStmt::CreateFunctionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateFunctionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateFunctionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        funcname_{visibility, arena, from.funcname_},
        parameters_{visibility, arena, from.parameters_},
        options_{visibility, arena, from.options_} {}

CreateFunctionStmt::CreateFunctionStmt(
    ::google::protobuf::Arena* arena,
    const CreateFunctionStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateFunctionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.return_type_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.return_type_)
                : nullptr;
  _impl_.sql_body_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.sql_body_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, is_procedure_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, is_procedure_),
           offsetof(Impl_, replace_) -
               offsetof(Impl_, is_procedure_) +
               sizeof(Impl_::replace_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateFunctionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateFunctionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        funcname_{visibility, arena},
        parameters_{visibility, arena},
        options_{visibility, arena} {}

inline void CreateFunctionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, return_type_),
           0,
           offsetof(Impl_, replace_) -
               offsetof(Impl_, return_type_) +
               sizeof(Impl_::replace_));
}
CreateFunctionStmt::~CreateFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateFunctionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateFunctionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.return_type_;
  delete _impl_.sql_body_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateFunctionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateFunctionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.funcname_.Clear();
  _impl_.parameters_.Clear();
  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.return_type_ != nullptr);
      _impl_.return_type_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.sql_body_ != nullptr);
      _impl_.sql_body_->Clear();
    }
  }
  ::memset(&_impl_.is_procedure_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.is_procedure_)) + sizeof(_impl_.replace_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateFunctionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 5, 0, 2> CreateFunctionStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    5,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateFunctionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool is_procedure = 1 [json_name = "is_procedure"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateFunctionStmt, _impl_.is_procedure_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.is_procedure_)}},
    // bool replace = 2 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateFunctionStmt, _impl_.replace_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.replace_)}},
    // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.funcname_)}},
    // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.parameters_)}},
    // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
    {::_pbi::TcParser::FastMtS1,
     {42, 0, 2, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.return_type_)}},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 3, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.options_)}},
    // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
    {::_pbi::TcParser::FastMtS1,
     {58, 1, 4, PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.sql_body_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool is_procedure = 1 [json_name = "is_procedure"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.is_procedure_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool replace = 2 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.replace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.funcname_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.parameters_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.return_type_), _Internal::kHasBitsOffset + 0, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 6 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.options_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
    {PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.sql_body_), _Internal::kHasBitsOffset + 1, 4,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CreateFunctionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateFunctionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool is_procedure = 1 [json_name = "is_procedure"];
  if (this->_internal_is_procedure() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_is_procedure(), target);
  }

  // bool replace = 2 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_funcname_size()); i < n; i++) {
    const auto& repfield = this->_internal_funcname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_parameters_size()); i < n; i++) {
    const auto& repfield = this->_internal_parameters().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::return_type(this),
        _Internal::return_type(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 6 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        7, _Internal::sql_body(this),
        _Internal::sql_body(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateFunctionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node funcname = 3 [json_name = "funcname"];
  total_size += 1UL * this->_internal_funcname_size();
  for (const auto& msg : this->_internal_funcname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node parameters = 4 [json_name = "parameters"];
  total_size += 1UL * this->_internal_parameters_size();
  for (const auto& msg : this->_internal_parameters()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 6 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.TypeName return_type = 5 [json_name = "returnType"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.return_type_);
    }

    // .pg_query.Node sql_body = 7 [json_name = "sql_body"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.sql_body_);
    }

  }
  // bool is_procedure = 1 [json_name = "is_procedure"];
  if (this->_internal_is_procedure() != 0) {
    total_size += 2;
  }

  // bool replace = 2 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateFunctionStmt::_class_data_ = {
    CreateFunctionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateFunctionStmt::GetClassData() const {
  return &_class_data_;
}

void CreateFunctionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateFunctionStmt*>(&to_msg);
  auto& from = static_cast<const CreateFunctionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateFunctionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_funcname()->MergeFrom(
      from._internal_funcname());
  _this->_internal_mutable_parameters()->MergeFrom(
      from._internal_parameters());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_return_type()->::pg_query::TypeName::MergeFrom(
          from._internal_return_type());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_sql_body()->::pg_query::Node::MergeFrom(
          from._internal_sql_body());
    }
  }
  if (from._internal_is_procedure() != 0) {
    _this->_internal_set_is_procedure(from._internal_is_procedure());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateFunctionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateFunctionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateFunctionStmt::InternalSwap(CreateFunctionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.funcname_.InternalSwap(&other->_impl_.funcname_);
  _impl_.parameters_.InternalSwap(&other->_impl_.parameters_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.replace_)
      + sizeof(CreateFunctionStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(CreateFunctionStmt, _impl_.return_type_)>(
          reinterpret_cast<char*>(&_impl_.return_type_),
          reinterpret_cast<char*>(&other->_impl_.return_type_));
}

::google::protobuf::Metadata CreateFunctionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[213]);
}
// ===================================================================

class FunctionParameter::_Internal {
 public:
  using HasBits = decltype(std::declval<FunctionParameter>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_._has_bits_);
  static const ::pg_query::TypeName& arg_type(const FunctionParameter* msg);
  static void set_has_arg_type(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& defexpr(const FunctionParameter* msg);
  static void set_has_defexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::TypeName& FunctionParameter::_Internal::arg_type(const FunctionParameter* msg) {
  return *msg->_impl_.arg_type_;
}
const ::pg_query::Node& FunctionParameter::_Internal::defexpr(const FunctionParameter* msg) {
  return *msg->_impl_.defexpr_;
}
FunctionParameter::FunctionParameter(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.FunctionParameter)
}
inline PROTOBUF_NDEBUG_INLINE FunctionParameter::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

FunctionParameter::FunctionParameter(
    ::google::protobuf::Arena* arena,
    const FunctionParameter& from)
    : ::google::protobuf::Message(arena) {
  FunctionParameter* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.arg_type_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.arg_type_)
                : nullptr;
  _impl_.defexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.defexpr_)
                : nullptr;
  _impl_.mode_ = from._impl_.mode_;

  // @@protoc_insertion_point(copy_constructor:pg_query.FunctionParameter)
}
inline PROTOBUF_NDEBUG_INLINE FunctionParameter::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void FunctionParameter::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, arg_type_),
           0,
           offsetof(Impl_, mode_) -
               offsetof(Impl_, arg_type_) +
               sizeof(Impl_::mode_));
}
FunctionParameter::~FunctionParameter() {
  // @@protoc_insertion_point(destructor:pg_query.FunctionParameter)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void FunctionParameter::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.arg_type_;
  delete _impl_.defexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void FunctionParameter::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.FunctionParameter)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.arg_type_ != nullptr);
      _impl_.arg_type_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.defexpr_ != nullptr);
      _impl_.defexpr_->Clear();
    }
  }
  _impl_.mode_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* FunctionParameter::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 39, 2> FunctionParameter::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_FunctionParameter_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.defexpr_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.name_)}},
    // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.arg_type_)}},
    // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(FunctionParameter, _impl_.mode_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.mode_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
    {PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.arg_type_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
    {PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.mode_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
    {PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.defexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\4\0\0\0\0\0\0"
    "pg_query.FunctionParameter"
    "name"
  }},
};

::uint8_t* FunctionParameter::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.FunctionParameter)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.FunctionParameter.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::arg_type(this),
        _Internal::arg_type(this).GetCachedSize(), target, stream);
  }

  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_mode(), target);
  }

  // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::defexpr(this),
        _Internal::defexpr(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.FunctionParameter)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.TypeName arg_type = 2 [json_name = "argType"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.arg_type_);
    }

    // .pg_query.Node defexpr = 4 [json_name = "defexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.defexpr_);
    }

  }
  // .pg_query.FunctionParameterMode mode = 3 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_mode());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData FunctionParameter::_class_data_ = {
    FunctionParameter::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* FunctionParameter::GetClassData() const {
  return &_class_data_;
}

void FunctionParameter::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<FunctionParameter*>(&to_msg);
  auto& from = static_cast<const FunctionParameter&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.FunctionParameter)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_arg_type()->::pg_query::TypeName::MergeFrom(
          from._internal_arg_type());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_defexpr()->::pg_query::Node::MergeFrom(
          from._internal_defexpr());
    }
  }
  if (from._internal_mode() != 0) {
    _this->_internal_set_mode(from._internal_mode());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool FunctionParameter::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* FunctionParameter::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void FunctionParameter::InternalSwap(FunctionParameter* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.mode_)
      + sizeof(FunctionParameter::_impl_.mode_)
      - PROTOBUF_FIELD_OFFSET(FunctionParameter, _impl_.arg_type_)>(
          reinterpret_cast<char*>(&_impl_.arg_type_),
          reinterpret_cast<char*>(&other->_impl_.arg_type_));
}

::google::protobuf::Metadata FunctionParameter::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[214]);
}
// ===================================================================

class AlterFunctionStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterFunctionStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_._has_bits_);
  static const ::pg_query::ObjectWithArgs& func(const AlterFunctionStmt* msg);
  static void set_has_func(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::ObjectWithArgs& AlterFunctionStmt::_Internal::func(const AlterFunctionStmt* msg) {
  return *msg->_impl_.func_;
}
AlterFunctionStmt::AlterFunctionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterFunctionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterFunctionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        actions_{visibility, arena, from.actions_} {}

AlterFunctionStmt::AlterFunctionStmt(
    ::google::protobuf::Arena* arena,
    const AlterFunctionStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterFunctionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.func_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.func_)
                : nullptr;
  _impl_.objtype_ = from._impl_.objtype_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterFunctionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterFunctionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        actions_{visibility, arena} {}

inline void AlterFunctionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, func_),
           0,
           offsetof(Impl_, objtype_) -
               offsetof(Impl_, func_) +
               sizeof(Impl_::objtype_));
}
AlterFunctionStmt::~AlterFunctionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterFunctionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterFunctionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.func_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterFunctionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterFunctionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.actions_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.func_ != nullptr);
    _impl_.func_->Clear();
  }
  _impl_.objtype_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterFunctionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> AlterFunctionStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterFunctionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterFunctionStmt, _impl_.objtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.objtype_)}},
    // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.func_)}},
    // repeated .pg_query.Node actions = 3 [json_name = "actions"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.actions_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
    {PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.func_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node actions = 3 [json_name = "actions"];
    {PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.actions_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterFunctionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterFunctionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_objtype(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::func(this),
        _Internal::func(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node actions = 3 [json_name = "actions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_actions_size()); i < n; i++) {
    const auto& repfield = this->_internal_actions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterFunctionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node actions = 3 [json_name = "actions"];
  total_size += 1UL * this->_internal_actions_size();
  for (const auto& msg : this->_internal_actions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.ObjectWithArgs func = 2 [json_name = "func"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.func_);
  }

  // .pg_query.ObjectType objtype = 1 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterFunctionStmt::_class_data_ = {
    AlterFunctionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterFunctionStmt::GetClassData() const {
  return &_class_data_;
}

void AlterFunctionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterFunctionStmt*>(&to_msg);
  auto& from = static_cast<const AlterFunctionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterFunctionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_actions()->MergeFrom(
      from._internal_actions());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_func());
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterFunctionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterFunctionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterFunctionStmt::InternalSwap(AlterFunctionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.actions_.InternalSwap(&other->_impl_.actions_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.objtype_)
      + sizeof(AlterFunctionStmt::_impl_.objtype_)
      - PROTOBUF_FIELD_OFFSET(AlterFunctionStmt, _impl_.func_)>(
          reinterpret_cast<char*>(&_impl_.func_),
          reinterpret_cast<char*>(&other->_impl_.func_));
}

::google::protobuf::Metadata AlterFunctionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[215]);
}
// ===================================================================

class DoStmt::_Internal {
 public:
};

DoStmt::DoStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DoStmt)
}
inline PROTOBUF_NDEBUG_INLINE DoStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : args_{visibility, arena, from.args_},
        _cached_size_{0} {}

DoStmt::DoStmt(
    ::google::protobuf::Arena* arena,
    const DoStmt& from)
    : ::google::protobuf::Message(arena) {
  DoStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.DoStmt)
}
inline PROTOBUF_NDEBUG_INLINE DoStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : args_{visibility, arena},
        _cached_size_{0} {}

inline void DoStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
DoStmt::~DoStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DoStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DoStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DoStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DoStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.args_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DoStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> DoStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DoStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node args = 1 [json_name = "args"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DoStmt, _impl_.args_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node args = 1 [json_name = "args"];
    {PROTOBUF_FIELD_OFFSET(DoStmt, _impl_.args_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DoStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DoStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node args = 1 [json_name = "args"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_args_size()); i < n; i++) {
    const auto& repfield = this->_internal_args().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DoStmt)
  return target;
}

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

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

  // repeated .pg_query.Node args = 1 [json_name = "args"];
  total_size += 1UL * this->_internal_args_size();
  for (const auto& msg : this->_internal_args()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DoStmt::_class_data_ = {
    DoStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DoStmt::GetClassData() const {
  return &_class_data_;
}

void DoStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DoStmt*>(&to_msg);
  auto& from = static_cast<const DoStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DoStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_args()->MergeFrom(
      from._internal_args());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DoStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DoStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DoStmt::InternalSwap(DoStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.args_.InternalSwap(&other->_impl_.args_);
}

::google::protobuf::Metadata DoStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[216]);
}
// ===================================================================

class InlineCodeBlock::_Internal {
 public:
};

InlineCodeBlock::InlineCodeBlock(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.InlineCodeBlock)
}
inline PROTOBUF_NDEBUG_INLINE InlineCodeBlock::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : source_text_(arena, from.source_text_),
        _cached_size_{0} {}

InlineCodeBlock::InlineCodeBlock(
    ::google::protobuf::Arena* arena,
    const InlineCodeBlock& from)
    : ::google::protobuf::Message(arena) {
  InlineCodeBlock* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lang_oid_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, lang_oid_),
           offsetof(Impl_, atomic_) -
               offsetof(Impl_, lang_oid_) +
               sizeof(Impl_::atomic_));

  // @@protoc_insertion_point(copy_constructor:pg_query.InlineCodeBlock)
}
inline PROTOBUF_NDEBUG_INLINE InlineCodeBlock::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : source_text_(arena),
        _cached_size_{0} {}

inline void InlineCodeBlock::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, lang_oid_),
           0,
           offsetof(Impl_, atomic_) -
               offsetof(Impl_, lang_oid_) +
               sizeof(Impl_::atomic_));
}
InlineCodeBlock::~InlineCodeBlock() {
  // @@protoc_insertion_point(destructor:pg_query.InlineCodeBlock)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void InlineCodeBlock::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.source_text_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void InlineCodeBlock::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.InlineCodeBlock)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.source_text_.ClearToEmpty();
  ::memset(&_impl_.lang_oid_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.atomic_) -
      reinterpret_cast<char*>(&_impl_.lang_oid_)) + sizeof(_impl_.atomic_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* InlineCodeBlock::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 0, 44, 2> InlineCodeBlock::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_InlineCodeBlock_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool atomic = 4 [json_name = "atomic"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(InlineCodeBlock, _impl_.atomic_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.atomic_)}},
    // string source_text = 1 [json_name = "source_text"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.source_text_)}},
    // uint32 lang_oid = 2 [json_name = "langOid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(InlineCodeBlock, _impl_.lang_oid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_oid_)}},
    // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(InlineCodeBlock, _impl_.lang_is_trusted_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_is_trusted_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string source_text = 1 [json_name = "source_text"];
    {PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.source_text_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // uint32 lang_oid = 2 [json_name = "langOid"];
    {PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_oid_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
    {PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_is_trusted_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool atomic = 4 [json_name = "atomic"];
    {PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.atomic_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
    "\30\13\0\0\0\0\0\0"
    "pg_query.InlineCodeBlock"
    "source_text"
  }},
};

::uint8_t* InlineCodeBlock::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.InlineCodeBlock)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string source_text = 1 [json_name = "source_text"];
  if (!this->_internal_source_text().empty()) {
    const std::string& _s = this->_internal_source_text();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.InlineCodeBlock.source_text");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // uint32 lang_oid = 2 [json_name = "langOid"];
  if (this->_internal_lang_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_lang_oid(), target);
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->_internal_lang_is_trusted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_lang_is_trusted(), target);
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_atomic(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.InlineCodeBlock)
  return target;
}

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

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

  // string source_text = 1 [json_name = "source_text"];
  if (!this->_internal_source_text().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_source_text());
  }

  // uint32 lang_oid = 2 [json_name = "langOid"];
  if (this->_internal_lang_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_lang_oid());
  }

  // bool lang_is_trusted = 3 [json_name = "langIsTrusted"];
  if (this->_internal_lang_is_trusted() != 0) {
    total_size += 2;
  }

  // bool atomic = 4 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData InlineCodeBlock::_class_data_ = {
    InlineCodeBlock::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* InlineCodeBlock::GetClassData() const {
  return &_class_data_;
}

void InlineCodeBlock::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<InlineCodeBlock*>(&to_msg);
  auto& from = static_cast<const InlineCodeBlock&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.InlineCodeBlock)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_source_text().empty()) {
    _this->_internal_set_source_text(from._internal_source_text());
  }
  if (from._internal_lang_oid() != 0) {
    _this->_internal_set_lang_oid(from._internal_lang_oid());
  }
  if (from._internal_lang_is_trusted() != 0) {
    _this->_internal_set_lang_is_trusted(from._internal_lang_is_trusted());
  }
  if (from._internal_atomic() != 0) {
    _this->_internal_set_atomic(from._internal_atomic());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool InlineCodeBlock::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* InlineCodeBlock::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void InlineCodeBlock::InternalSwap(InlineCodeBlock* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.source_text_, &other->_impl_.source_text_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.atomic_)
      + sizeof(InlineCodeBlock::_impl_.atomic_)
      - PROTOBUF_FIELD_OFFSET(InlineCodeBlock, _impl_.lang_oid_)>(
          reinterpret_cast<char*>(&_impl_.lang_oid_),
          reinterpret_cast<char*>(&other->_impl_.lang_oid_));
}

::google::protobuf::Metadata InlineCodeBlock::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[217]);
}
// ===================================================================

class CallStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CallStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CallStmt, _impl_._has_bits_);
  static const ::pg_query::FuncCall& funccall(const CallStmt* msg);
  static void set_has_funccall(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::FuncExpr& funcexpr(const CallStmt* msg);
  static void set_has_funcexpr(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::FuncCall& CallStmt::_Internal::funccall(const CallStmt* msg) {
  return *msg->_impl_.funccall_;
}
const ::pg_query::FuncExpr& CallStmt::_Internal::funcexpr(const CallStmt* msg) {
  return *msg->_impl_.funcexpr_;
}
CallStmt::CallStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallStmt)
}
inline PROTOBUF_NDEBUG_INLINE CallStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        outargs_{visibility, arena, from.outargs_} {}

CallStmt::CallStmt(
    ::google::protobuf::Arena* arena,
    const CallStmt& from)
    : ::google::protobuf::Message(arena) {
  CallStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.funccall_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::FuncCall>(arena, *from._impl_.funccall_)
                : nullptr;
  _impl_.funcexpr_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::FuncExpr>(arena, *from._impl_.funcexpr_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.CallStmt)
}
inline PROTOBUF_NDEBUG_INLINE CallStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        outargs_{visibility, arena} {}

inline void CallStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, funccall_),
           0,
           offsetof(Impl_, funcexpr_) -
               offsetof(Impl_, funccall_) +
               sizeof(Impl_::funcexpr_));
}
CallStmt::~CallStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CallStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CallStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.funccall_;
  delete _impl_.funcexpr_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CallStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.outargs_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.funccall_ != nullptr);
      _impl_.funccall_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.funcexpr_ != nullptr);
      _impl_.funcexpr_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CallStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 3, 0, 2> CallStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CallStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CallStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funccall_)}},
    // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funcexpr_)}},
    // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.outargs_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
    {PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funccall_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
    {PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funcexpr_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
    {PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.outargs_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::FuncCall>()},
    {::_pbi::TcParser::GetTable<::pg_query::FuncExpr>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CallStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::funccall(this),
        _Internal::funccall(this).GetCachedSize(), target, stream);
  }

  // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::funcexpr(this),
        _Internal::funcexpr(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_outargs_size()); i < n; i++) {
    const auto& repfield = this->_internal_outargs().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CallStmt)
  return target;
}

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

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

  // repeated .pg_query.Node outargs = 3 [json_name = "outargs"];
  total_size += 1UL * this->_internal_outargs_size();
  for (const auto& msg : this->_internal_outargs()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.FuncCall funccall = 1 [json_name = "funccall"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.funccall_);
    }

    // .pg_query.FuncExpr funcexpr = 2 [json_name = "funcexpr"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.funcexpr_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CallStmt::_class_data_ = {
    CallStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CallStmt::GetClassData() const {
  return &_class_data_;
}

void CallStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CallStmt*>(&to_msg);
  auto& from = static_cast<const CallStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_outargs()->MergeFrom(
      from._internal_outargs());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_funccall()->::pg_query::FuncCall::MergeFrom(
          from._internal_funccall());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_funcexpr()->::pg_query::FuncExpr::MergeFrom(
          from._internal_funcexpr());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CallStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CallStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CallStmt::InternalSwap(CallStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.outargs_.InternalSwap(&other->_impl_.outargs_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funcexpr_)
      + sizeof(CallStmt::_impl_.funcexpr_)
      - PROTOBUF_FIELD_OFFSET(CallStmt, _impl_.funccall_)>(
          reinterpret_cast<char*>(&_impl_.funccall_),
          reinterpret_cast<char*>(&other->_impl_.funccall_));
}

::google::protobuf::Metadata CallStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[218]);
}
// ===================================================================

class CallContext::_Internal {
 public:
};

CallContext::CallContext(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CallContext)
}
CallContext::CallContext(
    ::google::protobuf::Arena* arena, const CallContext& from)
    : CallContext(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE CallContext::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CallContext::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.atomic_ = {};
}
CallContext::~CallContext() {
  // @@protoc_insertion_point(destructor:pg_query.CallContext)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CallContext::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CallContext::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CallContext)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.atomic_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CallContext::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> CallContext::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_CallContext_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool atomic = 1 [json_name = "atomic"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CallContext, _impl_.atomic_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CallContext, _impl_.atomic_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool atomic = 1 [json_name = "atomic"];
    {PROTOBUF_FIELD_OFFSET(CallContext, _impl_.atomic_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* CallContext::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CallContext)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool atomic = 1 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_atomic(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CallContext)
  return target;
}

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

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

  // bool atomic = 1 [json_name = "atomic"];
  if (this->_internal_atomic() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CallContext::_class_data_ = {
    CallContext::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CallContext::GetClassData() const {
  return &_class_data_;
}

void CallContext::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CallContext*>(&to_msg);
  auto& from = static_cast<const CallContext&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CallContext)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_atomic() != 0) {
    _this->_internal_set_atomic(from._internal_atomic());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CallContext::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CallContext::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CallContext::InternalSwap(CallContext* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
        swap(_impl_.atomic_, other->_impl_.atomic_);
}

::google::protobuf::Metadata CallContext::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[219]);
}
// ===================================================================

class RenameStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<RenameStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const RenameStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& object(const RenameStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& RenameStmt::_Internal::relation(const RenameStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& RenameStmt::_Internal::object(const RenameStmt* msg) {
  return *msg->_impl_.object_;
}
RenameStmt::RenameStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RenameStmt)
}
inline PROTOBUF_NDEBUG_INLINE RenameStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        subname_(arena, from.subname_),
        newname_(arena, from.newname_) {}

RenameStmt::RenameStmt(
    ::google::protobuf::Arena* arena,
    const RenameStmt& from)
    : ::google::protobuf::Message(arena) {
  RenameStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.object_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, rename_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, rename_type_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, rename_type_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RenameStmt)
}
inline PROTOBUF_NDEBUG_INLINE RenameStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        subname_(arena),
        newname_(arena) {}

inline void RenameStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::missing_ok_));
}
RenameStmt::~RenameStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RenameStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RenameStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.subname_.Destroy();
  _impl_.newname_.Destroy();
  delete _impl_.relation_;
  delete _impl_.object_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RenameStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RenameStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.subname_.ClearToEmpty();
  _impl_.newname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.object_ != nullptr);
      _impl_.object_->Clear();
    }
  }
  ::memset(&_impl_.rename_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.rename_type_)) + sizeof(_impl_.missing_ok_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RenameStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 8, 2, 50, 2> RenameStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_._has_bits_),
    0, // no _extensions_
    8, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967040,  // skipmap
    offsetof(decltype(_table_), field_entries),
    8,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RenameStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool missing_ok = 8 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RenameStmt, _impl_.missing_ok_), 63>(),
     {64, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.missing_ok_)}},
    // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RenameStmt, _impl_.rename_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.rename_type_)}},
    // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RenameStmt, _impl_.relation_type_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_type_)}},
    // .pg_query.RangeVar relation = 3 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_)}},
    // .pg_query.Node object = 4 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.object_)}},
    // string subname = 5 [json_name = "subname"];
    {::_pbi::TcParser::FastUS1,
     {42, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.subname_)}},
    // string newname = 6 [json_name = "newname"];
    {::_pbi::TcParser::FastUS1,
     {50, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.newname_)}},
    // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RenameStmt, _impl_.behavior_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.behavior_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.rename_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.RangeVar relation = 3 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node object = 4 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.object_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string subname = 5 [json_name = "subname"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.subname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string newname = 6 [json_name = "newname"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.newname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.behavior_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool missing_ok = 8 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\0\0\0\0\7\7\0\0\0\0\0\0\0\0\0"
    "pg_query.RenameStmt"
    "subname"
    "newname"
  }},
};

::uint8_t* RenameStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RenameStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->_internal_rename_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_rename_type(), target);
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->_internal_relation_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_relation_type(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 4 [json_name = "object"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string subname = 5 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    const std::string& _s = this->_internal_subname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RenameStmt.subname");
    target = stream->WriteStringMaybeAliased(5, _s, target);
  }

  // string newname = 6 [json_name = "newname"];
  if (!this->_internal_newname().empty()) {
    const std::string& _s = this->_internal_newname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RenameStmt.newname");
    target = stream->WriteStringMaybeAliased(6, _s, target);
  }

  // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        7, this->_internal_behavior(), target);
  }

  // bool missing_ok = 8 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        8, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RenameStmt)
  return target;
}

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

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

  // string subname = 5 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_subname());
  }

  // string newname = 6 [json_name = "newname"];
  if (!this->_internal_newname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_newname());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar relation = 3 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node object = 4 [json_name = "object"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
    }

  }
  // .pg_query.ObjectType rename_type = 1 [json_name = "renameType"];
  if (this->_internal_rename_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_rename_type());
  }

  // .pg_query.ObjectType relation_type = 2 [json_name = "relationType"];
  if (this->_internal_relation_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_relation_type());
  }

  // .pg_query.DropBehavior behavior = 7 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  // bool missing_ok = 8 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RenameStmt::_class_data_ = {
    RenameStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RenameStmt::GetClassData() const {
  return &_class_data_;
}

void RenameStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RenameStmt*>(&to_msg);
  auto& from = static_cast<const RenameStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RenameStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_newname().empty()) {
    _this->_internal_set_newname(from._internal_newname());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
          from._internal_object());
    }
  }
  if (from._internal_rename_type() != 0) {
    _this->_internal_set_rename_type(from._internal_rename_type());
  }
  if (from._internal_relation_type() != 0) {
    _this->_internal_set_relation_type(from._internal_relation_type());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RenameStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RenameStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RenameStmt::InternalSwap(RenameStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.subname_, &other->_impl_.subname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.newname_, &other->_impl_.newname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.missing_ok_)
      + sizeof(RenameStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(RenameStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata RenameStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[220]);
}
// ===================================================================

class AlterObjectDependsStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterObjectDependsStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const AlterObjectDependsStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& object(const AlterObjectDependsStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::String& extname(const AlterObjectDependsStmt* msg);
  static void set_has_extname(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& AlterObjectDependsStmt::_Internal::relation(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& AlterObjectDependsStmt::_Internal::object(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.object_;
}
const ::pg_query::String& AlterObjectDependsStmt::_Internal::extname(const AlterObjectDependsStmt* msg) {
  return *msg->_impl_.extname_;
}
AlterObjectDependsStmt::AlterObjectDependsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectDependsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterObjectDependsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

AlterObjectDependsStmt::AlterObjectDependsStmt(
    ::google::protobuf::Arena* arena,
    const AlterObjectDependsStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterObjectDependsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.object_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  _impl_.extname_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::String>(arena, *from._impl_.extname_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, object_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, object_type_),
           offsetof(Impl_, remove_) -
               offsetof(Impl_, object_type_) +
               sizeof(Impl_::remove_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectDependsStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterObjectDependsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void AlterObjectDependsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, remove_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::remove_));
}
AlterObjectDependsStmt::~AlterObjectDependsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectDependsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterObjectDependsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.object_;
  delete _impl_.extname_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterObjectDependsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectDependsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.object_ != nullptr);
      _impl_.object_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.extname_ != nullptr);
      _impl_.extname_->Clear();
    }
  }
  ::memset(&_impl_.object_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.remove_) -
      reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.remove_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterObjectDependsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> AlterObjectDependsStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterObjectDependsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterObjectDependsStmt, _impl_.object_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.object_type_)}},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.relation_)}},
    // .pg_query.Node object = 3 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.object_)}},
    // .pg_query.String extname = 4 [json_name = "extname"];
    {::_pbi::TcParser::FastMtS1,
     {34, 2, 2, PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.extname_)}},
    // bool remove = 5 [json_name = "remove"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterObjectDependsStmt, _impl_.remove_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.remove_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.object_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node object = 3 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.object_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.String extname = 4 [json_name = "extname"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.extname_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool remove = 5 [json_name = "remove"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.remove_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::String>()},
  }}, {{
  }},
};

::uint8_t* AlterObjectDependsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectDependsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_object_type(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // .pg_query.String extname = 4 [json_name = "extname"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::extname(this),
        _Internal::extname(this).GetCachedSize(), target, stream);
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->_internal_remove() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_remove(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterObjectDependsStmt)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node object = 3 [json_name = "object"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
    }

    // .pg_query.String extname = 4 [json_name = "extname"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.extname_);
    }

  }
  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool remove = 5 [json_name = "remove"];
  if (this->_internal_remove() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterObjectDependsStmt::_class_data_ = {
    AlterObjectDependsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterObjectDependsStmt::GetClassData() const {
  return &_class_data_;
}

void AlterObjectDependsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterObjectDependsStmt*>(&to_msg);
  auto& from = static_cast<const AlterObjectDependsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectDependsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
          from._internal_object());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_extname()->::pg_query::String::MergeFrom(
          from._internal_extname());
    }
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  if (from._internal_remove() != 0) {
    _this->_internal_set_remove(from._internal_remove());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterObjectDependsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterObjectDependsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterObjectDependsStmt::InternalSwap(AlterObjectDependsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.remove_)
      + sizeof(AlterObjectDependsStmt::_impl_.remove_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectDependsStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata AlterObjectDependsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[221]);
}
// ===================================================================

class AlterObjectSchemaStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterObjectSchemaStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const AlterObjectSchemaStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& object(const AlterObjectSchemaStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& AlterObjectSchemaStmt::_Internal::relation(const AlterObjectSchemaStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& AlterObjectSchemaStmt::_Internal::object(const AlterObjectSchemaStmt* msg) {
  return *msg->_impl_.object_;
}
AlterObjectSchemaStmt::AlterObjectSchemaStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterObjectSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterObjectSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        newschema_(arena, from.newschema_) {}

AlterObjectSchemaStmt::AlterObjectSchemaStmt(
    ::google::protobuf::Arena* arena,
    const AlterObjectSchemaStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterObjectSchemaStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.object_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, object_type_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, object_type_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, object_type_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterObjectSchemaStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterObjectSchemaStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        newschema_(arena) {}

inline void AlterObjectSchemaStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::missing_ok_));
}
AlterObjectSchemaStmt::~AlterObjectSchemaStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterObjectSchemaStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterObjectSchemaStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.newschema_.Destroy();
  delete _impl_.relation_;
  delete _impl_.object_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterObjectSchemaStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterObjectSchemaStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.newschema_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.object_ != nullptr);
      _impl_.object_->Clear();
    }
  }
  ::memset(&_impl_.object_type_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.object_type_)) + sizeof(_impl_.missing_ok_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterObjectSchemaStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 48, 2> AlterObjectSchemaStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterObjectSchemaStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterObjectSchemaStmt, _impl_.object_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.object_type_)}},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.relation_)}},
    // .pg_query.Node object = 3 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.object_)}},
    // string newschema = 4 [json_name = "newschema"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.newschema_)}},
    // bool missing_ok = 5 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterObjectSchemaStmt, _impl_.missing_ok_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.missing_ok_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.object_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node object = 3 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.object_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string newschema = 4 [json_name = "newschema"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.newschema_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool missing_ok = 5 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.missing_ok_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\36\0\0\0\11\0\0\0"
    "pg_query.AlterObjectSchemaStmt"
    "newschema"
  }},
};

::uint8_t* AlterObjectSchemaStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterObjectSchemaStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_object_type(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // string newschema = 4 [json_name = "newschema"];
  if (!this->_internal_newschema().empty()) {
    const std::string& _s = this->_internal_newschema();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterObjectSchemaStmt.newschema");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool missing_ok = 5 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterObjectSchemaStmt)
  return target;
}

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

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

  // string newschema = 4 [json_name = "newschema"];
  if (!this->_internal_newschema().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_newschema());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node object = 3 [json_name = "object"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
    }

  }
  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  // bool missing_ok = 5 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterObjectSchemaStmt::_class_data_ = {
    AlterObjectSchemaStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterObjectSchemaStmt::GetClassData() const {
  return &_class_data_;
}

void AlterObjectSchemaStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterObjectSchemaStmt*>(&to_msg);
  auto& from = static_cast<const AlterObjectSchemaStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterObjectSchemaStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_newschema().empty()) {
    _this->_internal_set_newschema(from._internal_newschema());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
          from._internal_object());
    }
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterObjectSchemaStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterObjectSchemaStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterObjectSchemaStmt::InternalSwap(AlterObjectSchemaStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.newschema_, &other->_impl_.newschema_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.missing_ok_)
      + sizeof(AlterObjectSchemaStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterObjectSchemaStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata AlterObjectSchemaStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[222]);
}
// ===================================================================

class AlterOwnerStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterOwnerStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const AlterOwnerStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& object(const AlterOwnerStmt* msg);
  static void set_has_object(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::RoleSpec& newowner(const AlterOwnerStmt* msg);
  static void set_has_newowner(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::RangeVar& AlterOwnerStmt::_Internal::relation(const AlterOwnerStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& AlterOwnerStmt::_Internal::object(const AlterOwnerStmt* msg) {
  return *msg->_impl_.object_;
}
const ::pg_query::RoleSpec& AlterOwnerStmt::_Internal::newowner(const AlterOwnerStmt* msg) {
  return *msg->_impl_.newowner_;
}
AlterOwnerStmt::AlterOwnerStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOwnerStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOwnerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

AlterOwnerStmt::AlterOwnerStmt(
    ::google::protobuf::Arena* arena,
    const AlterOwnerStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterOwnerStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.object_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.object_)
                : nullptr;
  _impl_.newowner_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.newowner_)
                : nullptr;
  _impl_.object_type_ = from._impl_.object_type_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOwnerStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOwnerStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void AlterOwnerStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, object_type_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::object_type_));
}
AlterOwnerStmt::~AlterOwnerStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOwnerStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterOwnerStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.object_;
  delete _impl_.newowner_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterOwnerStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOwnerStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.object_ != nullptr);
      _impl_.object_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.newowner_ != nullptr);
      _impl_.newowner_->Clear();
    }
  }
  _impl_.object_type_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterOwnerStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 3, 0, 2> AlterOwnerStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterOwnerStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    {::_pbi::TcParser::FastMtS1,
     {34, 2, 2, PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.newowner_)}},
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterOwnerStmt, _impl_.object_type_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_type_)}},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.relation_)}},
    // .pg_query.Node object = 3 [json_name = "object"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
    {PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_type_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node object = 3 [json_name = "object"];
    {PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    {PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.newowner_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
  }}, {{
  }},
};

::uint8_t* AlterOwnerStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOwnerStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_object_type(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node object = 3 [json_name = "object"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::object(this),
        _Internal::object(this).GetCachedSize(), target, stream);
  }

  // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::newowner(this),
        _Internal::newowner(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterOwnerStmt)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node object = 3 [json_name = "object"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.object_);
    }

    // .pg_query.RoleSpec newowner = 4 [json_name = "newowner"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.newowner_);
    }

  }
  // .pg_query.ObjectType object_type = 1 [json_name = "objectType"];
  if (this->_internal_object_type() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_object_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterOwnerStmt::_class_data_ = {
    AlterOwnerStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterOwnerStmt::GetClassData() const {
  return &_class_data_;
}

void AlterOwnerStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterOwnerStmt*>(&to_msg);
  auto& from = static_cast<const AlterOwnerStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOwnerStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_object()->::pg_query::Node::MergeFrom(
          from._internal_object());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_newowner()->::pg_query::RoleSpec::MergeFrom(
          from._internal_newowner());
    }
  }
  if (from._internal_object_type() != 0) {
    _this->_internal_set_object_type(from._internal_object_type());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterOwnerStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterOwnerStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterOwnerStmt::InternalSwap(AlterOwnerStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.object_type_)
      + sizeof(AlterOwnerStmt::_impl_.object_type_)
      - PROTOBUF_FIELD_OFFSET(AlterOwnerStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata AlterOwnerStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[223]);
}
// ===================================================================

class AlterOperatorStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterOperatorStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_._has_bits_);
  static const ::pg_query::ObjectWithArgs& opername(const AlterOperatorStmt* msg);
  static void set_has_opername(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::ObjectWithArgs& AlterOperatorStmt::_Internal::opername(const AlterOperatorStmt* msg) {
  return *msg->_impl_.opername_;
}
AlterOperatorStmt::AlterOperatorStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterOperatorStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOperatorStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

AlterOperatorStmt::AlterOperatorStmt(
    ::google::protobuf::Arena* arena,
    const AlterOperatorStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterOperatorStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.opername_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.opername_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterOperatorStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterOperatorStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void AlterOperatorStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.opername_ = {};
}
AlterOperatorStmt::~AlterOperatorStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterOperatorStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterOperatorStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.opername_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterOperatorStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterOperatorStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.opername_ != nullptr);
    _impl_.opername_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterOperatorStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> AlterOperatorStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterOperatorStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_.options_)}},
    // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_.opername_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
    {PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_.opername_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterOperatorStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterOperatorStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterOperatorStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::opername(this),
        _Internal::opername(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterOperatorStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.ObjectWithArgs opername = 1 [json_name = "opername"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.opername_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterOperatorStmt::_class_data_ = {
    AlterOperatorStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterOperatorStmt::GetClassData() const {
  return &_class_data_;
}

void AlterOperatorStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterOperatorStmt*>(&to_msg);
  auto& from = static_cast<const AlterOperatorStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterOperatorStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_opername()->::pg_query::ObjectWithArgs::MergeFrom(
        from._internal_opername());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterOperatorStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterOperatorStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterOperatorStmt::InternalSwap(AlterOperatorStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.opername_, other->_impl_.opername_);
}

::google::protobuf::Metadata AlterOperatorStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[224]);
}
// ===================================================================

class AlterTypeStmt::_Internal {
 public:
};

AlterTypeStmt::AlterTypeStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTypeStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTypeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : type_name_{visibility, arena, from.type_name_},
        options_{visibility, arena, from.options_},
        _cached_size_{0} {}

AlterTypeStmt::AlterTypeStmt(
    ::google::protobuf::Arena* arena,
    const AlterTypeStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTypeStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTypeStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTypeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : type_name_{visibility, arena},
        options_{visibility, arena},
        _cached_size_{0} {}

inline void AlterTypeStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterTypeStmt::~AlterTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTypeStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTypeStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTypeStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.options_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTypeStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> AlterTypeStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTypeStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterTypeStmt, _impl_.options_)}},
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTypeStmt, _impl_.type_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(AlterTypeStmt, _impl_.type_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterTypeStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterTypeStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTypeStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTypeStmt)
  return target;
}

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

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

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->_internal_type_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTypeStmt::_class_data_ = {
    AlterTypeStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTypeStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTypeStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTypeStmt*>(&to_msg);
  auto& from = static_cast<const AlterTypeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTypeStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_type_name()->MergeFrom(
      from._internal_type_name());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTypeStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTypeStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTypeStmt::InternalSwap(AlterTypeStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
}

::google::protobuf::Metadata AlterTypeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[225]);
}
// ===================================================================

class RuleStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<RuleStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const RuleStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const RuleStmt* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& RuleStmt::_Internal::relation(const RuleStmt* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& RuleStmt::_Internal::where_clause(const RuleStmt* msg) {
  return *msg->_impl_.where_clause_;
}
RuleStmt::RuleStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RuleStmt)
}
inline PROTOBUF_NDEBUG_INLINE RuleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        actions_{visibility, arena, from.actions_},
        rulename_(arena, from.rulename_) {}

RuleStmt::RuleStmt(
    ::google::protobuf::Arena* arena,
    const RuleStmt& from)
    : ::google::protobuf::Message(arena) {
  RuleStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, event_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, event_),
           offsetof(Impl_, replace_) -
               offsetof(Impl_, event_) +
               sizeof(Impl_::replace_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RuleStmt)
}
inline PROTOBUF_NDEBUG_INLINE RuleStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        actions_{visibility, arena},
        rulename_(arena) {}

inline void RuleStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, replace_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::replace_));
}
RuleStmt::~RuleStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RuleStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RuleStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.rulename_.Destroy();
  delete _impl_.relation_;
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RuleStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RuleStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.actions_.Clear();
  _impl_.rulename_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
  }
  ::memset(&_impl_.event_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.replace_) -
      reinterpret_cast<char*>(&_impl_.event_)) + sizeof(_impl_.replace_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RuleStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 3, 34, 2> RuleStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_._has_bits_),
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RuleStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.relation_)}},
    // string rulename = 2 [json_name = "rulename"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.rulename_)}},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 1, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.where_clause_)}},
    // .pg_query.CmdType event = 4 [json_name = "event"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RuleStmt, _impl_.event_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.event_)}},
    // bool instead = 5 [json_name = "instead"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RuleStmt, _impl_.instead_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.instead_)}},
    // repeated .pg_query.Node actions = 6 [json_name = "actions"];
    {::_pbi::TcParser::FastMtR1,
     {50, 63, 2, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.actions_)}},
    // bool replace = 7 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RuleStmt, _impl_.replace_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.replace_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string rulename = 2 [json_name = "rulename"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.rulename_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CmdType event = 4 [json_name = "event"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.event_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool instead = 5 [json_name = "instead"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.instead_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node actions = 6 [json_name = "actions"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.actions_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool replace = 7 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.replace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\21\0\10\0\0\0\0\0"
    "pg_query.RuleStmt"
    "rulename"
  }},
};

::uint8_t* RuleStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RuleStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string rulename = 2 [json_name = "rulename"];
  if (!this->_internal_rulename().empty()) {
    const std::string& _s = this->_internal_rulename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.RuleStmt.rulename");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->_internal_event() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_event(), target);
  }

  // bool instead = 5 [json_name = "instead"];
  if (this->_internal_instead() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_instead(), target);
  }

  // repeated .pg_query.Node actions = 6 [json_name = "actions"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_actions_size()); i < n; i++) {
    const auto& repfield = this->_internal_actions().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(6, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_replace(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RuleStmt)
  return target;
}

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

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

  // repeated .pg_query.Node actions = 6 [json_name = "actions"];
  total_size += 1UL * this->_internal_actions_size();
  for (const auto& msg : this->_internal_actions()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string rulename = 2 [json_name = "rulename"];
  if (!this->_internal_rulename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_rulename());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node where_clause = 3 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

  }
  // .pg_query.CmdType event = 4 [json_name = "event"];
  if (this->_internal_event() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_event());
  }

  // bool instead = 5 [json_name = "instead"];
  if (this->_internal_instead() != 0) {
    total_size += 2;
  }

  // bool replace = 7 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RuleStmt::_class_data_ = {
    RuleStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RuleStmt::GetClassData() const {
  return &_class_data_;
}

void RuleStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RuleStmt*>(&to_msg);
  auto& from = static_cast<const RuleStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RuleStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_actions()->MergeFrom(
      from._internal_actions());
  if (!from._internal_rulename().empty()) {
    _this->_internal_set_rulename(from._internal_rulename());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
  }
  if (from._internal_event() != 0) {
    _this->_internal_set_event(from._internal_event());
  }
  if (from._internal_instead() != 0) {
    _this->_internal_set_instead(from._internal_instead());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RuleStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RuleStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RuleStmt::InternalSwap(RuleStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.actions_.InternalSwap(&other->_impl_.actions_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.rulename_, &other->_impl_.rulename_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.replace_)
      + sizeof(RuleStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(RuleStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata RuleStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[226]);
}
// ===================================================================

class NotifyStmt::_Internal {
 public:
};

NotifyStmt::NotifyStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.NotifyStmt)
}
inline PROTOBUF_NDEBUG_INLINE NotifyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : conditionname_(arena, from.conditionname_),
        payload_(arena, from.payload_),
        _cached_size_{0} {}

NotifyStmt::NotifyStmt(
    ::google::protobuf::Arena* arena,
    const NotifyStmt& from)
    : ::google::protobuf::Message(arena) {
  NotifyStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.NotifyStmt)
}
inline PROTOBUF_NDEBUG_INLINE NotifyStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : conditionname_(arena),
        payload_(arena),
        _cached_size_{0} {}

inline void NotifyStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
NotifyStmt::~NotifyStmt() {
  // @@protoc_insertion_point(destructor:pg_query.NotifyStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void NotifyStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.conditionname_.Destroy();
  _impl_.payload_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void NotifyStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.NotifyStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conditionname_.ClearToEmpty();
  _impl_.payload_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* NotifyStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 0, 48, 2> NotifyStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_NotifyStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string payload = 2 [json_name = "payload"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(NotifyStmt, _impl_.payload_)}},
    // string conditionname = 1 [json_name = "conditionname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(NotifyStmt, _impl_.conditionname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string conditionname = 1 [json_name = "conditionname"];
    {PROTOBUF_FIELD_OFFSET(NotifyStmt, _impl_.conditionname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string payload = 2 [json_name = "payload"];
    {PROTOBUF_FIELD_OFFSET(NotifyStmt, _impl_.payload_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\23\15\7\0\0\0\0\0"
    "pg_query.NotifyStmt"
    "conditionname"
    "payload"
  }},
};

::uint8_t* NotifyStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.NotifyStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    const std::string& _s = this->_internal_conditionname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.NotifyStmt.conditionname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string payload = 2 [json_name = "payload"];
  if (!this->_internal_payload().empty()) {
    const std::string& _s = this->_internal_payload();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.NotifyStmt.payload");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.NotifyStmt)
  return target;
}

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

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

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conditionname());
  }

  // string payload = 2 [json_name = "payload"];
  if (!this->_internal_payload().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_payload());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData NotifyStmt::_class_data_ = {
    NotifyStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* NotifyStmt::GetClassData() const {
  return &_class_data_;
}

void NotifyStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<NotifyStmt*>(&to_msg);
  auto& from = static_cast<const NotifyStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.NotifyStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  if (!from._internal_payload().empty()) {
    _this->_internal_set_payload(from._internal_payload());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool NotifyStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* NotifyStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void NotifyStmt::InternalSwap(NotifyStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conditionname_, &other->_impl_.conditionname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.payload_, &other->_impl_.payload_, arena);
}

::google::protobuf::Metadata NotifyStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[227]);
}
// ===================================================================

class ListenStmt::_Internal {
 public:
};

ListenStmt::ListenStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ListenStmt)
}
inline PROTOBUF_NDEBUG_INLINE ListenStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : conditionname_(arena, from.conditionname_),
        _cached_size_{0} {}

ListenStmt::ListenStmt(
    ::google::protobuf::Arena* arena,
    const ListenStmt& from)
    : ::google::protobuf::Message(arena) {
  ListenStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.ListenStmt)
}
inline PROTOBUF_NDEBUG_INLINE ListenStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : conditionname_(arena),
        _cached_size_{0} {}

inline void ListenStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ListenStmt::~ListenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ListenStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ListenStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.conditionname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ListenStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ListenStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conditionname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ListenStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 41, 2> ListenStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ListenStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string conditionname = 1 [json_name = "conditionname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ListenStmt, _impl_.conditionname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string conditionname = 1 [json_name = "conditionname"];
    {PROTOBUF_FIELD_OFFSET(ListenStmt, _impl_.conditionname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\23\15\0\0\0\0\0\0"
    "pg_query.ListenStmt"
    "conditionname"
  }},
};

::uint8_t* ListenStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ListenStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    const std::string& _s = this->_internal_conditionname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ListenStmt.conditionname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ListenStmt)
  return target;
}

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

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

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conditionname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ListenStmt::_class_data_ = {
    ListenStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ListenStmt::GetClassData() const {
  return &_class_data_;
}

void ListenStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ListenStmt*>(&to_msg);
  auto& from = static_cast<const ListenStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ListenStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ListenStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ListenStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ListenStmt::InternalSwap(ListenStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conditionname_, &other->_impl_.conditionname_, arena);
}

::google::protobuf::Metadata ListenStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[228]);
}
// ===================================================================

class UnlistenStmt::_Internal {
 public:
};

UnlistenStmt::UnlistenStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.UnlistenStmt)
}
inline PROTOBUF_NDEBUG_INLINE UnlistenStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : conditionname_(arena, from.conditionname_),
        _cached_size_{0} {}

UnlistenStmt::UnlistenStmt(
    ::google::protobuf::Arena* arena,
    const UnlistenStmt& from)
    : ::google::protobuf::Message(arena) {
  UnlistenStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.UnlistenStmt)
}
inline PROTOBUF_NDEBUG_INLINE UnlistenStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : conditionname_(arena),
        _cached_size_{0} {}

inline void UnlistenStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
UnlistenStmt::~UnlistenStmt() {
  // @@protoc_insertion_point(destructor:pg_query.UnlistenStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void UnlistenStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.conditionname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void UnlistenStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.UnlistenStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conditionname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* UnlistenStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 43, 2> UnlistenStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_UnlistenStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string conditionname = 1 [json_name = "conditionname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(UnlistenStmt, _impl_.conditionname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string conditionname = 1 [json_name = "conditionname"];
    {PROTOBUF_FIELD_OFFSET(UnlistenStmt, _impl_.conditionname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\25\15\0\0\0\0\0\0"
    "pg_query.UnlistenStmt"
    "conditionname"
  }},
};

::uint8_t* UnlistenStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.UnlistenStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    const std::string& _s = this->_internal_conditionname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.UnlistenStmt.conditionname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.UnlistenStmt)
  return target;
}

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

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

  // string conditionname = 1 [json_name = "conditionname"];
  if (!this->_internal_conditionname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conditionname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData UnlistenStmt::_class_data_ = {
    UnlistenStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* UnlistenStmt::GetClassData() const {
  return &_class_data_;
}

void UnlistenStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<UnlistenStmt*>(&to_msg);
  auto& from = static_cast<const UnlistenStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.UnlistenStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_conditionname().empty()) {
    _this->_internal_set_conditionname(from._internal_conditionname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool UnlistenStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* UnlistenStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void UnlistenStmt::InternalSwap(UnlistenStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conditionname_, &other->_impl_.conditionname_, arena);
}

::google::protobuf::Metadata UnlistenStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[229]);
}
// ===================================================================

class TransactionStmt::_Internal {
 public:
};

TransactionStmt::TransactionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.TransactionStmt)
}
inline PROTOBUF_NDEBUG_INLINE TransactionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        savepoint_name_(arena, from.savepoint_name_),
        gid_(arena, from.gid_),
        _cached_size_{0} {}

TransactionStmt::TransactionStmt(
    ::google::protobuf::Arena* arena,
    const TransactionStmt& from)
    : ::google::protobuf::Message(arena) {
  TransactionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.TransactionStmt)
}
inline PROTOBUF_NDEBUG_INLINE TransactionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        savepoint_name_(arena),
        gid_(arena),
        _cached_size_{0} {}

inline void TransactionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::location_));
}
TransactionStmt::~TransactionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.TransactionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void TransactionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.savepoint_name_.Destroy();
  _impl_.gid_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void TransactionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.TransactionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.savepoint_name_.ClearToEmpty();
  _impl_.gid_.ClearToEmpty();
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* TransactionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 1, 50, 2> TransactionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_TransactionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TransactionStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.kind_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.options_)}},
    // string savepoint_name = 3 [json_name = "savepoint_name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.savepoint_name_)}},
    // string gid = 4 [json_name = "gid"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.gid_)}},
    // bool chain = 5 [json_name = "chain"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(TransactionStmt, _impl_.chain_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.chain_)}},
    // int32 location = 6 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(TransactionStmt, _impl_.location_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.location_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string savepoint_name = 3 [json_name = "savepoint_name"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.savepoint_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string gid = 4 [json_name = "gid"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.gid_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool chain = 5 [json_name = "chain"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.chain_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 6 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\30\0\0\16\3\0\0\0"
    "pg_query.TransactionStmt"
    "savepoint_name"
    "gid"
  }},
};

::uint8_t* TransactionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.TransactionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (!this->_internal_savepoint_name().empty()) {
    const std::string& _s = this->_internal_savepoint_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.TransactionStmt.savepoint_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string gid = 4 [json_name = "gid"];
  if (!this->_internal_gid().empty()) {
    const std::string& _s = this->_internal_gid();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.TransactionStmt.gid");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool chain = 5 [json_name = "chain"];
  if (this->_internal_chain() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_chain(), target);
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<6>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.TransactionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string savepoint_name = 3 [json_name = "savepoint_name"];
  if (!this->_internal_savepoint_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_savepoint_name());
  }

  // string gid = 4 [json_name = "gid"];
  if (!this->_internal_gid().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_gid());
  }

  // .pg_query.TransactionStmtKind kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool chain = 5 [json_name = "chain"];
  if (this->_internal_chain() != 0) {
    total_size += 2;
  }

  // int32 location = 6 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData TransactionStmt::_class_data_ = {
    TransactionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* TransactionStmt::GetClassData() const {
  return &_class_data_;
}

void TransactionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<TransactionStmt*>(&to_msg);
  auto& from = static_cast<const TransactionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.TransactionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_savepoint_name().empty()) {
    _this->_internal_set_savepoint_name(from._internal_savepoint_name());
  }
  if (!from._internal_gid().empty()) {
    _this->_internal_set_gid(from._internal_gid());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_chain() != 0) {
    _this->_internal_set_chain(from._internal_chain());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool TransactionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* TransactionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void TransactionStmt::InternalSwap(TransactionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.savepoint_name_, &other->_impl_.savepoint_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.gid_, &other->_impl_.gid_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.location_)
      + sizeof(TransactionStmt::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(TransactionStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::google::protobuf::Metadata TransactionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[230]);
}
// ===================================================================

class CompositeTypeStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CompositeTypeStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& typevar(const CompositeTypeStmt* msg);
  static void set_has_typevar(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& CompositeTypeStmt::_Internal::typevar(const CompositeTypeStmt* msg) {
  return *msg->_impl_.typevar_;
}
CompositeTypeStmt::CompositeTypeStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CompositeTypeStmt)
}
inline PROTOBUF_NDEBUG_INLINE CompositeTypeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        coldeflist_{visibility, arena, from.coldeflist_} {}

CompositeTypeStmt::CompositeTypeStmt(
    ::google::protobuf::Arena* arena,
    const CompositeTypeStmt& from)
    : ::google::protobuf::Message(arena) {
  CompositeTypeStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.typevar_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.typevar_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.CompositeTypeStmt)
}
inline PROTOBUF_NDEBUG_INLINE CompositeTypeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        coldeflist_{visibility, arena} {}

inline void CompositeTypeStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.typevar_ = {};
}
CompositeTypeStmt::~CompositeTypeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CompositeTypeStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CompositeTypeStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.typevar_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CompositeTypeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CompositeTypeStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.coldeflist_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.typevar_ != nullptr);
    _impl_.typevar_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CompositeTypeStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> CompositeTypeStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CompositeTypeStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_.coldeflist_)}},
    // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_.typevar_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
    {PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_.typevar_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
    {PROTOBUF_FIELD_OFFSET(CompositeTypeStmt, _impl_.coldeflist_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CompositeTypeStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CompositeTypeStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::typevar(this),
        _Internal::typevar(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_coldeflist_size()); i < n; i++) {
    const auto& repfield = this->_internal_coldeflist().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CompositeTypeStmt)
  return target;
}

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

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

  // repeated .pg_query.Node coldeflist = 2 [json_name = "coldeflist"];
  total_size += 1UL * this->_internal_coldeflist_size();
  for (const auto& msg : this->_internal_coldeflist()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RangeVar typevar = 1 [json_name = "typevar"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.typevar_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CompositeTypeStmt::_class_data_ = {
    CompositeTypeStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CompositeTypeStmt::GetClassData() const {
  return &_class_data_;
}

void CompositeTypeStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CompositeTypeStmt*>(&to_msg);
  auto& from = static_cast<const CompositeTypeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CompositeTypeStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_coldeflist()->MergeFrom(
      from._internal_coldeflist());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_typevar()->::pg_query::RangeVar::MergeFrom(
        from._internal_typevar());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CompositeTypeStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CompositeTypeStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CompositeTypeStmt::InternalSwap(CompositeTypeStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.coldeflist_.InternalSwap(&other->_impl_.coldeflist_);
  swap(_impl_.typevar_, other->_impl_.typevar_);
}

::google::protobuf::Metadata CompositeTypeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[231]);
}
// ===================================================================

class CreateEnumStmt::_Internal {
 public:
};

CreateEnumStmt::CreateEnumStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateEnumStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateEnumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : type_name_{visibility, arena, from.type_name_},
        vals_{visibility, arena, from.vals_},
        _cached_size_{0} {}

CreateEnumStmt::CreateEnumStmt(
    ::google::protobuf::Arena* arena,
    const CreateEnumStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateEnumStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateEnumStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateEnumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : type_name_{visibility, arena},
        vals_{visibility, arena},
        _cached_size_{0} {}

inline void CreateEnumStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateEnumStmt::~CreateEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateEnumStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateEnumStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateEnumStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.vals_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateEnumStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> CreateEnumStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateEnumStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node vals = 2 [json_name = "vals"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateEnumStmt, _impl_.vals_)}},
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateEnumStmt, _impl_.type_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(CreateEnumStmt, _impl_.type_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node vals = 2 [json_name = "vals"];
    {PROTOBUF_FIELD_OFFSET(CreateEnumStmt, _impl_.vals_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CreateEnumStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateEnumStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node vals = 2 [json_name = "vals"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_vals_size()); i < n; i++) {
    const auto& repfield = this->_internal_vals().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateEnumStmt)
  return target;
}

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

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

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->_internal_type_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node vals = 2 [json_name = "vals"];
  total_size += 1UL * this->_internal_vals_size();
  for (const auto& msg : this->_internal_vals()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateEnumStmt::_class_data_ = {
    CreateEnumStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateEnumStmt::GetClassData() const {
  return &_class_data_;
}

void CreateEnumStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateEnumStmt*>(&to_msg);
  auto& from = static_cast<const CreateEnumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateEnumStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_type_name()->MergeFrom(
      from._internal_type_name());
  _this->_internal_mutable_vals()->MergeFrom(
      from._internal_vals());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateEnumStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateEnumStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateEnumStmt::InternalSwap(CreateEnumStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.vals_.InternalSwap(&other->_impl_.vals_);
}

::google::protobuf::Metadata CreateEnumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[232]);
}
// ===================================================================

class CreateRangeStmt::_Internal {
 public:
};

CreateRangeStmt::CreateRangeStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateRangeStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateRangeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : type_name_{visibility, arena, from.type_name_},
        params_{visibility, arena, from.params_},
        _cached_size_{0} {}

CreateRangeStmt::CreateRangeStmt(
    ::google::protobuf::Arena* arena,
    const CreateRangeStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateRangeStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateRangeStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateRangeStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : type_name_{visibility, arena},
        params_{visibility, arena},
        _cached_size_{0} {}

inline void CreateRangeStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateRangeStmt::~CreateRangeStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateRangeStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateRangeStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateRangeStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateRangeStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.params_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateRangeStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> CreateRangeStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateRangeStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node params = 2 [json_name = "params"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(CreateRangeStmt, _impl_.params_)}},
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateRangeStmt, _impl_.type_name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(CreateRangeStmt, _impl_.type_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node params = 2 [json_name = "params"];
    {PROTOBUF_FIELD_OFFSET(CreateRangeStmt, _impl_.params_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* CreateRangeStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateRangeStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateRangeStmt)
  return target;
}

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

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

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->_internal_type_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node params = 2 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_internal_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateRangeStmt::_class_data_ = {
    CreateRangeStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateRangeStmt::GetClassData() const {
  return &_class_data_;
}

void CreateRangeStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateRangeStmt*>(&to_msg);
  auto& from = static_cast<const CreateRangeStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateRangeStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_type_name()->MergeFrom(
      from._internal_type_name());
  _this->_internal_mutable_params()->MergeFrom(
      from._internal_params());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateRangeStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateRangeStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateRangeStmt::InternalSwap(CreateRangeStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
}

::google::protobuf::Metadata CreateRangeStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[233]);
}
// ===================================================================

class AlterEnumStmt::_Internal {
 public:
};

AlterEnumStmt::AlterEnumStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterEnumStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterEnumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : type_name_{visibility, arena, from.type_name_},
        old_val_(arena, from.old_val_),
        new_val_(arena, from.new_val_),
        new_val_neighbor_(arena, from.new_val_neighbor_),
        _cached_size_{0} {}

AlterEnumStmt::AlterEnumStmt(
    ::google::protobuf::Arena* arena,
    const AlterEnumStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterEnumStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, new_val_is_after_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, new_val_is_after_),
           offsetof(Impl_, skip_if_new_val_exists_) -
               offsetof(Impl_, new_val_is_after_) +
               sizeof(Impl_::skip_if_new_val_exists_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterEnumStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterEnumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : type_name_{visibility, arena},
        old_val_(arena),
        new_val_(arena),
        new_val_neighbor_(arena),
        _cached_size_{0} {}

inline void AlterEnumStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, new_val_is_after_),
           0,
           offsetof(Impl_, skip_if_new_val_exists_) -
               offsetof(Impl_, new_val_is_after_) +
               sizeof(Impl_::skip_if_new_val_exists_));
}
AlterEnumStmt::~AlterEnumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterEnumStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterEnumStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.old_val_.Destroy();
  _impl_.new_val_.Destroy();
  _impl_.new_val_neighbor_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterEnumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterEnumStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.type_name_.Clear();
  _impl_.old_val_.ClearToEmpty();
  _impl_.new_val_.ClearToEmpty();
  _impl_.new_val_neighbor_.ClearToEmpty();
  ::memset(&_impl_.new_val_is_after_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.skip_if_new_val_exists_) -
      reinterpret_cast<char*>(&_impl_.new_val_is_after_)) + sizeof(_impl_.skip_if_new_val_exists_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterEnumStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 1, 61, 2> AlterEnumStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterEnumStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.type_name_)}},
    // string old_val = 2 [json_name = "oldVal"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.old_val_)}},
    // string new_val = 3 [json_name = "newVal"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_)}},
    // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
    {::_pbi::TcParser::FastUS1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_neighbor_)}},
    // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterEnumStmt, _impl_.new_val_is_after_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_is_after_)}},
    // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterEnumStmt, _impl_.skip_if_new_val_exists_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.skip_if_new_val_exists_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.type_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string old_val = 2 [json_name = "oldVal"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.old_val_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string new_val = 3 [json_name = "newVal"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_neighbor_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_is_after_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
    {PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.skip_if_new_val_exists_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\26\0\7\7\20\0\0\0"
    "pg_query.AlterEnumStmt"
    "old_val"
    "new_val"
    "new_val_neighbor"
  }},
};

::uint8_t* AlterEnumStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterEnumStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_type_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_type_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string old_val = 2 [json_name = "oldVal"];
  if (!this->_internal_old_val().empty()) {
    const std::string& _s = this->_internal_old_val();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterEnumStmt.old_val");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string new_val = 3 [json_name = "newVal"];
  if (!this->_internal_new_val().empty()) {
    const std::string& _s = this->_internal_new_val();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterEnumStmt.new_val");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
  if (!this->_internal_new_val_neighbor().empty()) {
    const std::string& _s = this->_internal_new_val_neighbor();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterEnumStmt.new_val_neighbor");
    target = stream->WriteStringMaybeAliased(4, _s, target);
  }

  // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
  if (this->_internal_new_val_is_after() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_new_val_is_after(), target);
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->_internal_skip_if_new_val_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_skip_if_new_val_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterEnumStmt)
  return target;
}

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

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

  // repeated .pg_query.Node type_name = 1 [json_name = "typeName"];
  total_size += 1UL * this->_internal_type_name_size();
  for (const auto& msg : this->_internal_type_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string old_val = 2 [json_name = "oldVal"];
  if (!this->_internal_old_val().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_old_val());
  }

  // string new_val = 3 [json_name = "newVal"];
  if (!this->_internal_new_val().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_new_val());
  }

  // string new_val_neighbor = 4 [json_name = "newValNeighbor"];
  if (!this->_internal_new_val_neighbor().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_new_val_neighbor());
  }

  // bool new_val_is_after = 5 [json_name = "newValIsAfter"];
  if (this->_internal_new_val_is_after() != 0) {
    total_size += 2;
  }

  // bool skip_if_new_val_exists = 6 [json_name = "skipIfNewValExists"];
  if (this->_internal_skip_if_new_val_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterEnumStmt::_class_data_ = {
    AlterEnumStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterEnumStmt::GetClassData() const {
  return &_class_data_;
}

void AlterEnumStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterEnumStmt*>(&to_msg);
  auto& from = static_cast<const AlterEnumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterEnumStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_type_name()->MergeFrom(
      from._internal_type_name());
  if (!from._internal_old_val().empty()) {
    _this->_internal_set_old_val(from._internal_old_val());
  }
  if (!from._internal_new_val().empty()) {
    _this->_internal_set_new_val(from._internal_new_val());
  }
  if (!from._internal_new_val_neighbor().empty()) {
    _this->_internal_set_new_val_neighbor(from._internal_new_val_neighbor());
  }
  if (from._internal_new_val_is_after() != 0) {
    _this->_internal_set_new_val_is_after(from._internal_new_val_is_after());
  }
  if (from._internal_skip_if_new_val_exists() != 0) {
    _this->_internal_set_skip_if_new_val_exists(from._internal_skip_if_new_val_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterEnumStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterEnumStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterEnumStmt::InternalSwap(AlterEnumStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.type_name_.InternalSwap(&other->_impl_.type_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.old_val_, &other->_impl_.old_val_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.new_val_, &other->_impl_.new_val_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.new_val_neighbor_, &other->_impl_.new_val_neighbor_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.skip_if_new_val_exists_)
      + sizeof(AlterEnumStmt::_impl_.skip_if_new_val_exists_)
      - PROTOBUF_FIELD_OFFSET(AlterEnumStmt, _impl_.new_val_is_after_)>(
          reinterpret_cast<char*>(&_impl_.new_val_is_after_),
          reinterpret_cast<char*>(&other->_impl_.new_val_is_after_));
}

::google::protobuf::Metadata AlterEnumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[234]);
}
// ===================================================================

class ViewStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ViewStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& view(const ViewStmt* msg);
  static void set_has_view(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& query(const ViewStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& ViewStmt::_Internal::view(const ViewStmt* msg) {
  return *msg->_impl_.view_;
}
const ::pg_query::Node& ViewStmt::_Internal::query(const ViewStmt* msg) {
  return *msg->_impl_.query_;
}
ViewStmt::ViewStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ViewStmt)
}
inline PROTOBUF_NDEBUG_INLINE ViewStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        aliases_{visibility, arena, from.aliases_},
        options_{visibility, arena, from.options_} {}

ViewStmt::ViewStmt(
    ::google::protobuf::Arena* arena,
    const ViewStmt& from)
    : ::google::protobuf::Message(arena) {
  ViewStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.view_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.view_)
                : nullptr;
  _impl_.query_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, replace_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, replace_),
           offsetof(Impl_, with_check_option_) -
               offsetof(Impl_, replace_) +
               sizeof(Impl_::with_check_option_));

  // @@protoc_insertion_point(copy_constructor:pg_query.ViewStmt)
}
inline PROTOBUF_NDEBUG_INLINE ViewStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        aliases_{visibility, arena},
        options_{visibility, arena} {}

inline void ViewStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, view_),
           0,
           offsetof(Impl_, with_check_option_) -
               offsetof(Impl_, view_) +
               sizeof(Impl_::with_check_option_));
}
ViewStmt::~ViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ViewStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ViewStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.view_;
  delete _impl_.query_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ViewStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.aliases_.Clear();
  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.view_ != nullptr);
      _impl_.view_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.query_ != nullptr);
      _impl_.query_->Clear();
    }
  }
  ::memset(&_impl_.replace_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.with_check_option_) -
      reinterpret_cast<char*>(&_impl_.replace_)) + sizeof(_impl_.with_check_option_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ViewStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 6, 4, 0, 2> ViewStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_._has_bits_),
    0, // no _extensions_
    6, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967232,  // skipmap
    offsetof(decltype(_table_), field_entries),
    6,  // num_field_entries
    4,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ViewStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar view = 1 [json_name = "view"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.view_)}},
    // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.aliases_)}},
    // .pg_query.Node query = 3 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {26, 1, 2, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.query_)}},
    // bool replace = 4 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ViewStmt, _impl_.replace_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.replace_)}},
    // repeated .pg_query.Node options = 5 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 3, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.options_)}},
    // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ViewStmt, _impl_.with_check_option_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.with_check_option_)}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar view = 1 [json_name = "view"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.view_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.aliases_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node query = 3 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.query_), _Internal::kHasBitsOffset + 1, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool replace = 4 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.replace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node options = 5 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.options_), -1, 3,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
    {PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.with_check_option_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ViewStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ViewStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar view = 1 [json_name = "view"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::view(this),
        _Internal::view(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_aliases_size()); i < n; i++) {
    const auto& repfield = this->_internal_aliases().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // bool replace = 4 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_replace(), target);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->_internal_with_check_option() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        6, this->_internal_with_check_option(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ViewStmt)
  return target;
}

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

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

  // repeated .pg_query.Node aliases = 2 [json_name = "aliases"];
  total_size += 1UL * this->_internal_aliases_size();
  for (const auto& msg : this->_internal_aliases()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 5 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar view = 1 [json_name = "view"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.view_);
    }

    // .pg_query.Node query = 3 [json_name = "query"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
    }

  }
  // bool replace = 4 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  // .pg_query.ViewCheckOption with_check_option = 6 [json_name = "withCheckOption"];
  if (this->_internal_with_check_option() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_with_check_option());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ViewStmt::_class_data_ = {
    ViewStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ViewStmt::GetClassData() const {
  return &_class_data_;
}

void ViewStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ViewStmt*>(&to_msg);
  auto& from = static_cast<const ViewStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ViewStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_aliases()->MergeFrom(
      from._internal_aliases());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_view()->::pg_query::RangeVar::MergeFrom(
          from._internal_view());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
          from._internal_query());
    }
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_with_check_option() != 0) {
    _this->_internal_set_with_check_option(from._internal_with_check_option());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ViewStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ViewStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ViewStmt::InternalSwap(ViewStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.aliases_.InternalSwap(&other->_impl_.aliases_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.with_check_option_)
      + sizeof(ViewStmt::_impl_.with_check_option_)
      - PROTOBUF_FIELD_OFFSET(ViewStmt, _impl_.view_)>(
          reinterpret_cast<char*>(&_impl_.view_),
          reinterpret_cast<char*>(&other->_impl_.view_));
}

::google::protobuf::Metadata ViewStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[235]);
}
// ===================================================================

class LoadStmt::_Internal {
 public:
};

LoadStmt::LoadStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LoadStmt)
}
inline PROTOBUF_NDEBUG_INLINE LoadStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : filename_(arena, from.filename_),
        _cached_size_{0} {}

LoadStmt::LoadStmt(
    ::google::protobuf::Arena* arena,
    const LoadStmt& from)
    : ::google::protobuf::Message(arena) {
  LoadStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.LoadStmt)
}
inline PROTOBUF_NDEBUG_INLINE LoadStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : filename_(arena),
        _cached_size_{0} {}

inline void LoadStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
LoadStmt::~LoadStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LoadStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void LoadStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.filename_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void LoadStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LoadStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.filename_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* LoadStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 34, 2> LoadStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_LoadStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string filename = 1 [json_name = "filename"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(LoadStmt, _impl_.filename_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string filename = 1 [json_name = "filename"];
    {PROTOBUF_FIELD_OFFSET(LoadStmt, _impl_.filename_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\21\10\0\0\0\0\0\0"
    "pg_query.LoadStmt"
    "filename"
  }},
};

::uint8_t* LoadStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LoadStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string filename = 1 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    const std::string& _s = this->_internal_filename();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.LoadStmt.filename");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.LoadStmt)
  return target;
}

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

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

  // string filename = 1 [json_name = "filename"];
  if (!this->_internal_filename().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_filename());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData LoadStmt::_class_data_ = {
    LoadStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* LoadStmt::GetClassData() const {
  return &_class_data_;
}

void LoadStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<LoadStmt*>(&to_msg);
  auto& from = static_cast<const LoadStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LoadStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_filename().empty()) {
    _this->_internal_set_filename(from._internal_filename());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool LoadStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* LoadStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void LoadStmt::InternalSwap(LoadStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.filename_, &other->_impl_.filename_, arena);
}

::google::protobuf::Metadata LoadStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[236]);
}
// ===================================================================

class CreatedbStmt::_Internal {
 public:
};

CreatedbStmt::CreatedbStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatedbStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatedbStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        dbname_(arena, from.dbname_),
        _cached_size_{0} {}

CreatedbStmt::CreatedbStmt(
    ::google::protobuf::Arena* arena,
    const CreatedbStmt& from)
    : ::google::protobuf::Message(arena) {
  CreatedbStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreatedbStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatedbStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        dbname_(arena),
        _cached_size_{0} {}

inline void CreatedbStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreatedbStmt::~CreatedbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatedbStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreatedbStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.dbname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreatedbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatedbStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreatedbStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 36, 2> CreatedbStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreatedbStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreatedbStmt, _impl_.options_)}},
    // string dbname = 1 [json_name = "dbname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreatedbStmt, _impl_.dbname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string dbname = 1 [json_name = "dbname"];
    {PROTOBUF_FIELD_OFFSET(CreatedbStmt, _impl_.dbname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreatedbStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\25\6\0\0\0\0\0\0"
    "pg_query.CreatedbStmt"
    "dbname"
  }},
};

::uint8_t* CreatedbStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatedbStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    const std::string& _s = this->_internal_dbname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreatedbStmt.dbname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreatedbStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreatedbStmt::_class_data_ = {
    CreatedbStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreatedbStmt::GetClassData() const {
  return &_class_data_;
}

void CreatedbStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreatedbStmt*>(&to_msg);
  auto& from = static_cast<const CreatedbStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatedbStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreatedbStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreatedbStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreatedbStmt::InternalSwap(CreatedbStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dbname_, &other->_impl_.dbname_, arena);
}

::google::protobuf::Metadata CreatedbStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[237]);
}
// ===================================================================

class AlterDatabaseStmt::_Internal {
 public:
};

AlterDatabaseStmt::AlterDatabaseStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        dbname_(arena, from.dbname_),
        _cached_size_{0} {}

AlterDatabaseStmt::AlterDatabaseStmt(
    ::google::protobuf::Arena* arena,
    const AlterDatabaseStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterDatabaseStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        dbname_(arena),
        _cached_size_{0} {}

inline void AlterDatabaseStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterDatabaseStmt::~AlterDatabaseStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterDatabaseStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.dbname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterDatabaseStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterDatabaseStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 41, 2> AlterDatabaseStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterDatabaseStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDatabaseStmt, _impl_.options_)}},
    // string dbname = 1 [json_name = "dbname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDatabaseStmt, _impl_.dbname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string dbname = 1 [json_name = "dbname"];
    {PROTOBUF_FIELD_OFFSET(AlterDatabaseStmt, _impl_.dbname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterDatabaseStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\32\6\0\0\0\0\0\0"
    "pg_query.AlterDatabaseStmt"
    "dbname"
  }},
};

::uint8_t* AlterDatabaseStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    const std::string& _s = this->_internal_dbname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterDatabaseStmt.dbname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterDatabaseStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterDatabaseStmt::_class_data_ = {
    AlterDatabaseStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterDatabaseStmt::GetClassData() const {
  return &_class_data_;
}

void AlterDatabaseStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterDatabaseStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterDatabaseStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterDatabaseStmt::InternalSwap(AlterDatabaseStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dbname_, &other->_impl_.dbname_, arena);
}

::google::protobuf::Metadata AlterDatabaseStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[238]);
}
// ===================================================================

class AlterDatabaseRefreshCollStmt::_Internal {
 public:
};

AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseRefreshCollStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseRefreshCollStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : dbname_(arena, from.dbname_),
        _cached_size_{0} {}

AlterDatabaseRefreshCollStmt::AlterDatabaseRefreshCollStmt(
    ::google::protobuf::Arena* arena,
    const AlterDatabaseRefreshCollStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterDatabaseRefreshCollStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseRefreshCollStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseRefreshCollStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : dbname_(arena),
        _cached_size_{0} {}

inline void AlterDatabaseRefreshCollStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterDatabaseRefreshCollStmt::~AlterDatabaseRefreshCollStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseRefreshCollStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterDatabaseRefreshCollStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.dbname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterDatabaseRefreshCollStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseRefreshCollStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dbname_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterDatabaseRefreshCollStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 52, 2> AlterDatabaseRefreshCollStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_AlterDatabaseRefreshCollStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // string dbname = 1 [json_name = "dbname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDatabaseRefreshCollStmt, _impl_.dbname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string dbname = 1 [json_name = "dbname"];
    {PROTOBUF_FIELD_OFFSET(AlterDatabaseRefreshCollStmt, _impl_.dbname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
  }},
  // no aux_entries
  {{
    "\45\6\0\0\0\0\0\0"
    "pg_query.AlterDatabaseRefreshCollStmt"
    "dbname"
  }},
};

::uint8_t* AlterDatabaseRefreshCollStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseRefreshCollStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    const std::string& _s = this->_internal_dbname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterDatabaseRefreshCollStmt.dbname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterDatabaseRefreshCollStmt)
  return target;
}

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

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

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_dbname());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterDatabaseRefreshCollStmt::_class_data_ = {
    AlterDatabaseRefreshCollStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterDatabaseRefreshCollStmt::GetClassData() const {
  return &_class_data_;
}

void AlterDatabaseRefreshCollStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseRefreshCollStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseRefreshCollStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseRefreshCollStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterDatabaseRefreshCollStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterDatabaseRefreshCollStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterDatabaseRefreshCollStmt::InternalSwap(AlterDatabaseRefreshCollStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dbname_, &other->_impl_.dbname_, arena);
}

::google::protobuf::Metadata AlterDatabaseRefreshCollStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[239]);
}
// ===================================================================

class AlterDatabaseSetStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterDatabaseSetStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_._has_bits_);
  static const ::pg_query::VariableSetStmt& setstmt(const AlterDatabaseSetStmt* msg);
  static void set_has_setstmt(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::VariableSetStmt& AlterDatabaseSetStmt::_Internal::setstmt(const AlterDatabaseSetStmt* msg) {
  return *msg->_impl_.setstmt_;
}
AlterDatabaseSetStmt::AlterDatabaseSetStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterDatabaseSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        dbname_(arena, from.dbname_) {}

AlterDatabaseSetStmt::AlterDatabaseSetStmt(
    ::google::protobuf::Arena* arena,
    const AlterDatabaseSetStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterDatabaseSetStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.setstmt_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::VariableSetStmt>(arena, *from._impl_.setstmt_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterDatabaseSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterDatabaseSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        dbname_(arena) {}

inline void AlterDatabaseSetStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.setstmt_ = {};
}
AlterDatabaseSetStmt::~AlterDatabaseSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterDatabaseSetStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterDatabaseSetStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.dbname_.Destroy();
  delete _impl_.setstmt_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterDatabaseSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterDatabaseSetStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dbname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.setstmt_ != nullptr);
    _impl_.setstmt_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterDatabaseSetStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 44, 2> AlterDatabaseSetStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterDatabaseSetStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_.setstmt_)}},
    // string dbname = 1 [json_name = "dbname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_.dbname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string dbname = 1 [json_name = "dbname"];
    {PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_.dbname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
    {PROTOBUF_FIELD_OFFSET(AlterDatabaseSetStmt, _impl_.setstmt_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::VariableSetStmt>()},
  }}, {{
    "\35\6\0\0\0\0\0\0"
    "pg_query.AlterDatabaseSetStmt"
    "dbname"
  }},
};

::uint8_t* AlterDatabaseSetStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterDatabaseSetStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    const std::string& _s = this->_internal_dbname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterDatabaseSetStmt.dbname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterDatabaseSetStmt)
  return target;
}

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

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

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_dbname());
  }

  // .pg_query.VariableSetStmt setstmt = 2 [json_name = "setstmt"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.setstmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterDatabaseSetStmt::_class_data_ = {
    AlterDatabaseSetStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterDatabaseSetStmt::GetClassData() const {
  return &_class_data_;
}

void AlterDatabaseSetStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterDatabaseSetStmt*>(&to_msg);
  auto& from = static_cast<const AlterDatabaseSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterDatabaseSetStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
        from._internal_setstmt());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterDatabaseSetStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterDatabaseSetStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterDatabaseSetStmt::InternalSwap(AlterDatabaseSetStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dbname_, &other->_impl_.dbname_, arena);
  swap(_impl_.setstmt_, other->_impl_.setstmt_);
}

::google::protobuf::Metadata AlterDatabaseSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[240]);
}
// ===================================================================

class DropdbStmt::_Internal {
 public:
};

DropdbStmt::DropdbStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropdbStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropdbStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        dbname_(arena, from.dbname_),
        _cached_size_{0} {}

DropdbStmt::DropdbStmt(
    ::google::protobuf::Arena* arena,
    const DropdbStmt& from)
    : ::google::protobuf::Message(arena) {
  DropdbStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.missing_ok_ = from._impl_.missing_ok_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DropdbStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropdbStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        dbname_(arena),
        _cached_size_{0} {}

inline void DropdbStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.missing_ok_ = {};
}
DropdbStmt::~DropdbStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropdbStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropdbStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.dbname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropdbStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropdbStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.dbname_.ClearToEmpty();
  _impl_.missing_ok_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropdbStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 34, 2> DropdbStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DropdbStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string dbname = 1 [json_name = "dbname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.dbname_)}},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropdbStmt, _impl_.missing_ok_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.missing_ok_)}},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.options_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string dbname = 1 [json_name = "dbname"];
    {PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.dbname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // repeated .pg_query.Node options = 3 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(DropdbStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\23\6\0\0\0\0\0\0"
    "pg_query.DropdbStmt"
    "dbname"
  }},
};

::uint8_t* DropdbStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropdbStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    const std::string& _s = this->_internal_dbname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DropdbStmt.dbname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_missing_ok(), target);
  }

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropdbStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 3 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string dbname = 1 [json_name = "dbname"];
  if (!this->_internal_dbname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_dbname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropdbStmt::_class_data_ = {
    DropdbStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropdbStmt::GetClassData() const {
  return &_class_data_;
}

void DropdbStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropdbStmt*>(&to_msg);
  auto& from = static_cast<const DropdbStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropdbStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_dbname().empty()) {
    _this->_internal_set_dbname(from._internal_dbname());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropdbStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropdbStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropdbStmt::InternalSwap(DropdbStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.dbname_, &other->_impl_.dbname_, arena);
        swap(_impl_.missing_ok_, other->_impl_.missing_ok_);
}

::google::protobuf::Metadata DropdbStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[241]);
}
// ===================================================================

class AlterSystemStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<AlterSystemStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(AlterSystemStmt, _impl_._has_bits_);
  static const ::pg_query::VariableSetStmt& setstmt(const AlterSystemStmt* msg);
  static void set_has_setstmt(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::VariableSetStmt& AlterSystemStmt::_Internal::setstmt(const AlterSystemStmt* msg) {
  return *msg->_impl_.setstmt_;
}
AlterSystemStmt::AlterSystemStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSystemStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSystemStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

AlterSystemStmt::AlterSystemStmt(
    ::google::protobuf::Arena* arena,
    const AlterSystemStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterSystemStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.setstmt_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::VariableSetStmt>(arena, *from._impl_.setstmt_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSystemStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSystemStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void AlterSystemStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.setstmt_ = {};
}
AlterSystemStmt::~AlterSystemStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSystemStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterSystemStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.setstmt_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterSystemStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSystemStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.setstmt_ != nullptr);
    _impl_.setstmt_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterSystemStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 1, 0, 2> AlterSystemStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(AlterSystemStmt, _impl_._has_bits_),
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterSystemStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(AlterSystemStmt, _impl_.setstmt_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
    {PROTOBUF_FIELD_OFFSET(AlterSystemStmt, _impl_.setstmt_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::VariableSetStmt>()},
  }}, {{
  }},
};

::uint8_t* AlterSystemStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSystemStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::setstmt(this),
        _Internal::setstmt(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterSystemStmt)
  return target;
}

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

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

  // .pg_query.VariableSetStmt setstmt = 1 [json_name = "setstmt"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.setstmt_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterSystemStmt::_class_data_ = {
    AlterSystemStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterSystemStmt::GetClassData() const {
  return &_class_data_;
}

void AlterSystemStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterSystemStmt*>(&to_msg);
  auto& from = static_cast<const AlterSystemStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSystemStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_setstmt()->::pg_query::VariableSetStmt::MergeFrom(
        from._internal_setstmt());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterSystemStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterSystemStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterSystemStmt::InternalSwap(AlterSystemStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  swap(_impl_.setstmt_, other->_impl_.setstmt_);
}

::google::protobuf::Metadata AlterSystemStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[242]);
}
// ===================================================================

class ClusterStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ClusterStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const ClusterStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& ClusterStmt::_Internal::relation(const ClusterStmt* msg) {
  return *msg->_impl_.relation_;
}
ClusterStmt::ClusterStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ClusterStmt)
}
inline PROTOBUF_NDEBUG_INLINE ClusterStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        params_{visibility, arena, from.params_},
        indexname_(arena, from.indexname_) {}

ClusterStmt::ClusterStmt(
    ::google::protobuf::Arena* arena,
    const ClusterStmt& from)
    : ::google::protobuf::Message(arena) {
  ClusterStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.ClusterStmt)
}
inline PROTOBUF_NDEBUG_INLINE ClusterStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        params_{visibility, arena},
        indexname_(arena) {}

inline void ClusterStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.relation_ = {};
}
ClusterStmt::~ClusterStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ClusterStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ClusterStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.indexname_.Destroy();
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ClusterStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ClusterStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.params_.Clear();
  _impl_.indexname_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ClusterStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 38, 2> ClusterStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ClusterStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.relation_)}},
    // string indexname = 2 [json_name = "indexname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.indexname_)}},
    // repeated .pg_query.Node params = 3 [json_name = "params"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.params_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string indexname = 2 [json_name = "indexname"];
    {PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.indexname_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node params = 3 [json_name = "params"];
    {PROTOBUF_FIELD_OFFSET(ClusterStmt, _impl_.params_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\0\11\0\0\0\0\0"
    "pg_query.ClusterStmt"
    "indexname"
  }},
};

::uint8_t* ClusterStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ClusterStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string indexname = 2 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    const std::string& _s = this->_internal_indexname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ClusterStmt.indexname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node params = 3 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ClusterStmt)
  return target;
}

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

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

  // repeated .pg_query.Node params = 3 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_internal_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string indexname = 2 [json_name = "indexname"];
  if (!this->_internal_indexname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_indexname());
  }

  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ClusterStmt::_class_data_ = {
    ClusterStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ClusterStmt::GetClassData() const {
  return &_class_data_;
}

void ClusterStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ClusterStmt*>(&to_msg);
  auto& from = static_cast<const ClusterStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ClusterStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_params()->MergeFrom(
      from._internal_params());
  if (!from._internal_indexname().empty()) {
    _this->_internal_set_indexname(from._internal_indexname());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ClusterStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ClusterStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ClusterStmt::InternalSwap(ClusterStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.indexname_, &other->_impl_.indexname_, arena);
  swap(_impl_.relation_, other->_impl_.relation_);
}

::google::protobuf::Metadata ClusterStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[243]);
}
// ===================================================================

class VacuumStmt::_Internal {
 public:
};

VacuumStmt::VacuumStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumStmt)
}
inline PROTOBUF_NDEBUG_INLINE VacuumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        rels_{visibility, arena, from.rels_},
        _cached_size_{0} {}

VacuumStmt::VacuumStmt(
    ::google::protobuf::Arena* arena,
    const VacuumStmt& from)
    : ::google::protobuf::Message(arena) {
  VacuumStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.is_vacuumcmd_ = from._impl_.is_vacuumcmd_;

  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumStmt)
}
inline PROTOBUF_NDEBUG_INLINE VacuumStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        rels_{visibility, arena},
        _cached_size_{0} {}

inline void VacuumStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.is_vacuumcmd_ = {};
}
VacuumStmt::~VacuumStmt() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void VacuumStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void VacuumStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.rels_.Clear();
  _impl_.is_vacuumcmd_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* VacuumStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> VacuumStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_VacuumStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node options = 1 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.options_)}},
    // repeated .pg_query.Node rels = 2 [json_name = "rels"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.rels_)}},
    // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(VacuumStmt, _impl_.is_vacuumcmd_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.is_vacuumcmd_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node options = 1 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node rels = 2 [json_name = "rels"];
    {PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.rels_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
    {PROTOBUF_FIELD_OFFSET(VacuumStmt, _impl_.is_vacuumcmd_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* VacuumStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node rels = 2 [json_name = "rels"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_rels_size()); i < n; i++) {
    const auto& repfield = this->_internal_rels().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->_internal_is_vacuumcmd() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_is_vacuumcmd(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.VacuumStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 1 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node rels = 2 [json_name = "rels"];
  total_size += 1UL * this->_internal_rels_size();
  for (const auto& msg : this->_internal_rels()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool is_vacuumcmd = 3 [json_name = "is_vacuumcmd"];
  if (this->_internal_is_vacuumcmd() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData VacuumStmt::_class_data_ = {
    VacuumStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* VacuumStmt::GetClassData() const {
  return &_class_data_;
}

void VacuumStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<VacuumStmt*>(&to_msg);
  auto& from = static_cast<const VacuumStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_mutable_rels()->MergeFrom(
      from._internal_rels());
  if (from._internal_is_vacuumcmd() != 0) {
    _this->_internal_set_is_vacuumcmd(from._internal_is_vacuumcmd());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool VacuumStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* VacuumStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void VacuumStmt::InternalSwap(VacuumStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.rels_.InternalSwap(&other->_impl_.rels_);
        swap(_impl_.is_vacuumcmd_, other->_impl_.is_vacuumcmd_);
}

::google::protobuf::Metadata VacuumStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[244]);
}
// ===================================================================

class VacuumRelation::_Internal {
 public:
  using HasBits = decltype(std::declval<VacuumRelation>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const VacuumRelation* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& VacuumRelation::_Internal::relation(const VacuumRelation* msg) {
  return *msg->_impl_.relation_;
}
VacuumRelation::VacuumRelation(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.VacuumRelation)
}
inline PROTOBUF_NDEBUG_INLINE VacuumRelation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        va_cols_{visibility, arena, from.va_cols_} {}

VacuumRelation::VacuumRelation(
    ::google::protobuf::Arena* arena,
    const VacuumRelation& from)
    : ::google::protobuf::Message(arena) {
  VacuumRelation* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.oid_ = from._impl_.oid_;

  // @@protoc_insertion_point(copy_constructor:pg_query.VacuumRelation)
}
inline PROTOBUF_NDEBUG_INLINE VacuumRelation::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        va_cols_{visibility, arena} {}

inline void VacuumRelation::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, oid_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::oid_));
}
VacuumRelation::~VacuumRelation() {
  // @@protoc_insertion_point(destructor:pg_query.VacuumRelation)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void VacuumRelation::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void VacuumRelation::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.VacuumRelation)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.va_cols_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  _impl_.oid_ = 0u;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* VacuumRelation::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 0, 2> VacuumRelation::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_VacuumRelation_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.relation_)}},
    // uint32 oid = 2 [json_name = "oid"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(VacuumRelation, _impl_.oid_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.oid_)}},
    // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.va_cols_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // uint32 oid = 2 [json_name = "oid"];
    {PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.oid_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUInt32)},
    // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
    {PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.va_cols_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* VacuumRelation::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.VacuumRelation)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->_internal_oid() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteUInt32ToArray(
        2, this->_internal_oid(), target);
  }

  // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_va_cols_size()); i < n; i++) {
    const auto& repfield = this->_internal_va_cols().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.VacuumRelation)
  return target;
}

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

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

  // repeated .pg_query.Node va_cols = 3 [json_name = "va_cols"];
  total_size += 1UL * this->_internal_va_cols_size();
  for (const auto& msg : this->_internal_va_cols()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  // uint32 oid = 2 [json_name = "oid"];
  if (this->_internal_oid() != 0) {
    total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne(
        this->_internal_oid());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData VacuumRelation::_class_data_ = {
    VacuumRelation::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* VacuumRelation::GetClassData() const {
  return &_class_data_;
}

void VacuumRelation::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<VacuumRelation*>(&to_msg);
  auto& from = static_cast<const VacuumRelation&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.VacuumRelation)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_va_cols()->MergeFrom(
      from._internal_va_cols());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_oid() != 0) {
    _this->_internal_set_oid(from._internal_oid());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool VacuumRelation::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* VacuumRelation::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void VacuumRelation::InternalSwap(VacuumRelation* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.va_cols_.InternalSwap(&other->_impl_.va_cols_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.oid_)
      + sizeof(VacuumRelation::_impl_.oid_)
      - PROTOBUF_FIELD_OFFSET(VacuumRelation, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata VacuumRelation::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[245]);
}
// ===================================================================

class ExplainStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ExplainStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_._has_bits_);
  static const ::pg_query::Node& query(const ExplainStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& ExplainStmt::_Internal::query(const ExplainStmt* msg) {
  return *msg->_impl_.query_;
}
ExplainStmt::ExplainStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExplainStmt)
}
inline PROTOBUF_NDEBUG_INLINE ExplainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        options_{visibility, arena, from.options_} {}

ExplainStmt::ExplainStmt(
    ::google::protobuf::Arena* arena,
    const ExplainStmt& from)
    : ::google::protobuf::Message(arena) {
  ExplainStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.query_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.ExplainStmt)
}
inline PROTOBUF_NDEBUG_INLINE ExplainStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        options_{visibility, arena} {}

inline void ExplainStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.query_ = {};
}
ExplainStmt::~ExplainStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExplainStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ExplainStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.query_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ExplainStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExplainStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.query_ != nullptr);
    _impl_.query_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ExplainStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> ExplainStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ExplainStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_.options_)}},
    // .pg_query.Node query = 1 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_.query_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node query = 1 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_.query_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(ExplainStmt, _impl_.options_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ExplainStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExplainStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node query = 1 [json_name = "query"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ExplainStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.Node query = 1 [json_name = "query"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ExplainStmt::_class_data_ = {
    ExplainStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ExplainStmt::GetClassData() const {
  return &_class_data_;
}

void ExplainStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ExplainStmt*>(&to_msg);
  auto& from = static_cast<const ExplainStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExplainStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ExplainStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ExplainStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ExplainStmt::InternalSwap(ExplainStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  swap(_impl_.query_, other->_impl_.query_);
}

::google::protobuf::Metadata ExplainStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[246]);
}
// ===================================================================

class CreateTableAsStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateTableAsStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_._has_bits_);
  static const ::pg_query::Node& query(const CreateTableAsStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::IntoClause& into(const CreateTableAsStmt* msg);
  static void set_has_into(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::Node& CreateTableAsStmt::_Internal::query(const CreateTableAsStmt* msg) {
  return *msg->_impl_.query_;
}
const ::pg_query::IntoClause& CreateTableAsStmt::_Internal::into(const CreateTableAsStmt* msg) {
  return *msg->_impl_.into_;
}
CreateTableAsStmt::CreateTableAsStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTableAsStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTableAsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CreateTableAsStmt::CreateTableAsStmt(
    ::google::protobuf::Arena* arena,
    const CreateTableAsStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateTableAsStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.query_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;
  _impl_.into_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::IntoClause>(arena, *from._impl_.into_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, objtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, objtype_),
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, objtype_) +
               sizeof(Impl_::if_not_exists_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTableAsStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTableAsStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CreateTableAsStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, query_),
           0,
           offsetof(Impl_, if_not_exists_) -
               offsetof(Impl_, query_) +
               sizeof(Impl_::if_not_exists_));
}
CreateTableAsStmt::~CreateTableAsStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTableAsStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateTableAsStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.query_;
  delete _impl_.into_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateTableAsStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTableAsStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.query_ != nullptr);
      _impl_.query_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.into_ != nullptr);
      _impl_.into_->Clear();
    }
  }
  ::memset(&_impl_.objtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.if_not_exists_) -
      reinterpret_cast<char*>(&_impl_.objtype_)) + sizeof(_impl_.if_not_exists_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateTableAsStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 0, 2> CreateTableAsStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateTableAsStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Node query = 1 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.query_)}},
    // .pg_query.IntoClause into = 2 [json_name = "into"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.into_)}},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateTableAsStmt, _impl_.objtype_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.objtype_)}},
    // bool is_select_into = 4 [json_name = "is_select_into"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTableAsStmt, _impl_.is_select_into_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.is_select_into_)}},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTableAsStmt, _impl_.if_not_exists_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.if_not_exists_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.Node query = 1 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.query_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.IntoClause into = 2 [json_name = "into"];
    {PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.into_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
    {PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.objtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool is_select_into = 4 [json_name = "is_select_into"];
    {PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.is_select_into_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool if_not_exists = 5 [json_name = "if_not_exists"];
    {PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.if_not_exists_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::IntoClause>()},
  }}, {{
  }},
};

::uint8_t* CreateTableAsStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTableAsStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node query = 1 [json_name = "query"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  // .pg_query.IntoClause into = 2 [json_name = "into"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::into(this),
        _Internal::into(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_objtype(), target);
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->_internal_is_select_into() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_is_select_into(), target);
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_if_not_exists(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateTableAsStmt)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.Node query = 1 [json_name = "query"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
    }

    // .pg_query.IntoClause into = 2 [json_name = "into"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.into_);
    }

  }
  // .pg_query.ObjectType objtype = 3 [json_name = "objtype"];
  if (this->_internal_objtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_objtype());
  }

  // bool is_select_into = 4 [json_name = "is_select_into"];
  if (this->_internal_is_select_into() != 0) {
    total_size += 2;
  }

  // bool if_not_exists = 5 [json_name = "if_not_exists"];
  if (this->_internal_if_not_exists() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateTableAsStmt::_class_data_ = {
    CreateTableAsStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateTableAsStmt::GetClassData() const {
  return &_class_data_;
}

void CreateTableAsStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateTableAsStmt*>(&to_msg);
  auto& from = static_cast<const CreateTableAsStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTableAsStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
          from._internal_query());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_into()->::pg_query::IntoClause::MergeFrom(
          from._internal_into());
    }
  }
  if (from._internal_objtype() != 0) {
    _this->_internal_set_objtype(from._internal_objtype());
  }
  if (from._internal_is_select_into() != 0) {
    _this->_internal_set_is_select_into(from._internal_is_select_into());
  }
  if (from._internal_if_not_exists() != 0) {
    _this->_internal_set_if_not_exists(from._internal_if_not_exists());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateTableAsStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateTableAsStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateTableAsStmt::InternalSwap(CreateTableAsStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.if_not_exists_)
      + sizeof(CreateTableAsStmt::_impl_.if_not_exists_)
      - PROTOBUF_FIELD_OFFSET(CreateTableAsStmt, _impl_.query_)>(
          reinterpret_cast<char*>(&_impl_.query_),
          reinterpret_cast<char*>(&other->_impl_.query_));
}

::google::protobuf::Metadata CreateTableAsStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[247]);
}
// ===================================================================

class RefreshMatViewStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<RefreshMatViewStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const RefreshMatViewStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& RefreshMatViewStmt::_Internal::relation(const RefreshMatViewStmt* msg) {
  return *msg->_impl_.relation_;
}
RefreshMatViewStmt::RefreshMatViewStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.RefreshMatViewStmt)
}
inline PROTOBUF_NDEBUG_INLINE RefreshMatViewStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

RefreshMatViewStmt::RefreshMatViewStmt(
    ::google::protobuf::Arena* arena,
    const RefreshMatViewStmt& from)
    : ::google::protobuf::Message(arena) {
  RefreshMatViewStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, concurrent_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, concurrent_),
           offsetof(Impl_, skip_data_) -
               offsetof(Impl_, concurrent_) +
               sizeof(Impl_::skip_data_));

  // @@protoc_insertion_point(copy_constructor:pg_query.RefreshMatViewStmt)
}
inline PROTOBUF_NDEBUG_INLINE RefreshMatViewStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void RefreshMatViewStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, skip_data_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::skip_data_));
}
RefreshMatViewStmt::~RefreshMatViewStmt() {
  // @@protoc_insertion_point(destructor:pg_query.RefreshMatViewStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void RefreshMatViewStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void RefreshMatViewStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.RefreshMatViewStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  ::memset(&_impl_.concurrent_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.skip_data_) -
      reinterpret_cast<char*>(&_impl_.concurrent_)) + sizeof(_impl_.skip_data_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* RefreshMatViewStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> RefreshMatViewStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_RefreshMatViewStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool concurrent = 1 [json_name = "concurrent"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RefreshMatViewStmt, _impl_.concurrent_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.concurrent_)}},
    // bool skip_data = 2 [json_name = "skipData"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(RefreshMatViewStmt, _impl_.skip_data_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.skip_data_)}},
    // .pg_query.RangeVar relation = 3 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.relation_)}},
  }}, {{
    65535, 65535
  }}, {{
    // bool concurrent = 1 [json_name = "concurrent"];
    {PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.concurrent_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool skip_data = 2 [json_name = "skipData"];
    {PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.skip_data_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.RangeVar relation = 3 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
  }}, {{
  }},
};

::uint8_t* RefreshMatViewStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.RefreshMatViewStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_concurrent(), target);
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_skip_data(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.RefreshMatViewStmt)
  return target;
}

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

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

  // .pg_query.RangeVar relation = 3 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  // bool concurrent = 1 [json_name = "concurrent"];
  if (this->_internal_concurrent() != 0) {
    total_size += 2;
  }

  // bool skip_data = 2 [json_name = "skipData"];
  if (this->_internal_skip_data() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData RefreshMatViewStmt::_class_data_ = {
    RefreshMatViewStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* RefreshMatViewStmt::GetClassData() const {
  return &_class_data_;
}

void RefreshMatViewStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<RefreshMatViewStmt*>(&to_msg);
  auto& from = static_cast<const RefreshMatViewStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.RefreshMatViewStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_concurrent() != 0) {
    _this->_internal_set_concurrent(from._internal_concurrent());
  }
  if (from._internal_skip_data() != 0) {
    _this->_internal_set_skip_data(from._internal_skip_data());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool RefreshMatViewStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* RefreshMatViewStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void RefreshMatViewStmt::InternalSwap(RefreshMatViewStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.skip_data_)
      + sizeof(RefreshMatViewStmt::_impl_.skip_data_)
      - PROTOBUF_FIELD_OFFSET(RefreshMatViewStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata RefreshMatViewStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[248]);
}
// ===================================================================

class CheckPointStmt::_Internal {
 public:
};

CheckPointStmt::CheckPointStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  // @@protoc_insertion_point(arena_constructor:pg_query.CheckPointStmt)
}
CheckPointStmt::CheckPointStmt(
    ::google::protobuf::Arena* arena,
    const CheckPointStmt& from)
    : ::google::protobuf::internal::ZeroFieldsBase(arena) {
  CheckPointStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CheckPointStmt)
}









::google::protobuf::Metadata CheckPointStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[249]);
}
// ===================================================================

class DiscardStmt::_Internal {
 public:
};

DiscardStmt::DiscardStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DiscardStmt)
}
DiscardStmt::DiscardStmt(
    ::google::protobuf::Arena* arena, const DiscardStmt& from)
    : DiscardStmt(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE DiscardStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void DiscardStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.target_ = {};
}
DiscardStmt::~DiscardStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DiscardStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DiscardStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DiscardStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DiscardStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.target_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DiscardStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<0, 1, 0, 0, 2> DiscardStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    1, 0,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967294,  // skipmap
    offsetof(decltype(_table_), field_entries),
    1,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_DiscardStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.DiscardMode target = 1 [json_name = "target"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DiscardStmt, _impl_.target_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(DiscardStmt, _impl_.target_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.DiscardMode target = 1 [json_name = "target"];
    {PROTOBUF_FIELD_OFFSET(DiscardStmt, _impl_.target_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* DiscardStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DiscardStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.DiscardMode target = 1 [json_name = "target"];
  if (this->_internal_target() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_target(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DiscardStmt)
  return target;
}

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

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

  // .pg_query.DiscardMode target = 1 [json_name = "target"];
  if (this->_internal_target() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_target());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DiscardStmt::_class_data_ = {
    DiscardStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DiscardStmt::GetClassData() const {
  return &_class_data_;
}

void DiscardStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DiscardStmt*>(&to_msg);
  auto& from = static_cast<const DiscardStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DiscardStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_target() != 0) {
    _this->_internal_set_target(from._internal_target());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DiscardStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DiscardStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DiscardStmt::InternalSwap(DiscardStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_.target_, other->_impl_.target_);
}

::google::protobuf::Metadata DiscardStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[250]);
}
// ===================================================================

class LockStmt::_Internal {
 public:
};

LockStmt::LockStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.LockStmt)
}
inline PROTOBUF_NDEBUG_INLINE LockStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : relations_{visibility, arena, from.relations_},
        _cached_size_{0} {}

LockStmt::LockStmt(
    ::google::protobuf::Arena* arena,
    const LockStmt& from)
    : ::google::protobuf::Message(arena) {
  LockStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, mode_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, mode_),
           offsetof(Impl_, nowait_) -
               offsetof(Impl_, mode_) +
               sizeof(Impl_::nowait_));

  // @@protoc_insertion_point(copy_constructor:pg_query.LockStmt)
}
inline PROTOBUF_NDEBUG_INLINE LockStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : relations_{visibility, arena},
        _cached_size_{0} {}

inline void LockStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, mode_),
           0,
           offsetof(Impl_, nowait_) -
               offsetof(Impl_, mode_) +
               sizeof(Impl_::nowait_));
}
LockStmt::~LockStmt() {
  // @@protoc_insertion_point(destructor:pg_query.LockStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void LockStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void LockStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.LockStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.relations_.Clear();
  ::memset(&_impl_.mode_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.nowait_) -
      reinterpret_cast<char*>(&_impl_.mode_)) + sizeof(_impl_.nowait_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* LockStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 1, 0, 2> LockStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_LockStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node relations = 1 [json_name = "relations"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.relations_)}},
    // int32 mode = 2 [json_name = "mode"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(LockStmt, _impl_.mode_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.mode_)}},
    // bool nowait = 3 [json_name = "nowait"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(LockStmt, _impl_.nowait_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.nowait_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node relations = 1 [json_name = "relations"];
    {PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.relations_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 mode = 2 [json_name = "mode"];
    {PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.mode_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // bool nowait = 3 [json_name = "nowait"];
    {PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.nowait_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* LockStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.LockStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_relations_size()); i < n; i++) {
    const auto& repfield = this->_internal_relations().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 mode = 2 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_mode(), target);
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        3, this->_internal_nowait(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.LockStmt)
  return target;
}

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

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

  // repeated .pg_query.Node relations = 1 [json_name = "relations"];
  total_size += 1UL * this->_internal_relations_size();
  for (const auto& msg : this->_internal_relations()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // int32 mode = 2 [json_name = "mode"];
  if (this->_internal_mode() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_mode());
  }

  // bool nowait = 3 [json_name = "nowait"];
  if (this->_internal_nowait() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData LockStmt::_class_data_ = {
    LockStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* LockStmt::GetClassData() const {
  return &_class_data_;
}

void LockStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<LockStmt*>(&to_msg);
  auto& from = static_cast<const LockStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.LockStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_relations()->MergeFrom(
      from._internal_relations());
  if (from._internal_mode() != 0) {
    _this->_internal_set_mode(from._internal_mode());
  }
  if (from._internal_nowait() != 0) {
    _this->_internal_set_nowait(from._internal_nowait());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool LockStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* LockStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void LockStmt::InternalSwap(LockStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.relations_.InternalSwap(&other->_impl_.relations_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.nowait_)
      + sizeof(LockStmt::_impl_.nowait_)
      - PROTOBUF_FIELD_OFFSET(LockStmt, _impl_.mode_)>(
          reinterpret_cast<char*>(&_impl_.mode_),
          reinterpret_cast<char*>(&other->_impl_.mode_));
}

::google::protobuf::Metadata LockStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[251]);
}
// ===================================================================

class ConstraintsSetStmt::_Internal {
 public:
};

ConstraintsSetStmt::ConstraintsSetStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ConstraintsSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE ConstraintsSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : constraints_{visibility, arena, from.constraints_},
        _cached_size_{0} {}

ConstraintsSetStmt::ConstraintsSetStmt(
    ::google::protobuf::Arena* arena,
    const ConstraintsSetStmt& from)
    : ::google::protobuf::Message(arena) {
  ConstraintsSetStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.deferred_ = from._impl_.deferred_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ConstraintsSetStmt)
}
inline PROTOBUF_NDEBUG_INLINE ConstraintsSetStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : constraints_{visibility, arena},
        _cached_size_{0} {}

inline void ConstraintsSetStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.deferred_ = {};
}
ConstraintsSetStmt::~ConstraintsSetStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ConstraintsSetStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ConstraintsSetStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ConstraintsSetStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ConstraintsSetStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.constraints_.Clear();
  _impl_.deferred_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ConstraintsSetStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> ConstraintsSetStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ConstraintsSetStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool deferred = 2 [json_name = "deferred"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(ConstraintsSetStmt, _impl_.deferred_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ConstraintsSetStmt, _impl_.deferred_)}},
    // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ConstraintsSetStmt, _impl_.constraints_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
    {PROTOBUF_FIELD_OFFSET(ConstraintsSetStmt, _impl_.constraints_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool deferred = 2 [json_name = "deferred"];
    {PROTOBUF_FIELD_OFFSET(ConstraintsSetStmt, _impl_.deferred_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* ConstraintsSetStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ConstraintsSetStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_constraints_size()); i < n; i++) {
    const auto& repfield = this->_internal_constraints().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool deferred = 2 [json_name = "deferred"];
  if (this->_internal_deferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_deferred(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ConstraintsSetStmt)
  return target;
}

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

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

  // repeated .pg_query.Node constraints = 1 [json_name = "constraints"];
  total_size += 1UL * this->_internal_constraints_size();
  for (const auto& msg : this->_internal_constraints()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // bool deferred = 2 [json_name = "deferred"];
  if (this->_internal_deferred() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ConstraintsSetStmt::_class_data_ = {
    ConstraintsSetStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ConstraintsSetStmt::GetClassData() const {
  return &_class_data_;
}

void ConstraintsSetStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ConstraintsSetStmt*>(&to_msg);
  auto& from = static_cast<const ConstraintsSetStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ConstraintsSetStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_constraints()->MergeFrom(
      from._internal_constraints());
  if (from._internal_deferred() != 0) {
    _this->_internal_set_deferred(from._internal_deferred());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ConstraintsSetStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ConstraintsSetStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ConstraintsSetStmt::InternalSwap(ConstraintsSetStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.constraints_.InternalSwap(&other->_impl_.constraints_);
        swap(_impl_.deferred_, other->_impl_.deferred_);
}

::google::protobuf::Metadata ConstraintsSetStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[252]);
}
// ===================================================================

class ReindexStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ReindexStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const ReindexStmt* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RangeVar& ReindexStmt::_Internal::relation(const ReindexStmt* msg) {
  return *msg->_impl_.relation_;
}
ReindexStmt::ReindexStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReindexStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReindexStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        params_{visibility, arena, from.params_},
        name_(arena, from.name_) {}

ReindexStmt::ReindexStmt(
    ::google::protobuf::Arena* arena,
    const ReindexStmt& from)
    : ::google::protobuf::Message(arena) {
  ReindexStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.kind_ = from._impl_.kind_;

  // @@protoc_insertion_point(copy_constructor:pg_query.ReindexStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReindexStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        params_{visibility, arena},
        name_(arena) {}

inline void ReindexStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, kind_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::kind_));
}
ReindexStmt::~ReindexStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReindexStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ReindexStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.relation_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ReindexStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReindexStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.params_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.relation_ != nullptr);
    _impl_.relation_->Clear();
  }
  _impl_.kind_ = 0;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ReindexStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 33, 2> ReindexStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ReindexStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node params = 4 [json_name = "params"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.params_)}},
    // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ReindexStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.kind_)}},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.relation_)}},
    // string name = 3 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.kind_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.RangeVar relation = 2 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string name = 3 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node params = 4 [json_name = "params"];
    {PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.params_), -1, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\0\0\4\0\0\0\0"
    "pg_query.ReindexStmt"
    "name"
  }},
};

::uint8_t* ReindexStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReindexStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ReindexStmt.name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node params = 4 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ReindexStmt)
  return target;
}

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

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

  // repeated .pg_query.Node params = 4 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_internal_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 3 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.RangeVar relation = 2 [json_name = "relation"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
  }

  // .pg_query.ReindexObjectType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ReindexStmt::_class_data_ = {
    ReindexStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ReindexStmt::GetClassData() const {
  return &_class_data_;
}

void ReindexStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ReindexStmt*>(&to_msg);
  auto& from = static_cast<const ReindexStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReindexStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_params()->MergeFrom(
      from._internal_params());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
        from._internal_relation());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ReindexStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ReindexStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ReindexStmt::InternalSwap(ReindexStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.kind_)
      + sizeof(ReindexStmt::_impl_.kind_)
      - PROTOBUF_FIELD_OFFSET(ReindexStmt, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata ReindexStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[253]);
}
// ===================================================================

class CreateConversionStmt::_Internal {
 public:
};

CreateConversionStmt::CreateConversionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateConversionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateConversionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : conversion_name_{visibility, arena, from.conversion_name_},
        func_name_{visibility, arena, from.func_name_},
        for_encoding_name_(arena, from.for_encoding_name_),
        to_encoding_name_(arena, from.to_encoding_name_),
        _cached_size_{0} {}

CreateConversionStmt::CreateConversionStmt(
    ::google::protobuf::Arena* arena,
    const CreateConversionStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateConversionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.def_ = from._impl_.def_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateConversionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateConversionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : conversion_name_{visibility, arena},
        func_name_{visibility, arena},
        for_encoding_name_(arena),
        to_encoding_name_(arena),
        _cached_size_{0} {}

inline void CreateConversionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.def_ = {};
}
CreateConversionStmt::~CreateConversionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateConversionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateConversionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.for_encoding_name_.Destroy();
  _impl_.to_encoding_name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateConversionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateConversionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.conversion_name_.Clear();
  _impl_.func_name_.Clear();
  _impl_.for_encoding_name_.ClearToEmpty();
  _impl_.to_encoding_name_.ClearToEmpty();
  _impl_.def_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateConversionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 71, 2> CreateConversionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateConversionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.conversion_name_)}},
    // string for_encoding_name = 2 [json_name = "for_encoding_name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.for_encoding_name_)}},
    // string to_encoding_name = 3 [json_name = "to_encoding_name"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.to_encoding_name_)}},
    // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.func_name_)}},
    // bool def = 5 [json_name = "def"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateConversionStmt, _impl_.def_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.def_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
    {PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.conversion_name_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // string for_encoding_name = 2 [json_name = "for_encoding_name"];
    {PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.for_encoding_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string to_encoding_name = 3 [json_name = "to_encoding_name"];
    {PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.to_encoding_name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
    {PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.func_name_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool def = 5 [json_name = "def"];
    {PROTOBUF_FIELD_OFFSET(CreateConversionStmt, _impl_.def_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\35\0\21\20\0\0\0\0"
    "pg_query.CreateConversionStmt"
    "for_encoding_name"
    "to_encoding_name"
  }},
};

::uint8_t* CreateConversionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateConversionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_conversion_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_conversion_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (!this->_internal_for_encoding_name().empty()) {
    const std::string& _s = this->_internal_for_encoding_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateConversionStmt.for_encoding_name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string to_encoding_name = 3 [json_name = "to_encoding_name"];
  if (!this->_internal_to_encoding_name().empty()) {
    const std::string& _s = this->_internal_to_encoding_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateConversionStmt.to_encoding_name");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_func_name_size()); i < n; i++) {
    const auto& repfield = this->_internal_func_name().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool def = 5 [json_name = "def"];
  if (this->_internal_def() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_def(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateConversionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node conversion_name = 1 [json_name = "conversion_name"];
  total_size += 1UL * this->_internal_conversion_name_size();
  for (const auto& msg : this->_internal_conversion_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node func_name = 4 [json_name = "func_name"];
  total_size += 1UL * this->_internal_func_name_size();
  for (const auto& msg : this->_internal_func_name()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string for_encoding_name = 2 [json_name = "for_encoding_name"];
  if (!this->_internal_for_encoding_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_for_encoding_name());
  }

  // string to_encoding_name = 3 [json_name = "to_encoding_name"];
  if (!this->_internal_to_encoding_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_to_encoding_name());
  }

  // bool def = 5 [json_name = "def"];
  if (this->_internal_def() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateConversionStmt::_class_data_ = {
    CreateConversionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateConversionStmt::GetClassData() const {
  return &_class_data_;
}

void CreateConversionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateConversionStmt*>(&to_msg);
  auto& from = static_cast<const CreateConversionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateConversionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_conversion_name()->MergeFrom(
      from._internal_conversion_name());
  _this->_internal_mutable_func_name()->MergeFrom(
      from._internal_func_name());
  if (!from._internal_for_encoding_name().empty()) {
    _this->_internal_set_for_encoding_name(from._internal_for_encoding_name());
  }
  if (!from._internal_to_encoding_name().empty()) {
    _this->_internal_set_to_encoding_name(from._internal_to_encoding_name());
  }
  if (from._internal_def() != 0) {
    _this->_internal_set_def(from._internal_def());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateConversionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateConversionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateConversionStmt::InternalSwap(CreateConversionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.conversion_name_.InternalSwap(&other->_impl_.conversion_name_);
  _impl_.func_name_.InternalSwap(&other->_impl_.func_name_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.for_encoding_name_, &other->_impl_.for_encoding_name_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.to_encoding_name_, &other->_impl_.to_encoding_name_, arena);
        swap(_impl_.def_, other->_impl_.def_);
}

::google::protobuf::Metadata CreateConversionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[254]);
}
// ===================================================================

class CreateCastStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateCastStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_._has_bits_);
  static const ::pg_query::TypeName& sourcetype(const CreateCastStmt* msg);
  static void set_has_sourcetype(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::TypeName& targettype(const CreateCastStmt* msg);
  static void set_has_targettype(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::ObjectWithArgs& func(const CreateCastStmt* msg);
  static void set_has_func(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::TypeName& CreateCastStmt::_Internal::sourcetype(const CreateCastStmt* msg) {
  return *msg->_impl_.sourcetype_;
}
const ::pg_query::TypeName& CreateCastStmt::_Internal::targettype(const CreateCastStmt* msg) {
  return *msg->_impl_.targettype_;
}
const ::pg_query::ObjectWithArgs& CreateCastStmt::_Internal::func(const CreateCastStmt* msg) {
  return *msg->_impl_.func_;
}
CreateCastStmt::CreateCastStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateCastStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateCastStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0} {}

CreateCastStmt::CreateCastStmt(
    ::google::protobuf::Arena* arena,
    const CreateCastStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateCastStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.sourcetype_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.sourcetype_)
                : nullptr;
  _impl_.targettype_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.targettype_)
                : nullptr;
  _impl_.func_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.func_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, context_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, context_),
           offsetof(Impl_, inout_) -
               offsetof(Impl_, context_) +
               sizeof(Impl_::inout_));

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateCastStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateCastStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void CreateCastStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, sourcetype_),
           0,
           offsetof(Impl_, inout_) -
               offsetof(Impl_, sourcetype_) +
               sizeof(Impl_::inout_));
}
CreateCastStmt::~CreateCastStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateCastStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateCastStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.sourcetype_;
  delete _impl_.targettype_;
  delete _impl_.func_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateCastStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateCastStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.sourcetype_ != nullptr);
      _impl_.sourcetype_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.targettype_ != nullptr);
      _impl_.targettype_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.func_ != nullptr);
      _impl_.func_->Clear();
    }
  }
  ::memset(&_impl_.context_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.inout_) -
      reinterpret_cast<char*>(&_impl_.context_)) + sizeof(_impl_.inout_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateCastStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 0, 2> CreateCastStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateCastStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.sourcetype_)}},
    // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.targettype_)}},
    // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
    {::_pbi::TcParser::FastMtS1,
     {26, 2, 2, PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.func_)}},
    // .pg_query.CoercionContext context = 4 [json_name = "context"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(CreateCastStmt, _impl_.context_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.context_)}},
    // bool inout = 5 [json_name = "inout"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateCastStmt, _impl_.inout_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.inout_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
    {PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.sourcetype_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
    {PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.targettype_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
    {PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.func_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.CoercionContext context = 4 [json_name = "context"];
    {PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.context_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // bool inout = 5 [json_name = "inout"];
    {PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.inout_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
  }}, {{
  }},
};

::uint8_t* CreateCastStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateCastStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::sourcetype(this),
        _Internal::sourcetype(this).GetCachedSize(), target, stream);
  }

  // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::targettype(this),
        _Internal::targettype(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::func(this),
        _Internal::func(this).GetCachedSize(), target, stream);
  }

  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->_internal_context() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_context(), target);
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->_internal_inout() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_inout(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateCastStmt)
  return target;
}

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

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

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.TypeName sourcetype = 1 [json_name = "sourcetype"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.sourcetype_);
    }

    // .pg_query.TypeName targettype = 2 [json_name = "targettype"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.targettype_);
    }

    // .pg_query.ObjectWithArgs func = 3 [json_name = "func"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.func_);
    }

  }
  // .pg_query.CoercionContext context = 4 [json_name = "context"];
  if (this->_internal_context() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_context());
  }

  // bool inout = 5 [json_name = "inout"];
  if (this->_internal_inout() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateCastStmt::_class_data_ = {
    CreateCastStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateCastStmt::GetClassData() const {
  return &_class_data_;
}

void CreateCastStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateCastStmt*>(&to_msg);
  auto& from = static_cast<const CreateCastStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateCastStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_sourcetype()->::pg_query::TypeName::MergeFrom(
          from._internal_sourcetype());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_targettype()->::pg_query::TypeName::MergeFrom(
          from._internal_targettype());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_func()->::pg_query::ObjectWithArgs::MergeFrom(
          from._internal_func());
    }
  }
  if (from._internal_context() != 0) {
    _this->_internal_set_context(from._internal_context());
  }
  if (from._internal_inout() != 0) {
    _this->_internal_set_inout(from._internal_inout());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateCastStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateCastStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateCastStmt::InternalSwap(CreateCastStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.inout_)
      + sizeof(CreateCastStmt::_impl_.inout_)
      - PROTOBUF_FIELD_OFFSET(CreateCastStmt, _impl_.sourcetype_)>(
          reinterpret_cast<char*>(&_impl_.sourcetype_),
          reinterpret_cast<char*>(&other->_impl_.sourcetype_));
}

::google::protobuf::Metadata CreateCastStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[255]);
}
// ===================================================================

class CreateTransformStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<CreateTransformStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_._has_bits_);
  static const ::pg_query::TypeName& type_name(const CreateTransformStmt* msg);
  static void set_has_type_name(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::ObjectWithArgs& fromsql(const CreateTransformStmt* msg);
  static void set_has_fromsql(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static const ::pg_query::ObjectWithArgs& tosql(const CreateTransformStmt* msg);
  static void set_has_tosql(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
};

const ::pg_query::TypeName& CreateTransformStmt::_Internal::type_name(const CreateTransformStmt* msg) {
  return *msg->_impl_.type_name_;
}
const ::pg_query::ObjectWithArgs& CreateTransformStmt::_Internal::fromsql(const CreateTransformStmt* msg) {
  return *msg->_impl_.fromsql_;
}
const ::pg_query::ObjectWithArgs& CreateTransformStmt::_Internal::tosql(const CreateTransformStmt* msg) {
  return *msg->_impl_.tosql_;
}
CreateTransformStmt::CreateTransformStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateTransformStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTransformStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        lang_(arena, from.lang_) {}

CreateTransformStmt::CreateTransformStmt(
    ::google::protobuf::Arena* arena,
    const CreateTransformStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateTransformStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.type_name_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::TypeName>(arena, *from._impl_.type_name_)
                : nullptr;
  _impl_.fromsql_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.fromsql_)
                : nullptr;
  _impl_.tosql_ = (cached_has_bits & 0x00000004u)
                ? CreateMaybeMessage<::pg_query::ObjectWithArgs>(arena, *from._impl_.tosql_)
                : nullptr;
  _impl_.replace_ = from._impl_.replace_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateTransformStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateTransformStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        lang_(arena) {}

inline void CreateTransformStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, type_name_),
           0,
           offsetof(Impl_, replace_) -
               offsetof(Impl_, type_name_) +
               sizeof(Impl_::replace_));
}
CreateTransformStmt::~CreateTransformStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateTransformStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateTransformStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.lang_.Destroy();
  delete _impl_.type_name_;
  delete _impl_.fromsql_;
  delete _impl_.tosql_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateTransformStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateTransformStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.lang_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.type_name_ != nullptr);
      _impl_.type_name_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.fromsql_ != nullptr);
      _impl_.fromsql_->Clear();
    }
    if (cached_has_bits & 0x00000004u) {
      ABSL_DCHECK(_impl_.tosql_ != nullptr);
      _impl_.tosql_->Clear();
    }
  }
  _impl_.replace_ = false;
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateTransformStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 3, 41, 2> CreateTransformStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_._has_bits_),
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateTransformStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // bool replace = 1 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreateTransformStmt, _impl_.replace_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.replace_)}},
    // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 0, PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.type_name_)}},
    // string lang = 3 [json_name = "lang"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.lang_)}},
    // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
    {::_pbi::TcParser::FastMtS1,
     {34, 1, 1, PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.fromsql_)}},
    // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
    {::_pbi::TcParser::FastMtS1,
     {42, 2, 2, PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.tosql_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // bool replace = 1 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.replace_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
    {PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.type_name_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // string lang = 3 [json_name = "lang"];
    {PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.lang_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
    {PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.fromsql_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
    {PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.tosql_), _Internal::kHasBitsOffset + 2, 2,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::TypeName>()},
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
    {::_pbi::TcParser::GetTable<::pg_query::ObjectWithArgs>()},
  }}, {{
    "\34\0\0\4\0\0\0\0"
    "pg_query.CreateTransformStmt"
    "lang"
  }},
};

::uint8_t* CreateTransformStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateTransformStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        1, this->_internal_replace(), target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::type_name(this),
        _Internal::type_name(this).GetCachedSize(), target, stream);
  }

  // string lang = 3 [json_name = "lang"];
  if (!this->_internal_lang().empty()) {
    const std::string& _s = this->_internal_lang();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateTransformStmt.lang");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        4, _Internal::fromsql(this),
        _Internal::fromsql(this).GetCachedSize(), target, stream);
  }

  // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
  if (cached_has_bits & 0x00000004u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        5, _Internal::tosql(this),
        _Internal::tosql(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateTransformStmt)
  return target;
}

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

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

  // string lang = 3 [json_name = "lang"];
  if (!this->_internal_lang().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_lang());
  }

  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    // .pg_query.TypeName type_name = 2 [json_name = "type_name"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.type_name_);
    }

    // .pg_query.ObjectWithArgs fromsql = 4 [json_name = "fromsql"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.fromsql_);
    }

    // .pg_query.ObjectWithArgs tosql = 5 [json_name = "tosql"];
    if (cached_has_bits & 0x00000004u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.tosql_);
    }

  }
  // bool replace = 1 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateTransformStmt::_class_data_ = {
    CreateTransformStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateTransformStmt::GetClassData() const {
  return &_class_data_;
}

void CreateTransformStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateTransformStmt*>(&to_msg);
  auto& from = static_cast<const CreateTransformStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateTransformStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_lang().empty()) {
    _this->_internal_set_lang(from._internal_lang());
  }
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000007u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_type_name()->::pg_query::TypeName::MergeFrom(
          from._internal_type_name());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_fromsql()->::pg_query::ObjectWithArgs::MergeFrom(
          from._internal_fromsql());
    }
    if (cached_has_bits & 0x00000004u) {
      _this->_internal_mutable_tosql()->::pg_query::ObjectWithArgs::MergeFrom(
          from._internal_tosql());
    }
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateTransformStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateTransformStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateTransformStmt::InternalSwap(CreateTransformStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.lang_, &other->_impl_.lang_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.replace_)
      + sizeof(CreateTransformStmt::_impl_.replace_)
      - PROTOBUF_FIELD_OFFSET(CreateTransformStmt, _impl_.type_name_)>(
          reinterpret_cast<char*>(&_impl_.type_name_),
          reinterpret_cast<char*>(&other->_impl_.type_name_));
}

::google::protobuf::Metadata CreateTransformStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[256]);
}
// ===================================================================

class PrepareStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<PrepareStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_._has_bits_);
  static const ::pg_query::Node& query(const PrepareStmt* msg);
  static void set_has_query(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::Node& PrepareStmt::_Internal::query(const PrepareStmt* msg) {
  return *msg->_impl_.query_;
}
PrepareStmt::PrepareStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PrepareStmt)
}
inline PROTOBUF_NDEBUG_INLINE PrepareStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        argtypes_{visibility, arena, from.argtypes_},
        name_(arena, from.name_) {}

PrepareStmt::PrepareStmt(
    ::google::protobuf::Arena* arena,
    const PrepareStmt& from)
    : ::google::protobuf::Message(arena) {
  PrepareStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.query_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.query_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.PrepareStmt)
}
inline PROTOBUF_NDEBUG_INLINE PrepareStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        argtypes_{visibility, arena},
        name_(arena) {}

inline void PrepareStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.query_ = {};
}
PrepareStmt::~PrepareStmt() {
  // @@protoc_insertion_point(destructor:pg_query.PrepareStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PrepareStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.query_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PrepareStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PrepareStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.argtypes_.Clear();
  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.query_ != nullptr);
    _impl_.query_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PrepareStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 2, 33, 2> PrepareStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PrepareStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.name_)}},
    // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.argtypes_)}},
    // .pg_query.Node query = 3 [json_name = "query"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 1, PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.query_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
    {PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.argtypes_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node query = 3 [json_name = "query"];
    {PROTOBUF_FIELD_OFFSET(PrepareStmt, _impl_.query_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\4\0\0\0\0\0\0"
    "pg_query.PrepareStmt"
    "name"
  }},
};

::uint8_t* PrepareStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PrepareStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.PrepareStmt.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_argtypes_size()); i < n; i++) {
    const auto& repfield = this->_internal_argtypes().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.Node query = 3 [json_name = "query"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::query(this),
        _Internal::query(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PrepareStmt)
  return target;
}

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

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

  // repeated .pg_query.Node argtypes = 2 [json_name = "argtypes"];
  total_size += 1UL * this->_internal_argtypes_size();
  for (const auto& msg : this->_internal_argtypes()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.Node query = 3 [json_name = "query"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.query_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PrepareStmt::_class_data_ = {
    PrepareStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PrepareStmt::GetClassData() const {
  return &_class_data_;
}

void PrepareStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PrepareStmt*>(&to_msg);
  auto& from = static_cast<const PrepareStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PrepareStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_argtypes()->MergeFrom(
      from._internal_argtypes());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_query()->::pg_query::Node::MergeFrom(
        from._internal_query());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PrepareStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PrepareStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PrepareStmt::InternalSwap(PrepareStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.argtypes_.InternalSwap(&other->_impl_.argtypes_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  swap(_impl_.query_, other->_impl_.query_);
}

::google::protobuf::Metadata PrepareStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[257]);
}
// ===================================================================

class ExecuteStmt::_Internal {
 public:
};

ExecuteStmt::ExecuteStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ExecuteStmt)
}
inline PROTOBUF_NDEBUG_INLINE ExecuteStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : params_{visibility, arena, from.params_},
        name_(arena, from.name_),
        _cached_size_{0} {}

ExecuteStmt::ExecuteStmt(
    ::google::protobuf::Arena* arena,
    const ExecuteStmt& from)
    : ::google::protobuf::Message(arena) {
  ExecuteStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.ExecuteStmt)
}
inline PROTOBUF_NDEBUG_INLINE ExecuteStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : params_{visibility, arena},
        name_(arena),
        _cached_size_{0} {}

inline void ExecuteStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
ExecuteStmt::~ExecuteStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ExecuteStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ExecuteStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ExecuteStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ExecuteStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.params_.Clear();
  _impl_.name_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ExecuteStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 33, 2> ExecuteStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ExecuteStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node params = 2 [json_name = "params"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(ExecuteStmt, _impl_.params_)}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ExecuteStmt, _impl_.name_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(ExecuteStmt, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node params = 2 [json_name = "params"];
    {PROTOBUF_FIELD_OFFSET(ExecuteStmt, _impl_.params_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\24\4\0\0\0\0\0\0"
    "pg_query.ExecuteStmt"
    "name"
  }},
};

::uint8_t* ExecuteStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ExecuteStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.ExecuteStmt.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_params_size()); i < n; i++) {
    const auto& repfield = this->_internal_params().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ExecuteStmt)
  return target;
}

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

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

  // repeated .pg_query.Node params = 2 [json_name = "params"];
  total_size += 1UL * this->_internal_params_size();
  for (const auto& msg : this->_internal_params()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ExecuteStmt::_class_data_ = {
    ExecuteStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ExecuteStmt::GetClassData() const {
  return &_class_data_;
}

void ExecuteStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ExecuteStmt*>(&to_msg);
  auto& from = static_cast<const ExecuteStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ExecuteStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_params()->MergeFrom(
      from._internal_params());
  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ExecuteStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ExecuteStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ExecuteStmt::InternalSwap(ExecuteStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.params_.InternalSwap(&other->_impl_.params_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
}

::google::protobuf::Metadata ExecuteStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[258]);
}
// ===================================================================

class DeallocateStmt::_Internal {
 public:
};

DeallocateStmt::DeallocateStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DeallocateStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeallocateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : name_(arena, from.name_),
        _cached_size_{0} {}

DeallocateStmt::DeallocateStmt(
    ::google::protobuf::Arena* arena,
    const DeallocateStmt& from)
    : ::google::protobuf::Message(arena) {
  DeallocateStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, isall_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, isall_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, isall_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DeallocateStmt)
}
inline PROTOBUF_NDEBUG_INLINE DeallocateStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : name_(arena),
        _cached_size_{0} {}

inline void DeallocateStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, isall_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, isall_) +
               sizeof(Impl_::location_));
}
DeallocateStmt::~DeallocateStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DeallocateStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DeallocateStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DeallocateStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DeallocateStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  ::memset(&_impl_.isall_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.isall_)) + sizeof(_impl_.location_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DeallocateStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 36, 2> DeallocateStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_DeallocateStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string name = 1 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.name_)}},
    // bool isall = 2 [json_name = "isall"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DeallocateStmt, _impl_.isall_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.isall_)}},
    // int32 location = 3 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DeallocateStmt, _impl_.location_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.location_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string name = 1 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.name_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool isall = 2 [json_name = "isall"];
    {PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.isall_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // int32 location = 3 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.location_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }},
  // no aux_entries
  {{
    "\27\4\0\0\0\0\0\0"
    "pg_query.DeallocateStmt"
    "name"
  }},
};

::uint8_t* DeallocateStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DeallocateStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DeallocateStmt.name");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool isall = 2 [json_name = "isall"];
  if (this->_internal_isall() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_isall(), target);
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<3>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DeallocateStmt)
  return target;
}

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

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

  // string name = 1 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // bool isall = 2 [json_name = "isall"];
  if (this->_internal_isall() != 0) {
    total_size += 2;
  }

  // int32 location = 3 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DeallocateStmt::_class_data_ = {
    DeallocateStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DeallocateStmt::GetClassData() const {
  return &_class_data_;
}

void DeallocateStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DeallocateStmt*>(&to_msg);
  auto& from = static_cast<const DeallocateStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DeallocateStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if (from._internal_isall() != 0) {
    _this->_internal_set_isall(from._internal_isall());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DeallocateStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DeallocateStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DeallocateStmt::InternalSwap(DeallocateStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.location_)
      + sizeof(DeallocateStmt::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(DeallocateStmt, _impl_.isall_)>(
          reinterpret_cast<char*>(&_impl_.isall_),
          reinterpret_cast<char*>(&other->_impl_.isall_));
}

::google::protobuf::Metadata DeallocateStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[259]);
}
// ===================================================================

class DropOwnedStmt::_Internal {
 public:
};

DropOwnedStmt::DropOwnedStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropOwnedStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropOwnedStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : roles_{visibility, arena, from.roles_},
        _cached_size_{0} {}

DropOwnedStmt::DropOwnedStmt(
    ::google::protobuf::Arena* arena,
    const DropOwnedStmt& from)
    : ::google::protobuf::Message(arena) {
  DropOwnedStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.behavior_ = from._impl_.behavior_;

  // @@protoc_insertion_point(copy_constructor:pg_query.DropOwnedStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropOwnedStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : roles_{visibility, arena},
        _cached_size_{0} {}

inline void DropOwnedStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.behavior_ = {};
}
DropOwnedStmt::~DropOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropOwnedStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropOwnedStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropOwnedStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  _impl_.behavior_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropOwnedStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 1, 0, 2> DropOwnedStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_DropOwnedStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DropOwnedStmt, _impl_.behavior_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropOwnedStmt, _impl_.behavior_)}},
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropOwnedStmt, _impl_.roles_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(DropOwnedStmt, _impl_.roles_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(DropOwnedStmt, _impl_.behavior_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* DropOwnedStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropOwnedStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        2, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropOwnedStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.DropBehavior behavior = 2 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropOwnedStmt::_class_data_ = {
    DropOwnedStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropOwnedStmt::GetClassData() const {
  return &_class_data_;
}

void DropOwnedStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropOwnedStmt*>(&to_msg);
  auto& from = static_cast<const DropOwnedStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropOwnedStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool DropOwnedStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropOwnedStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropOwnedStmt::InternalSwap(DropOwnedStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  swap(_impl_.behavior_, other->_impl_.behavior_);
}

::google::protobuf::Metadata DropOwnedStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[260]);
}
// ===================================================================

class ReassignOwnedStmt::_Internal {
 public:
  using HasBits = decltype(std::declval<ReassignOwnedStmt>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_._has_bits_);
  static const ::pg_query::RoleSpec& newrole(const ReassignOwnedStmt* msg);
  static void set_has_newrole(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::RoleSpec& ReassignOwnedStmt::_Internal::newrole(const ReassignOwnedStmt* msg) {
  return *msg->_impl_.newrole_;
}
ReassignOwnedStmt::ReassignOwnedStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ReassignOwnedStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReassignOwnedStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        roles_{visibility, arena, from.roles_} {}

ReassignOwnedStmt::ReassignOwnedStmt(
    ::google::protobuf::Arena* arena,
    const ReassignOwnedStmt& from)
    : ::google::protobuf::Message(arena) {
  ReassignOwnedStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.newrole_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RoleSpec>(arena, *from._impl_.newrole_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.ReassignOwnedStmt)
}
inline PROTOBUF_NDEBUG_INLINE ReassignOwnedStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        roles_{visibility, arena} {}

inline void ReassignOwnedStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.newrole_ = {};
}
ReassignOwnedStmt::~ReassignOwnedStmt() {
  // @@protoc_insertion_point(destructor:pg_query.ReassignOwnedStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ReassignOwnedStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.newrole_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ReassignOwnedStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ReassignOwnedStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.roles_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.newrole_ != nullptr);
    _impl_.newrole_->Clear();
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ReassignOwnedStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> ReassignOwnedStmt::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_._has_bits_),
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_ReassignOwnedStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
    {::_pbi::TcParser::FastMtS1,
     {18, 0, 1, PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_.newrole_)}},
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_.roles_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node roles = 1 [json_name = "roles"];
    {PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_.roles_), -1, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
    {PROTOBUF_FIELD_OFFSET(ReassignOwnedStmt, _impl_.newrole_), _Internal::kHasBitsOffset + 0, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::RoleSpec>()},
  }}, {{
  }},
};

::uint8_t* ReassignOwnedStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ReassignOwnedStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_roles_size()); i < n; i++) {
    const auto& repfield = this->_internal_roles().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::newrole(this),
        _Internal::newrole(this).GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ReassignOwnedStmt)
  return target;
}

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

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

  // repeated .pg_query.Node roles = 1 [json_name = "roles"];
  total_size += 1UL * this->_internal_roles_size();
  for (const auto& msg : this->_internal_roles()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.RoleSpec newrole = 2 [json_name = "newrole"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.newrole_);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ReassignOwnedStmt::_class_data_ = {
    ReassignOwnedStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ReassignOwnedStmt::GetClassData() const {
  return &_class_data_;
}

void ReassignOwnedStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ReassignOwnedStmt*>(&to_msg);
  auto& from = static_cast<const ReassignOwnedStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ReassignOwnedStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_roles()->MergeFrom(
      from._internal_roles());
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_newrole()->::pg_query::RoleSpec::MergeFrom(
        from._internal_newrole());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool ReassignOwnedStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ReassignOwnedStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ReassignOwnedStmt::InternalSwap(ReassignOwnedStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.roles_.InternalSwap(&other->_impl_.roles_);
  swap(_impl_.newrole_, other->_impl_.newrole_);
}

::google::protobuf::Metadata ReassignOwnedStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[261]);
}
// ===================================================================

class AlterTSDictionaryStmt::_Internal {
 public:
};

AlterTSDictionaryStmt::AlterTSDictionaryStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSDictionaryStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTSDictionaryStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : dictname_{visibility, arena, from.dictname_},
        options_{visibility, arena, from.options_},
        _cached_size_{0} {}

AlterTSDictionaryStmt::AlterTSDictionaryStmt(
    ::google::protobuf::Arena* arena,
    const AlterTSDictionaryStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTSDictionaryStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSDictionaryStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTSDictionaryStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : dictname_{visibility, arena},
        options_{visibility, arena},
        _cached_size_{0} {}

inline void AlterTSDictionaryStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
AlterTSDictionaryStmt::~AlterTSDictionaryStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSDictionaryStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTSDictionaryStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTSDictionaryStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSDictionaryStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.dictname_.Clear();
  _impl_.options_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTSDictionaryStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<1, 2, 2, 0, 2> AlterTSDictionaryStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    2, 8,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967292,  // skipmap
    offsetof(decltype(_table_), field_entries),
    2,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTSDictionaryStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 1, PROTOBUF_FIELD_OFFSET(AlterTSDictionaryStmt, _impl_.options_)}},
    // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
    {::_pbi::TcParser::FastMtR1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSDictionaryStmt, _impl_.dictname_)}},
  }}, {{
    65535, 65535
  }}, {{
    // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
    {PROTOBUF_FIELD_OFFSET(AlterTSDictionaryStmt, _impl_.dictname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterTSDictionaryStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterTSDictionaryStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSDictionaryStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_dictname_size()); i < n; i++) {
    const auto& repfield = this->_internal_dictname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(1, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTSDictionaryStmt)
  return target;
}

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

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

  // repeated .pg_query.Node dictname = 1 [json_name = "dictname"];
  total_size += 1UL * this->_internal_dictname_size();
  for (const auto& msg : this->_internal_dictname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTSDictionaryStmt::_class_data_ = {
    AlterTSDictionaryStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTSDictionaryStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTSDictionaryStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTSDictionaryStmt*>(&to_msg);
  auto& from = static_cast<const AlterTSDictionaryStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSDictionaryStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_dictname()->MergeFrom(
      from._internal_dictname());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTSDictionaryStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTSDictionaryStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTSDictionaryStmt::InternalSwap(AlterTSDictionaryStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.dictname_.InternalSwap(&other->_impl_.dictname_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
}

::google::protobuf::Metadata AlterTSDictionaryStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[262]);
}
// ===================================================================

class AlterTSConfigurationStmt::_Internal {
 public:
};

AlterTSConfigurationStmt::AlterTSConfigurationStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterTSConfigurationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTSConfigurationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : cfgname_{visibility, arena, from.cfgname_},
        tokentype_{visibility, arena, from.tokentype_},
        dicts_{visibility, arena, from.dicts_},
        _cached_size_{0} {}

AlterTSConfigurationStmt::AlterTSConfigurationStmt(
    ::google::protobuf::Arena* arena,
    const AlterTSConfigurationStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterTSConfigurationStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, kind_),
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::missing_ok_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterTSConfigurationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterTSConfigurationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : cfgname_{visibility, arena},
        tokentype_{visibility, arena},
        dicts_{visibility, arena},
        _cached_size_{0} {}

inline void AlterTSConfigurationStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, kind_),
           0,
           offsetof(Impl_, missing_ok_) -
               offsetof(Impl_, kind_) +
               sizeof(Impl_::missing_ok_));
}
AlterTSConfigurationStmt::~AlterTSConfigurationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterTSConfigurationStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterTSConfigurationStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterTSConfigurationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterTSConfigurationStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.cfgname_.Clear();
  _impl_.tokentype_.Clear();
  _impl_.dicts_.Clear();
  ::memset(&_impl_.kind_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.missing_ok_) -
      reinterpret_cast<char*>(&_impl_.kind_)) + sizeof(_impl_.missing_ok_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterTSConfigurationStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 7, 3, 0, 2> AlterTSConfigurationStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    7, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967168,  // skipmap
    offsetof(decltype(_table_), field_entries),
    7,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterTSConfigurationStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterTSConfigurationStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.kind_)}},
    // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.cfgname_)}},
    // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.tokentype_)}},
    // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 2, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.dicts_)}},
    // bool override = 5 [json_name = "override"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTSConfigurationStmt, _impl_.override_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.override_)}},
    // bool replace = 6 [json_name = "replace"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTSConfigurationStmt, _impl_.replace_), 63>(),
     {48, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.replace_)}},
    // bool missing_ok = 7 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterTSConfigurationStmt, _impl_.missing_ok_), 63>(),
     {56, 63, 0, PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.missing_ok_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.cfgname_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.tokentype_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.dicts_), 0, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool override = 5 [json_name = "override"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.override_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool replace = 6 [json_name = "replace"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.replace_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // bool missing_ok = 7 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* AlterTSConfigurationStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterTSConfigurationStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_cfgname_size()); i < n; i++) {
    const auto& repfield = this->_internal_cfgname().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_tokentype_size()); i < n; i++) {
    const auto& repfield = this->_internal_tokentype().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_dicts_size()); i < n; i++) {
    const auto& repfield = this->_internal_dicts().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool override = 5 [json_name = "override"];
  if (this->_internal_override() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        5, this->_internal_override(), target);
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        6, this->_internal_replace(), target);
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        7, this->_internal_missing_ok(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterTSConfigurationStmt)
  return target;
}

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

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

  // repeated .pg_query.Node cfgname = 2 [json_name = "cfgname"];
  total_size += 1UL * this->_internal_cfgname_size();
  for (const auto& msg : this->_internal_cfgname()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node tokentype = 3 [json_name = "tokentype"];
  total_size += 1UL * this->_internal_tokentype_size();
  for (const auto& msg : this->_internal_tokentype()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node dicts = 4 [json_name = "dicts"];
  total_size += 1UL * this->_internal_dicts_size();
  for (const auto& msg : this->_internal_dicts()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // .pg_query.AlterTSConfigType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  // bool override = 5 [json_name = "override"];
  if (this->_internal_override() != 0) {
    total_size += 2;
  }

  // bool replace = 6 [json_name = "replace"];
  if (this->_internal_replace() != 0) {
    total_size += 2;
  }

  // bool missing_ok = 7 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterTSConfigurationStmt::_class_data_ = {
    AlterTSConfigurationStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterTSConfigurationStmt::GetClassData() const {
  return &_class_data_;
}

void AlterTSConfigurationStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterTSConfigurationStmt*>(&to_msg);
  auto& from = static_cast<const AlterTSConfigurationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterTSConfigurationStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_cfgname()->MergeFrom(
      from._internal_cfgname());
  _this->_internal_mutable_tokentype()->MergeFrom(
      from._internal_tokentype());
  _this->_internal_mutable_dicts()->MergeFrom(
      from._internal_dicts());
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  if (from._internal_override() != 0) {
    _this->_internal_set_override(from._internal_override());
  }
  if (from._internal_replace() != 0) {
    _this->_internal_set_replace(from._internal_replace());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterTSConfigurationStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterTSConfigurationStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterTSConfigurationStmt::InternalSwap(AlterTSConfigurationStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.cfgname_.InternalSwap(&other->_impl_.cfgname_);
  _impl_.tokentype_.InternalSwap(&other->_impl_.tokentype_);
  _impl_.dicts_.InternalSwap(&other->_impl_.dicts_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.missing_ok_)
      + sizeof(AlterTSConfigurationStmt::_impl_.missing_ok_)
      - PROTOBUF_FIELD_OFFSET(AlterTSConfigurationStmt, _impl_.kind_)>(
          reinterpret_cast<char*>(&_impl_.kind_),
          reinterpret_cast<char*>(&other->_impl_.kind_));
}

::google::protobuf::Metadata AlterTSConfigurationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[263]);
}
// ===================================================================

class PublicationTable::_Internal {
 public:
  using HasBits = decltype(std::declval<PublicationTable>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_._has_bits_);
  static const ::pg_query::RangeVar& relation(const PublicationTable* msg);
  static void set_has_relation(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static const ::pg_query::Node& where_clause(const PublicationTable* msg);
  static void set_has_where_clause(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
};

const ::pg_query::RangeVar& PublicationTable::_Internal::relation(const PublicationTable* msg) {
  return *msg->_impl_.relation_;
}
const ::pg_query::Node& PublicationTable::_Internal::where_clause(const PublicationTable* msg) {
  return *msg->_impl_.where_clause_;
}
PublicationTable::PublicationTable(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PublicationTable)
}
inline PROTOBUF_NDEBUG_INLINE PublicationTable::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        columns_{visibility, arena, from.columns_} {}

PublicationTable::PublicationTable(
    ::google::protobuf::Arena* arena,
    const PublicationTable& from)
    : ::google::protobuf::Message(arena) {
  PublicationTable* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.relation_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::RangeVar>(arena, *from._impl_.relation_)
                : nullptr;
  _impl_.where_clause_ = (cached_has_bits & 0x00000002u)
                ? CreateMaybeMessage<::pg_query::Node>(arena, *from._impl_.where_clause_)
                : nullptr;

  // @@protoc_insertion_point(copy_constructor:pg_query.PublicationTable)
}
inline PROTOBUF_NDEBUG_INLINE PublicationTable::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        columns_{visibility, arena} {}

inline void PublicationTable::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, relation_),
           0,
           offsetof(Impl_, where_clause_) -
               offsetof(Impl_, relation_) +
               sizeof(Impl_::where_clause_));
}
PublicationTable::~PublicationTable() {
  // @@protoc_insertion_point(destructor:pg_query.PublicationTable)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PublicationTable::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  delete _impl_.relation_;
  delete _impl_.where_clause_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PublicationTable::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PublicationTable)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.columns_.Clear();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      ABSL_DCHECK(_impl_.relation_ != nullptr);
      _impl_.relation_->Clear();
    }
    if (cached_has_bits & 0x00000002u) {
      ABSL_DCHECK(_impl_.where_clause_ != nullptr);
      _impl_.where_clause_->Clear();
    }
  }
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PublicationTable::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 3, 0, 2> PublicationTable::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_._has_bits_),
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    3,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PublicationTable_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {::_pbi::TcParser::FastMtS1,
     {10, 0, 0, PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.relation_)}},
    // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
    {::_pbi::TcParser::FastMtS1,
     {18, 1, 1, PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.where_clause_)}},
    // repeated .pg_query.Node columns = 3 [json_name = "columns"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 2, PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.columns_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    {PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.relation_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
    {PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.where_clause_), _Internal::kHasBitsOffset + 1, 1,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node columns = 3 [json_name = "columns"];
    {PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.columns_), -1, 2,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::RangeVar>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
  }},
};

::uint8_t* PublicationTable::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PublicationTable)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.RangeVar relation = 1 [json_name = "relation"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        1, _Internal::relation(this),
        _Internal::relation(this).GetCachedSize(), target, stream);
  }

  // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
  if (cached_has_bits & 0x00000002u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        2, _Internal::where_clause(this),
        _Internal::where_clause(this).GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node columns = 3 [json_name = "columns"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_columns_size()); i < n; i++) {
    const auto& repfield = this->_internal_columns().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PublicationTable)
  return target;
}

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

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

  // repeated .pg_query.Node columns = 3 [json_name = "columns"];
  total_size += 1UL * this->_internal_columns_size();
  for (const auto& msg : this->_internal_columns()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    // .pg_query.RangeVar relation = 1 [json_name = "relation"];
    if (cached_has_bits & 0x00000001u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.relation_);
    }

    // .pg_query.Node where_clause = 2 [json_name = "whereClause"];
    if (cached_has_bits & 0x00000002u) {
      total_size +=
          1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.where_clause_);
    }

  }
  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PublicationTable::_class_data_ = {
    PublicationTable::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PublicationTable::GetClassData() const {
  return &_class_data_;
}

void PublicationTable::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PublicationTable*>(&to_msg);
  auto& from = static_cast<const PublicationTable&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PublicationTable)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_columns()->MergeFrom(
      from._internal_columns());
  cached_has_bits = from._impl_._has_bits_[0];
  if (cached_has_bits & 0x00000003u) {
    if (cached_has_bits & 0x00000001u) {
      _this->_internal_mutable_relation()->::pg_query::RangeVar::MergeFrom(
          from._internal_relation());
    }
    if (cached_has_bits & 0x00000002u) {
      _this->_internal_mutable_where_clause()->::pg_query::Node::MergeFrom(
          from._internal_where_clause());
    }
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PublicationTable::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PublicationTable::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PublicationTable::InternalSwap(PublicationTable* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  _impl_.columns_.InternalSwap(&other->_impl_.columns_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.where_clause_)
      + sizeof(PublicationTable::_impl_.where_clause_)
      - PROTOBUF_FIELD_OFFSET(PublicationTable, _impl_.relation_)>(
          reinterpret_cast<char*>(&_impl_.relation_),
          reinterpret_cast<char*>(&other->_impl_.relation_));
}

::google::protobuf::Metadata PublicationTable::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[264]);
}
// ===================================================================

class PublicationObjSpec::_Internal {
 public:
  using HasBits = decltype(std::declval<PublicationObjSpec>()._impl_._has_bits_);
  static constexpr ::int32_t kHasBitsOffset =
    8 * PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_._has_bits_);
  static const ::pg_query::PublicationTable& pubtable(const PublicationObjSpec* msg);
  static void set_has_pubtable(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
};

const ::pg_query::PublicationTable& PublicationObjSpec::_Internal::pubtable(const PublicationObjSpec* msg) {
  return *msg->_impl_.pubtable_;
}
PublicationObjSpec::PublicationObjSpec(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.PublicationObjSpec)
}
inline PROTOBUF_NDEBUG_INLINE PublicationObjSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : _has_bits_{from._has_bits_},
        _cached_size_{0},
        name_(arena, from.name_) {}

PublicationObjSpec::PublicationObjSpec(
    ::google::protobuf::Arena* arena,
    const PublicationObjSpec& from)
    : ::google::protobuf::Message(arena) {
  PublicationObjSpec* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::uint32_t cached_has_bits = _impl_._has_bits_[0];
  _impl_.pubtable_ = (cached_has_bits & 0x00000001u)
                ? CreateMaybeMessage<::pg_query::PublicationTable>(arena, *from._impl_.pubtable_)
                : nullptr;
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, pubobjtype_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, pubobjtype_),
           offsetof(Impl_, location_) -
               offsetof(Impl_, pubobjtype_) +
               sizeof(Impl_::location_));

  // @@protoc_insertion_point(copy_constructor:pg_query.PublicationObjSpec)
}
inline PROTOBUF_NDEBUG_INLINE PublicationObjSpec::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0},
        name_(arena) {}

inline void PublicationObjSpec::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, pubtable_),
           0,
           offsetof(Impl_, location_) -
               offsetof(Impl_, pubtable_) +
               sizeof(Impl_::location_));
}
PublicationObjSpec::~PublicationObjSpec() {
  // @@protoc_insertion_point(destructor:pg_query.PublicationObjSpec)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void PublicationObjSpec::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.name_.Destroy();
  delete _impl_.pubtable_;
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void PublicationObjSpec::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.PublicationObjSpec)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.name_.ClearToEmpty();
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    ABSL_DCHECK(_impl_.pubtable_ != nullptr);
    _impl_.pubtable_->Clear();
  }
  ::memset(&_impl_.pubobjtype_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.location_) -
      reinterpret_cast<char*>(&_impl_.pubobjtype_)) + sizeof(_impl_.location_));
  _impl_._has_bits_.Clear();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* PublicationObjSpec::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 1, 40, 2> PublicationObjSpec::_table_ = {
  {
    PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_._has_bits_),
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    1,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_PublicationObjSpec_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // int32 location = 4 [json_name = "location"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PublicationObjSpec, _impl_.location_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.location_)}},
    // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(PublicationObjSpec, _impl_.pubobjtype_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubobjtype_)}},
    // string name = 2 [json_name = "name"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.name_)}},
    // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
    {::_pbi::TcParser::FastMtS1,
     {26, 0, 0, PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubtable_)}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
    {PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubobjtype_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string name = 2 [json_name = "name"];
    {PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.name_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
    {PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubtable_), _Internal::kHasBitsOffset + 0, 0,
    (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)},
    // int32 location = 4 [json_name = "location"];
    {PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.location_), -1, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::PublicationTable>()},
  }}, {{
    "\33\0\4\0\0\0\0\0"
    "pg_query.PublicationObjSpec"
    "name"
  }},
};

::uint8_t* PublicationObjSpec::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.PublicationObjSpec)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
  if (this->_internal_pubobjtype() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_pubobjtype(), target);
  }

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    const std::string& _s = this->_internal_name();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.PublicationObjSpec.name");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  cached_has_bits = _impl_._has_bits_[0];
  // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
  if (cached_has_bits & 0x00000001u) {
    target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage(
        3, _Internal::pubtable(this),
        _Internal::pubtable(this).GetCachedSize(), target, stream);
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<4>(
            stream, this->_internal_location(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.PublicationObjSpec)
  return target;
}

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

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

  // string name = 2 [json_name = "name"];
  if (!this->_internal_name().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_name());
  }

  // .pg_query.PublicationTable pubtable = 3 [json_name = "pubtable"];
  cached_has_bits = _impl_._has_bits_[0];
  if (cached_has_bits & 0x00000001u) {
    total_size +=
        1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*_impl_.pubtable_);
  }

  // .pg_query.PublicationObjSpecType pubobjtype = 1 [json_name = "pubobjtype"];
  if (this->_internal_pubobjtype() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_pubobjtype());
  }

  // int32 location = 4 [json_name = "location"];
  if (this->_internal_location() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_location());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData PublicationObjSpec::_class_data_ = {
    PublicationObjSpec::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* PublicationObjSpec::GetClassData() const {
  return &_class_data_;
}

void PublicationObjSpec::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<PublicationObjSpec*>(&to_msg);
  auto& from = static_cast<const PublicationObjSpec&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.PublicationObjSpec)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _this->_internal_set_name(from._internal_name());
  }
  if ((from._impl_._has_bits_[0] & 0x00000001u) != 0) {
    _this->_internal_mutable_pubtable()->::pg_query::PublicationTable::MergeFrom(
        from._internal_pubtable());
  }
  if (from._internal_pubobjtype() != 0) {
    _this->_internal_set_pubobjtype(from._internal_pubobjtype());
  }
  if (from._internal_location() != 0) {
    _this->_internal_set_location(from._internal_location());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool PublicationObjSpec::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* PublicationObjSpec::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void PublicationObjSpec::InternalSwap(PublicationObjSpec* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.location_)
      + sizeof(PublicationObjSpec::_impl_.location_)
      - PROTOBUF_FIELD_OFFSET(PublicationObjSpec, _impl_.pubtable_)>(
          reinterpret_cast<char*>(&_impl_.pubtable_),
          reinterpret_cast<char*>(&other->_impl_.pubtable_));
}

::google::protobuf::Metadata PublicationObjSpec::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[265]);
}
// ===================================================================

class CreatePublicationStmt::_Internal {
 public:
};

CreatePublicationStmt::CreatePublicationStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreatePublicationStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePublicationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        pubobjects_{visibility, arena, from.pubobjects_},
        pubname_(arena, from.pubname_),
        _cached_size_{0} {}

CreatePublicationStmt::CreatePublicationStmt(
    ::google::protobuf::Arena* arena,
    const CreatePublicationStmt& from)
    : ::google::protobuf::Message(arena) {
  CreatePublicationStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.for_all_tables_ = from._impl_.for_all_tables_;

  // @@protoc_insertion_point(copy_constructor:pg_query.CreatePublicationStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreatePublicationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        pubobjects_{visibility, arena},
        pubname_(arena),
        _cached_size_{0} {}

inline void CreatePublicationStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.for_all_tables_ = {};
}
CreatePublicationStmt::~CreatePublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreatePublicationStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreatePublicationStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.pubname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreatePublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreatePublicationStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.pubobjects_.Clear();
  _impl_.pubname_.ClearToEmpty();
  _impl_.for_all_tables_ = false;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreatePublicationStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 46, 2> CreatePublicationStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreatePublicationStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // bool for_all_tables = 4 [json_name = "for_all_tables"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(CreatePublicationStmt, _impl_.for_all_tables_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.for_all_tables_)}},
    // string pubname = 1 [json_name = "pubname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.pubname_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.options_)}},
    // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.pubobjects_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string pubname = 1 [json_name = "pubname"];
    {PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.pubname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
    {PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.pubobjects_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool for_all_tables = 4 [json_name = "for_all_tables"];
    {PROTOBUF_FIELD_OFFSET(CreatePublicationStmt, _impl_.for_all_tables_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\36\7\0\0\0\0\0\0"
    "pg_query.CreatePublicationStmt"
    "pubname"
  }},
};

::uint8_t* CreatePublicationStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreatePublicationStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    const std::string& _s = this->_internal_pubname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreatePublicationStmt.pubname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pubobjects_size()); i < n; i++) {
    const auto& repfield = this->_internal_pubobjects().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_for_all_tables(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreatePublicationStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  total_size += 1UL * this->_internal_pubobjects_size();
  for (const auto& msg : this->_internal_pubobjects()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    total_size += 2;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreatePublicationStmt::_class_data_ = {
    CreatePublicationStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreatePublicationStmt::GetClassData() const {
  return &_class_data_;
}

void CreatePublicationStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreatePublicationStmt*>(&to_msg);
  auto& from = static_cast<const CreatePublicationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreatePublicationStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_mutable_pubobjects()->MergeFrom(
      from._internal_pubobjects());
  if (!from._internal_pubname().empty()) {
    _this->_internal_set_pubname(from._internal_pubname());
  }
  if (from._internal_for_all_tables() != 0) {
    _this->_internal_set_for_all_tables(from._internal_for_all_tables());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreatePublicationStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreatePublicationStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreatePublicationStmt::InternalSwap(CreatePublicationStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.pubobjects_.InternalSwap(&other->_impl_.pubobjects_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pubname_, &other->_impl_.pubname_, arena);
        swap(_impl_.for_all_tables_, other->_impl_.for_all_tables_);
}

::google::protobuf::Metadata CreatePublicationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[266]);
}
// ===================================================================

class AlterPublicationStmt::_Internal {
 public:
};

AlterPublicationStmt::AlterPublicationStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterPublicationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterPublicationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : options_{visibility, arena, from.options_},
        pubobjects_{visibility, arena, from.pubobjects_},
        pubname_(arena, from.pubname_),
        _cached_size_{0} {}

AlterPublicationStmt::AlterPublicationStmt(
    ::google::protobuf::Arena* arena,
    const AlterPublicationStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterPublicationStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, for_all_tables_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, for_all_tables_),
           offsetof(Impl_, action_) -
               offsetof(Impl_, for_all_tables_) +
               sizeof(Impl_::action_));

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterPublicationStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterPublicationStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : options_{visibility, arena},
        pubobjects_{visibility, arena},
        pubname_(arena),
        _cached_size_{0} {}

inline void AlterPublicationStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, for_all_tables_),
           0,
           offsetof(Impl_, action_) -
               offsetof(Impl_, for_all_tables_) +
               sizeof(Impl_::action_));
}
AlterPublicationStmt::~AlterPublicationStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterPublicationStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterPublicationStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.pubname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterPublicationStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterPublicationStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.options_.Clear();
  _impl_.pubobjects_.Clear();
  _impl_.pubname_.ClearToEmpty();
  ::memset(&_impl_.for_all_tables_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.action_) -
      reinterpret_cast<char*>(&_impl_.for_all_tables_)) + sizeof(_impl_.action_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterPublicationStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 45, 2> AlterPublicationStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterPublicationStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string pubname = 1 [json_name = "pubname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.pubname_)}},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.options_)}},
    // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 1, PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.pubobjects_)}},
    // bool for_all_tables = 4 [json_name = "for_all_tables"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(AlterPublicationStmt, _impl_.for_all_tables_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.for_all_tables_)}},
    // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterPublicationStmt, _impl_.action_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.action_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // string pubname = 1 [json_name = "pubname"];
    {PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.pubname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node options = 2 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.options_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
    {PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.pubobjects_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // bool for_all_tables = 4 [json_name = "for_all_tables"];
    {PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.for_all_tables_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
    {PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.action_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\35\7\0\0\0\0\0\0"
    "pg_query.AlterPublicationStmt"
    "pubname"
  }},
};

::uint8_t* AlterPublicationStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterPublicationStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    const std::string& _s = this->_internal_pubname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterPublicationStmt.pubname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_pubobjects_size()); i < n; i++) {
    const auto& repfield = this->_internal_pubobjects().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        4, this->_internal_for_all_tables(), target);
  }

  // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
  if (this->_internal_action() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_action(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterPublicationStmt)
  return target;
}

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

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

  // repeated .pg_query.Node options = 2 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node pubobjects = 3 [json_name = "pubobjects"];
  total_size += 1UL * this->_internal_pubobjects_size();
  for (const auto& msg : this->_internal_pubobjects()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string pubname = 1 [json_name = "pubname"];
  if (!this->_internal_pubname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_pubname());
  }

  // bool for_all_tables = 4 [json_name = "for_all_tables"];
  if (this->_internal_for_all_tables() != 0) {
    total_size += 2;
  }

  // .pg_query.AlterPublicationAction action = 5 [json_name = "action"];
  if (this->_internal_action() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_action());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterPublicationStmt::_class_data_ = {
    AlterPublicationStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterPublicationStmt::GetClassData() const {
  return &_class_data_;
}

void AlterPublicationStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterPublicationStmt*>(&to_msg);
  auto& from = static_cast<const AlterPublicationStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterPublicationStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  _this->_internal_mutable_pubobjects()->MergeFrom(
      from._internal_pubobjects());
  if (!from._internal_pubname().empty()) {
    _this->_internal_set_pubname(from._internal_pubname());
  }
  if (from._internal_for_all_tables() != 0) {
    _this->_internal_set_for_all_tables(from._internal_for_all_tables());
  }
  if (from._internal_action() != 0) {
    _this->_internal_set_action(from._internal_action());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool AlterPublicationStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterPublicationStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterPublicationStmt::InternalSwap(AlterPublicationStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  _impl_.pubobjects_.InternalSwap(&other->_impl_.pubobjects_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.pubname_, &other->_impl_.pubname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.action_)
      + sizeof(AlterPublicationStmt::_impl_.action_)
      - PROTOBUF_FIELD_OFFSET(AlterPublicationStmt, _impl_.for_all_tables_)>(
          reinterpret_cast<char*>(&_impl_.for_all_tables_),
          reinterpret_cast<char*>(&other->_impl_.for_all_tables_));
}

::google::protobuf::Metadata AlterPublicationStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[267]);
}
// ===================================================================

class CreateSubscriptionStmt::_Internal {
 public:
};

CreateSubscriptionStmt::CreateSubscriptionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.CreateSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : publication_{visibility, arena, from.publication_},
        options_{visibility, arena, from.options_},
        subname_(arena, from.subname_),
        conninfo_(arena, from.conninfo_),
        _cached_size_{0} {}

CreateSubscriptionStmt::CreateSubscriptionStmt(
    ::google::protobuf::Arena* arena,
    const CreateSubscriptionStmt& from)
    : ::google::protobuf::Message(arena) {
  CreateSubscriptionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);

  // @@protoc_insertion_point(copy_constructor:pg_query.CreateSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE CreateSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : publication_{visibility, arena},
        options_{visibility, arena},
        subname_(arena),
        conninfo_(arena),
        _cached_size_{0} {}

inline void CreateSubscriptionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
}
CreateSubscriptionStmt::~CreateSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.CreateSubscriptionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void CreateSubscriptionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.subname_.Destroy();
  _impl_.conninfo_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void CreateSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.CreateSubscriptionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.publication_.Clear();
  _impl_.options_.Clear();
  _impl_.subname_.ClearToEmpty();
  _impl_.conninfo_.ClearToEmpty();
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* CreateSubscriptionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 4, 2, 55, 2> CreateSubscriptionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    4, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967280,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_CreateSubscriptionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 1, PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.options_)}},
    // string subname = 1 [json_name = "subname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.subname_)}},
    // string conninfo = 2 [json_name = "conninfo"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.conninfo_)}},
    // repeated .pg_query.Node publication = 3 [json_name = "publication"];
    {::_pbi::TcParser::FastMtR1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.publication_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string subname = 1 [json_name = "subname"];
    {PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.subname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string conninfo = 2 [json_name = "conninfo"];
    {PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.conninfo_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node publication = 3 [json_name = "publication"];
    {PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.publication_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 4 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(CreateSubscriptionStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\37\7\10\0\0\0\0\0"
    "pg_query.CreateSubscriptionStmt"
    "subname"
    "conninfo"
  }},
};

::uint8_t* CreateSubscriptionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.CreateSubscriptionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    const std::string& _s = this->_internal_subname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // string conninfo = 2 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    const std::string& _s = this->_internal_conninfo();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.CreateSubscriptionStmt.conninfo");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // repeated .pg_query.Node publication = 3 [json_name = "publication"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_publication_size()); i < n; i++) {
    const auto& repfield = this->_internal_publication().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(3, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 4 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.CreateSubscriptionStmt)
  return target;
}

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

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

  // repeated .pg_query.Node publication = 3 [json_name = "publication"];
  total_size += 1UL * this->_internal_publication_size();
  for (const auto& msg : this->_internal_publication()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 4 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_subname());
  }

  // string conninfo = 2 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conninfo());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData CreateSubscriptionStmt::_class_data_ = {
    CreateSubscriptionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* CreateSubscriptionStmt::GetClassData() const {
  return &_class_data_;
}

void CreateSubscriptionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<CreateSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const CreateSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.CreateSubscriptionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_publication()->MergeFrom(
      from._internal_publication());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_conninfo().empty()) {
    _this->_internal_set_conninfo(from._internal_conninfo());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

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

PROTOBUF_NOINLINE bool CreateSubscriptionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* CreateSubscriptionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void CreateSubscriptionStmt::InternalSwap(CreateSubscriptionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.publication_.InternalSwap(&other->_impl_.publication_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.subname_, &other->_impl_.subname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conninfo_, &other->_impl_.conninfo_, arena);
}

::google::protobuf::Metadata CreateSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[268]);
}
// ===================================================================

class AlterSubscriptionStmt::_Internal {
 public:
};

AlterSubscriptionStmt::AlterSubscriptionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.AlterSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : publication_{visibility, arena, from.publication_},
        options_{visibility, arena, from.options_},
        subname_(arena, from.subname_),
        conninfo_(arena, from.conninfo_),
        _cached_size_{0} {}

AlterSubscriptionStmt::AlterSubscriptionStmt(
    ::google::protobuf::Arena* arena,
    const AlterSubscriptionStmt& from)
    : ::google::protobuf::Message(arena) {
  AlterSubscriptionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  _impl_.kind_ = from._impl_.kind_;

  // @@protoc_insertion_point(copy_constructor:pg_query.AlterSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE AlterSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : publication_{visibility, arena},
        options_{visibility, arena},
        subname_(arena),
        conninfo_(arena),
        _cached_size_{0} {}

inline void AlterSubscriptionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  _impl_.kind_ = {};
}
AlterSubscriptionStmt::~AlterSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.AlterSubscriptionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void AlterSubscriptionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.subname_.Destroy();
  _impl_.conninfo_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void AlterSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.AlterSubscriptionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.publication_.Clear();
  _impl_.options_.Clear();
  _impl_.subname_.ClearToEmpty();
  _impl_.conninfo_.ClearToEmpty();
  _impl_.kind_ = 0;
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* AlterSubscriptionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 5, 2, 54, 2> AlterSubscriptionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967264,  // skipmap
    offsetof(decltype(_table_), field_entries),
    5,  // num_field_entries
    2,  // num_aux_entries
    offsetof(decltype(_table_), aux_entries),
    &_AlterSubscriptionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(AlterSubscriptionStmt, _impl_.kind_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.kind_)}},
    // string subname = 2 [json_name = "subname"];
    {::_pbi::TcParser::FastUS1,
     {18, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.subname_)}},
    // string conninfo = 3 [json_name = "conninfo"];
    {::_pbi::TcParser::FastUS1,
     {26, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.conninfo_)}},
    // repeated .pg_query.Node publication = 4 [json_name = "publication"];
    {::_pbi::TcParser::FastMtR1,
     {34, 63, 0, PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.publication_)}},
    // repeated .pg_query.Node options = 5 [json_name = "options"];
    {::_pbi::TcParser::FastMtR1,
     {42, 63, 1, PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.options_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
    {PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // string subname = 2 [json_name = "subname"];
    {PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.subname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // string conninfo = 3 [json_name = "conninfo"];
    {PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.conninfo_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // repeated .pg_query.Node publication = 4 [json_name = "publication"];
    {PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.publication_), 0, 0,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
    // repeated .pg_query.Node options = 5 [json_name = "options"];
    {PROTOBUF_FIELD_OFFSET(AlterSubscriptionStmt, _impl_.options_), 0, 1,
    (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)},
  }}, {{
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
    {::_pbi::TcParser::GetTable<::pg_query::Node>()},
  }}, {{
    "\36\0\7\10\0\0\0\0"
    "pg_query.AlterSubscriptionStmt"
    "subname"
    "conninfo"
  }},
};

::uint8_t* AlterSubscriptionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.AlterSubscriptionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        1, this->_internal_kind(), target);
  }

  // string subname = 2 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    const std::string& _s = this->_internal_subname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(2, _s, target);
  }

  // string conninfo = 3 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    const std::string& _s = this->_internal_conninfo();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.AlterSubscriptionStmt.conninfo");
    target = stream->WriteStringMaybeAliased(3, _s, target);
  }

  // repeated .pg_query.Node publication = 4 [json_name = "publication"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_publication_size()); i < n; i++) {
    const auto& repfield = this->_internal_publication().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .pg_query.Node options = 5 [json_name = "options"];
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_options_size()); i < n; i++) {
    const auto& repfield = this->_internal_options().Get(i);
    target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.AlterSubscriptionStmt)
  return target;
}

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

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // repeated .pg_query.Node publication = 4 [json_name = "publication"];
  total_size += 1UL * this->_internal_publication_size();
  for (const auto& msg : this->_internal_publication()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // repeated .pg_query.Node options = 5 [json_name = "options"];
  total_size += 1UL * this->_internal_options_size();
  for (const auto& msg : this->_internal_options()) {
    total_size +=
      ::google::protobuf::internal::WireFormatLite::MessageSize(msg);
  }
  // string subname = 2 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_subname());
  }

  // string conninfo = 3 [json_name = "conninfo"];
  if (!this->_internal_conninfo().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_conninfo());
  }

  // .pg_query.AlterSubscriptionType kind = 1 [json_name = "kind"];
  if (this->_internal_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData AlterSubscriptionStmt::_class_data_ = {
    AlterSubscriptionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* AlterSubscriptionStmt::GetClassData() const {
  return &_class_data_;
}

void AlterSubscriptionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<AlterSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const AlterSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.AlterSubscriptionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  _this->_internal_mutable_publication()->MergeFrom(
      from._internal_publication());
  _this->_internal_mutable_options()->MergeFrom(
      from._internal_options());
  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (!from._internal_conninfo().empty()) {
    _this->_internal_set_conninfo(from._internal_conninfo());
  }
  if (from._internal_kind() != 0) {
    _this->_internal_set_kind(from._internal_kind());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void AlterSubscriptionStmt::CopyFrom(const AlterSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.AlterSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool AlterSubscriptionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* AlterSubscriptionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void AlterSubscriptionStmt::InternalSwap(AlterSubscriptionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  _impl_.publication_.InternalSwap(&other->_impl_.publication_);
  _impl_.options_.InternalSwap(&other->_impl_.options_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.subname_, &other->_impl_.subname_, arena);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.conninfo_, &other->_impl_.conninfo_, arena);
  swap(_impl_.kind_, other->_impl_.kind_);
}

::google::protobuf::Metadata AlterSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[269]);
}
// ===================================================================

class DropSubscriptionStmt::_Internal {
 public:
};

DropSubscriptionStmt::DropSubscriptionStmt(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.DropSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena,
    const Impl_& from)
      : subname_(arena, from.subname_),
        _cached_size_{0} {}

DropSubscriptionStmt::DropSubscriptionStmt(
    ::google::protobuf::Arena* arena,
    const DropSubscriptionStmt& from)
    : ::google::protobuf::Message(arena) {
  DropSubscriptionStmt* const _this = this;
  (void)_this;
  _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(
      from._internal_metadata_);
  new (&_impl_) Impl_(internal_visibility(), arena, from._impl_);
  ::memcpy(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, missing_ok_),
           reinterpret_cast<const char *>(&from._impl_) +
               offsetof(Impl_, missing_ok_),
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, missing_ok_) +
               sizeof(Impl_::behavior_));

  // @@protoc_insertion_point(copy_constructor:pg_query.DropSubscriptionStmt)
}
inline PROTOBUF_NDEBUG_INLINE DropSubscriptionStmt::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : subname_(arena),
        _cached_size_{0} {}

inline void DropSubscriptionStmt::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, missing_ok_),
           0,
           offsetof(Impl_, behavior_) -
               offsetof(Impl_, missing_ok_) +
               sizeof(Impl_::behavior_));
}
DropSubscriptionStmt::~DropSubscriptionStmt() {
  // @@protoc_insertion_point(destructor:pg_query.DropSubscriptionStmt)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void DropSubscriptionStmt::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.subname_.Destroy();
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void DropSubscriptionStmt::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.DropSubscriptionStmt)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  _impl_.subname_.ClearToEmpty();
  ::memset(&_impl_.missing_ok_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.behavior_) -
      reinterpret_cast<char*>(&_impl_.missing_ok_)) + sizeof(_impl_.behavior_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* DropSubscriptionStmt::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<2, 3, 0, 45, 2> DropSubscriptionStmt::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    3, 24,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967288,  // skipmap
    offsetof(decltype(_table_), field_entries),
    3,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_DropSubscriptionStmt_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // string subname = 1 [json_name = "subname"];
    {::_pbi::TcParser::FastUS1,
     {10, 63, 0, PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.subname_)}},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {::_pbi::TcParser::SingularVarintNoZag1<bool, offsetof(DropSubscriptionStmt, _impl_.missing_ok_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.missing_ok_)}},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(DropSubscriptionStmt, _impl_.behavior_), 63>(),
     {24, 63, 0, PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.behavior_)}},
  }}, {{
    65535, 65535
  }}, {{
    // string subname = 1 [json_name = "subname"];
    {PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.subname_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)},
    // bool missing_ok = 2 [json_name = "missing_ok"];
    {PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.missing_ok_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kBool)},
    // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
    {PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.behavior_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
    "\35\7\0\0\0\0\0\0"
    "pg_query.DropSubscriptionStmt"
    "subname"
  }},
};

::uint8_t* DropSubscriptionStmt::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.DropSubscriptionStmt)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    const std::string& _s = this->_internal_subname();
    ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        _s.data(), static_cast<int>(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "pg_query.DropSubscriptionStmt.subname");
    target = stream->WriteStringMaybeAliased(1, _s, target);
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(
        2, this->_internal_missing_ok(), target);
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        3, this->_internal_behavior(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.DropSubscriptionStmt)
  return target;
}

::size_t DropSubscriptionStmt::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.DropSubscriptionStmt)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // string subname = 1 [json_name = "subname"];
  if (!this->_internal_subname().empty()) {
    total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize(
                                    this->_internal_subname());
  }

  // bool missing_ok = 2 [json_name = "missing_ok"];
  if (this->_internal_missing_ok() != 0) {
    total_size += 2;
  }

  // .pg_query.DropBehavior behavior = 3 [json_name = "behavior"];
  if (this->_internal_behavior() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_behavior());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData DropSubscriptionStmt::_class_data_ = {
    DropSubscriptionStmt::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* DropSubscriptionStmt::GetClassData() const {
  return &_class_data_;
}

void DropSubscriptionStmt::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<DropSubscriptionStmt*>(&to_msg);
  auto& from = static_cast<const DropSubscriptionStmt&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.DropSubscriptionStmt)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_subname().empty()) {
    _this->_internal_set_subname(from._internal_subname());
  }
  if (from._internal_missing_ok() != 0) {
    _this->_internal_set_missing_ok(from._internal_missing_ok());
  }
  if (from._internal_behavior() != 0) {
    _this->_internal_set_behavior(from._internal_behavior());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void DropSubscriptionStmt::CopyFrom(const DropSubscriptionStmt& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.DropSubscriptionStmt)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool DropSubscriptionStmt::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* DropSubscriptionStmt::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void DropSubscriptionStmt::InternalSwap(DropSubscriptionStmt* PROTOBUF_RESTRICT other) {
  using std::swap;
  auto* arena = GetArena();
  ABSL_DCHECK_EQ(arena, other->GetArena());
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.subname_, &other->_impl_.subname_, arena);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.behavior_)
      + sizeof(DropSubscriptionStmt::_impl_.behavior_)
      - PROTOBUF_FIELD_OFFSET(DropSubscriptionStmt, _impl_.missing_ok_)>(
          reinterpret_cast<char*>(&_impl_.missing_ok_),
          reinterpret_cast<char*>(&other->_impl_.missing_ok_));
}

::google::protobuf::Metadata DropSubscriptionStmt::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[270]);
}
// ===================================================================

class ScanToken::_Internal {
 public:
};

ScanToken::ScanToken(::google::protobuf::Arena* arena)
    : ::google::protobuf::Message(arena) {
  SharedCtor(arena);
  // @@protoc_insertion_point(arena_constructor:pg_query.ScanToken)
}
ScanToken::ScanToken(
    ::google::protobuf::Arena* arena, const ScanToken& from)
    : ScanToken(arena) {
  MergeFrom(from);
}
inline PROTOBUF_NDEBUG_INLINE ScanToken::Impl_::Impl_(
    ::google::protobuf::internal::InternalVisibility visibility,
    ::google::protobuf::Arena* arena)
      : _cached_size_{0} {}

inline void ScanToken::SharedCtor(::_pb::Arena* arena) {
  new (&_impl_) Impl_(internal_visibility(), arena);
  ::memset(reinterpret_cast<char *>(&_impl_) +
               offsetof(Impl_, start_),
           0,
           offsetof(Impl_, keyword_kind_) -
               offsetof(Impl_, start_) +
               sizeof(Impl_::keyword_kind_));
}
ScanToken::~ScanToken() {
  // @@protoc_insertion_point(destructor:pg_query.ScanToken)
  _internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>();
  SharedDtor();
}
inline void ScanToken::SharedDtor() {
  ABSL_DCHECK(GetArena() == nullptr);
  _impl_.~Impl_();
}

PROTOBUF_NOINLINE void ScanToken::Clear() {
// @@protoc_insertion_point(message_clear_start:pg_query.ScanToken)
  PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  ::memset(&_impl_.start_, 0, static_cast<::size_t>(
      reinterpret_cast<char*>(&_impl_.keyword_kind_) -
      reinterpret_cast<char*>(&_impl_.start_)) + sizeof(_impl_.keyword_kind_));
  _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>();
}

const char* ScanToken::_InternalParse(
    const char* ptr, ::_pbi::ParseContext* ctx) {
  ptr = ::_pbi::TcParser::ParseLoop(this, ptr, ctx, &_table_.header);
  return ptr;
}


PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1
const ::_pbi::TcParseTable<3, 4, 0, 0, 2> ScanToken::_table_ = {
  {
    0,  // no _has_bits_
    0, // no _extensions_
    5, 56,  // max_field_number, fast_idx_mask
    offsetof(decltype(_table_), field_lookup_table),
    4294967268,  // skipmap
    offsetof(decltype(_table_), field_entries),
    4,  // num_field_entries
    0,  // num_aux_entries
    offsetof(decltype(_table_), field_names),  // no aux_entries
    &_ScanToken_default_instance_._instance,
    ::_pbi::TcParser::GenericFallback,  // fallback
  }, {{
    {::_pbi::TcParser::MiniParse, {}},
    // int32 start = 1;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScanToken, _impl_.start_), 63>(),
     {8, 63, 0, PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.start_)}},
    // int32 end = 2;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScanToken, _impl_.end_), 63>(),
     {16, 63, 0, PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.end_)}},
    {::_pbi::TcParser::MiniParse, {}},
    // .pg_query.Token token = 4;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScanToken, _impl_.token_), 63>(),
     {32, 63, 0, PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.token_)}},
    // .pg_query.KeywordKind keyword_kind = 5;
    {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(ScanToken, _impl_.keyword_kind_), 63>(),
     {40, 63, 0, PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.keyword_kind_)}},
    {::_pbi::TcParser::MiniParse, {}},
    {::_pbi::TcParser::MiniParse, {}},
  }}, {{
    65535, 65535
  }}, {{
    // int32 start = 1;
    {PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.start_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // int32 end = 2;
    {PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.end_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kInt32)},
    // .pg_query.Token token = 4;
    {PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.token_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
    // .pg_query.KeywordKind keyword_kind = 5;
    {PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.keyword_kind_), 0, 0,
    (0 | ::_fl::kFcSingular | ::_fl::kOpenEnum)},
  }},
  // no aux_entries
  {{
  }},
};

::uint8_t* ScanToken::_InternalSerialize(
    ::uint8_t* target,
    ::google::protobuf::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:pg_query.ScanToken)
  ::uint32_t cached_has_bits = 0;
  (void)cached_has_bits;

  // int32 start = 1;
  if (this->_internal_start() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<1>(
            stream, this->_internal_start(), target);
  }

  // int32 end = 2;
  if (this->_internal_end() != 0) {
    target = ::google::protobuf::internal::WireFormatLite::
        WriteInt32ToArrayWithField<2>(
            stream, this->_internal_end(), target);
  }

  // .pg_query.Token token = 4;
  if (this->_internal_token() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        4, this->_internal_token(), target);
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->_internal_keyword_kind() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
        5, this->_internal_keyword_kind(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target =
        ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
            _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:pg_query.ScanToken)
  return target;
}

::size_t ScanToken::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:pg_query.ScanToken)
  ::size_t total_size = 0;

  ::uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // int32 start = 1;
  if (this->_internal_start() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_start());
  }

  // int32 end = 2;
  if (this->_internal_end() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(
        this->_internal_end());
  }

  // .pg_query.Token token = 4;
  if (this->_internal_token() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_token());
  }

  // .pg_query.KeywordKind keyword_kind = 5;
  if (this->_internal_keyword_kind() != 0) {
    total_size += 1 +
                  ::_pbi::WireFormatLite::EnumSize(this->_internal_keyword_kind());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_impl_._cached_size_);
}

const ::google::protobuf::Message::ClassData ScanToken::_class_data_ = {
    ScanToken::MergeImpl,
    nullptr,  // OnDemandRegisterArenaDtor
};
const ::google::protobuf::Message::ClassData* ScanToken::GetClassData() const {
  return &_class_data_;
}

void ScanToken::MergeImpl(::google::protobuf::Message& to_msg, const ::google::protobuf::Message& from_msg) {
  auto* const _this = static_cast<ScanToken*>(&to_msg);
  auto& from = static_cast<const ScanToken&>(from_msg);
  // @@protoc_insertion_point(class_specific_merge_from_start:pg_query.ScanToken)
  ABSL_DCHECK_NE(&from, _this);
  ::uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_start() != 0) {
    _this->_internal_set_start(from._internal_start());
  }
  if (from._internal_end() != 0) {
    _this->_internal_set_end(from._internal_end());
  }
  if (from._internal_token() != 0) {
    _this->_internal_set_token(from._internal_token());
  }
  if (from._internal_keyword_kind() != 0) {
    _this->_internal_set_keyword_kind(from._internal_keyword_kind());
  }
  _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_);
}

void ScanToken::CopyFrom(const ScanToken& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:pg_query.ScanToken)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

PROTOBUF_NOINLINE bool ScanToken::IsInitialized() const {
  return true;
}

::_pbi::CachedSize* ScanToken::AccessCachedSize() const {
  return &_impl_._cached_size_;
}
void ScanToken::InternalSwap(ScanToken* PROTOBUF_RESTRICT other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::google::protobuf::internal::memswap<
      PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.keyword_kind_)
      + sizeof(ScanToken::_impl_.keyword_kind_)
      - PROTOBUF_FIELD_OFFSET(ScanToken, _impl_.start_)>(
          reinterpret_cast<char*>(&_impl_.start_),
          reinterpret_cast<char*>(&other->_impl_.start_));
}

::google::protobuf::Metadata ScanToken::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_protobuf_2fpg_5fquery_2eproto_getter, &descriptor_table_protobuf_2fpg_5fquery_2eproto_once,
      file_level_metadata_protobuf_2fpg_5fquery_2eproto[271]);
}
// @@protoc_insertion_point(namespace_scope)
}  // namespace pg_query
namespace google {
namespace protobuf {
}  // namespace protobuf
}  // namespace google
// @@protoc_insertion_point(global_scope)
#include "google/protobuf/port_undef.inc"
