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

#include "messages.pb.h"

#include <algorithm>

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

PROTOBUF_PRAGMA_INIT_SEG

namespace _pb = ::PROTOBUF_NAMESPACE_ID;
namespace _pbi = _pb::internal;

namespace AstroidMessages {
PROTOBUF_CONSTEXPR Focus::Focus(
    ::_pbi::ConstantInitialized)
  : mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , focus_(false)
  , element_(0){}
struct FocusDefaultTypeInternal {
  PROTOBUF_CONSTEXPR FocusDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~FocusDefaultTypeInternal() {}
  union {
    Focus _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 FocusDefaultTypeInternal _Focus_default_instance_;
PROTOBUF_CONSTEXPR Ack::Ack(
    ::_pbi::ConstantInitialized)
  : focus_(nullptr)
  , id_(0)
  , success_(false){}
struct AckDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AckDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AckDefaultTypeInternal() {}
  union {
    Ack _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AckDefaultTypeInternal _Ack_default_instance_;
PROTOBUF_CONSTEXPR Indent::Indent(
    ::_pbi::ConstantInitialized)
  : bogus_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , indent_(false){}
struct IndentDefaultTypeInternal {
  PROTOBUF_CONSTEXPR IndentDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~IndentDefaultTypeInternal() {}
  union {
    Indent _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 IndentDefaultTypeInternal _Indent_default_instance_;
PROTOBUF_CONSTEXPR AllowRemoteImages::AllowRemoteImages(
    ::_pbi::ConstantInitialized)
  : bogus_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , allow_(false){}
struct AllowRemoteImagesDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AllowRemoteImagesDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AllowRemoteImagesDefaultTypeInternal() {}
  union {
    AllowRemoteImages _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AllowRemoteImagesDefaultTypeInternal _AllowRemoteImages_default_instance_;
PROTOBUF_CONSTEXPR Navigate::Navigate(
    ::_pbi::ConstantInitialized)
  : mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , direction_(0)

  , type_(0)

  , element_(0)
  , focus_top_(false){}
struct NavigateDefaultTypeInternal {
  PROTOBUF_CONSTEXPR NavigateDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~NavigateDefaultTypeInternal() {}
  union {
    Navigate _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 NavigateDefaultTypeInternal _Navigate_default_instance_;
PROTOBUF_CONSTEXPR Mark::Mark(
    ::_pbi::ConstantInitialized)
  : mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , marked_(false){}
struct MarkDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MarkDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MarkDefaultTypeInternal() {}
  union {
    Mark _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MarkDefaultTypeInternal _Mark_default_instance_;
PROTOBUF_CONSTEXPR Hidden::Hidden(
    ::_pbi::ConstantInitialized)
  : mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , hidden_(false){}
struct HiddenDefaultTypeInternal {
  PROTOBUF_CONSTEXPR HiddenDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~HiddenDefaultTypeInternal() {}
  union {
    Hidden _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HiddenDefaultTypeInternal _Hidden_default_instance_;
PROTOBUF_CONSTEXPR Debug::Debug(
    ::_pbi::ConstantInitialized)
  : msg_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}){}
struct DebugDefaultTypeInternal {
  PROTOBUF_CONSTEXPR DebugDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~DebugDefaultTypeInternal() {}
  union {
    Debug _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 DebugDefaultTypeInternal _Debug_default_instance_;
PROTOBUF_CONSTEXPR Page::Page(
    ::_pbi::ConstantInitialized)
  : allowed_uris_()
  , html_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , css_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , part_css_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , log_level_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , use_stdout_(false)
  , use_syslog_(false)
  , disable_log_(false){}
struct PageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR PageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~PageDefaultTypeInternal() {}
  union {
    Page _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 PageDefaultTypeInternal _Page_default_instance_;
PROTOBUF_CONSTEXPR Info::Info(
    ::_pbi::ConstantInitialized)
  : mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , txt_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , warning_(false)
  , set_(false){}
struct InfoDefaultTypeInternal {
  PROTOBUF_CONSTEXPR InfoDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~InfoDefaultTypeInternal() {}
  union {
    Info _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 InfoDefaultTypeInternal _Info_default_instance_;
PROTOBUF_CONSTEXPR Address::Address(
    ::_pbi::ConstantInitialized)
  : name_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , email_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , full_address_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{}){}
struct AddressDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AddressDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AddressDefaultTypeInternal() {}
  union {
    Address _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddressDefaultTypeInternal _Address_default_instance_;
PROTOBUF_CONSTEXPR AddressList::AddressList(
    ::_pbi::ConstantInitialized)
  : addresses_(){}
struct AddressListDefaultTypeInternal {
  PROTOBUF_CONSTEXPR AddressListDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~AddressListDefaultTypeInternal() {}
  union {
    AddressList _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 AddressListDefaultTypeInternal _AddressList_default_instance_;
PROTOBUF_CONSTEXPR Message_Chunk_Signature::Message_Chunk_Signature(
    ::_pbi::ConstantInitialized)
  : sign_strings_()
  , all_errors_()
  , verified_(false){}
struct Message_Chunk_SignatureDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Message_Chunk_SignatureDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~Message_Chunk_SignatureDefaultTypeInternal() {}
  union {
    Message_Chunk_Signature _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Message_Chunk_SignatureDefaultTypeInternal _Message_Chunk_Signature_default_instance_;
PROTOBUF_CONSTEXPR Message_Chunk_Encryption::Message_Chunk_Encryption(
    ::_pbi::ConstantInitialized)
  : enc_strings_()
  , decrypted_(false){}
struct Message_Chunk_EncryptionDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Message_Chunk_EncryptionDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~Message_Chunk_EncryptionDefaultTypeInternal() {}
  union {
    Message_Chunk_Encryption _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Message_Chunk_EncryptionDefaultTypeInternal _Message_Chunk_Encryption_default_instance_;
PROTOBUF_CONSTEXPR Message_Chunk::Message_Chunk(
    ::_pbi::ConstantInitialized)
  : kids_()
  , siblings_()
  , mime_type_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , content_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , sid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , filename_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , human_size_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , thumbnail_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , cid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , signature_(nullptr)
  , encryption_(nullptr)
  , id_(0)
  , viewable_(false)
  , preferred_(false)
  , attachment_(false)
  , is_encrypted_(false)
  , is_signed_(false)
  , sibling_(false)
  , use_(false)
  , focusable_(false)
  , size_(0)
  , crypto_id_(0){}
struct Message_ChunkDefaultTypeInternal {
  PROTOBUF_CONSTEXPR Message_ChunkDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~Message_ChunkDefaultTypeInternal() {}
  union {
    Message_Chunk _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 Message_ChunkDefaultTypeInternal _Message_Chunk_default_instance_;
PROTOBUF_CONSTEXPR Message::Message(
    ::_pbi::ConstantInitialized)
  : tags_()
  , mime_messages_()
  , attachments_()
  , mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , date_pretty_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , date_verbose_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , subject_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , gravatar_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , in_reply_to_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , preview_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , tag_string_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , sender_(nullptr)
  , to_(nullptr)
  , cc_(nullptr)
  , bcc_(nullptr)
  , reply_to_(nullptr)
  , root_(nullptr)
  , level_(0)
  , missing_content_(false)
  , patch_(false)
  , different_subject_(false){}
struct MessageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR MessageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~MessageDefaultTypeInternal() {}
  union {
    Message _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 MessageDefaultTypeInternal _Message_default_instance_;
PROTOBUF_CONSTEXPR State_MessageState_Element::State_MessageState_Element(
    ::_pbi::ConstantInitialized)
  : sid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , type_(0)

  , id_(0)
  , focusable_(false){}
struct State_MessageState_ElementDefaultTypeInternal {
  PROTOBUF_CONSTEXPR State_MessageState_ElementDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~State_MessageState_ElementDefaultTypeInternal() {}
  union {
    State_MessageState_Element _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 State_MessageState_ElementDefaultTypeInternal _State_MessageState_Element_default_instance_;
PROTOBUF_CONSTEXPR State_MessageState::State_MessageState(
    ::_pbi::ConstantInitialized)
  : elements_()
  , mid_(&::_pbi::fixed_address_empty_string, ::_pbi::ConstantInitialized{})
  , level_(0){}
struct State_MessageStateDefaultTypeInternal {
  PROTOBUF_CONSTEXPR State_MessageStateDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~State_MessageStateDefaultTypeInternal() {}
  union {
    State_MessageState _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 State_MessageStateDefaultTypeInternal _State_MessageState_default_instance_;
PROTOBUF_CONSTEXPR State::State(
    ::_pbi::ConstantInitialized)
  : messages_()
  , edit_mode_(false){}
struct StateDefaultTypeInternal {
  PROTOBUF_CONSTEXPR StateDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~StateDefaultTypeInternal() {}
  union {
    State _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 StateDefaultTypeInternal _State_default_instance_;
PROTOBUF_CONSTEXPR UpdateMessage::UpdateMessage(
    ::_pbi::ConstantInitialized)
  : m_(nullptr)
  , type_(0)
{}
struct UpdateMessageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR UpdateMessageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~UpdateMessageDefaultTypeInternal() {}
  union {
    UpdateMessage _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UpdateMessageDefaultTypeInternal _UpdateMessage_default_instance_;
PROTOBUF_CONSTEXPR ClearMessage::ClearMessage(
    ::_pbi::ConstantInitialized)
  : yes_(false){}
struct ClearMessageDefaultTypeInternal {
  PROTOBUF_CONSTEXPR ClearMessageDefaultTypeInternal()
      : _instance(::_pbi::ConstantInitialized{}) {}
  ~ClearMessageDefaultTypeInternal() {}
  union {
    ClearMessage _instance;
  };
};
PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 ClearMessageDefaultTypeInternal _ClearMessage_default_instance_;
}  // namespace AstroidMessages
static ::_pb::Metadata file_level_metadata_messages_2eproto[21];
static const ::_pb::EnumDescriptor* file_level_enum_descriptors_messages_2eproto[4];
static constexpr ::_pb::ServiceDescriptor const** file_level_service_descriptors_messages_2eproto = nullptr;

const uint32_t TableStruct_messages_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Focus, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Focus, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Focus, focus_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Focus, element_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Ack, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Ack, id_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Ack, success_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Ack, focus_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Indent, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Indent, bogus_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Indent, indent_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::AllowRemoteImages, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::AllowRemoteImages, bogus_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::AllowRemoteImages, allow_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, direction_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, type_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, element_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Navigate, focus_top_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Mark, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Mark, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Mark, marked_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Hidden, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Hidden, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Hidden, hidden_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Debug, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Debug, msg_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, html_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, css_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, part_css_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, allowed_uris_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, use_stdout_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, use_syslog_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, disable_log_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Page, log_level_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Info, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Info, warning_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Info, set_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Info, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Info, txt_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Address, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Address, name_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Address, email_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Address, full_address_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::AddressList, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::AddressList, addresses_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Signature, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Signature, verified_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Signature, sign_strings_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Signature, all_errors_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Encryption, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Encryption, decrypted_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk_Encryption, enc_strings_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, id_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, sid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, mime_type_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, cid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, viewable_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, preferred_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, attachment_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, is_encrypted_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, is_signed_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, crypto_id_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, signature_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, encryption_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, sibling_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, use_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, focusable_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, content_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, filename_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, size_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, human_size_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, thumbnail_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, kids_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message_Chunk, siblings_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, sender_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, to_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, cc_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, bcc_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, reply_to_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, date_pretty_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, date_verbose_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, subject_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, tags_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, tag_string_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, gravatar_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, missing_content_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, patch_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, different_subject_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, level_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, in_reply_to_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, preview_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, root_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, mime_messages_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::Message, attachments_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState_Element, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState_Element, type_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState_Element, id_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState_Element, sid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState_Element, focusable_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState, mid_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState, elements_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State_MessageState, level_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State, messages_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::State, edit_mode_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::UpdateMessage, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::UpdateMessage, m_),
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::UpdateMessage, type_),
  ~0u,  // no _has_bits_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::ClearMessage, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  ~0u,  // no _inlined_string_donated_
  PROTOBUF_FIELD_OFFSET(::AstroidMessages::ClearMessage, yes_),
};
static const ::_pbi::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, -1, -1, sizeof(::AstroidMessages::Focus)},
  { 9, -1, -1, sizeof(::AstroidMessages::Ack)},
  { 18, -1, -1, sizeof(::AstroidMessages::Indent)},
  { 26, -1, -1, sizeof(::AstroidMessages::AllowRemoteImages)},
  { 34, -1, -1, sizeof(::AstroidMessages::Navigate)},
  { 45, -1, -1, sizeof(::AstroidMessages::Mark)},
  { 53, -1, -1, sizeof(::AstroidMessages::Hidden)},
  { 61, -1, -1, sizeof(::AstroidMessages::Debug)},
  { 68, -1, -1, sizeof(::AstroidMessages::Page)},
  { 82, -1, -1, sizeof(::AstroidMessages::Info)},
  { 92, -1, -1, sizeof(::AstroidMessages::Address)},
  { 101, -1, -1, sizeof(::AstroidMessages::AddressList)},
  { 108, -1, -1, sizeof(::AstroidMessages::Message_Chunk_Signature)},
  { 117, -1, -1, sizeof(::AstroidMessages::Message_Chunk_Encryption)},
  { 125, -1, -1, sizeof(::AstroidMessages::Message_Chunk)},
  { 153, -1, -1, sizeof(::AstroidMessages::Message)},
  { 180, -1, -1, sizeof(::AstroidMessages::State_MessageState_Element)},
  { 190, -1, -1, sizeof(::AstroidMessages::State_MessageState)},
  { 199, -1, -1, sizeof(::AstroidMessages::State)},
  { 207, -1, -1, sizeof(::AstroidMessages::UpdateMessage)},
  { 215, -1, -1, sizeof(::AstroidMessages::ClearMessage)},
};

static const ::_pb::Message* const file_default_instances[] = {
  &::AstroidMessages::_Focus_default_instance_._instance,
  &::AstroidMessages::_Ack_default_instance_._instance,
  &::AstroidMessages::_Indent_default_instance_._instance,
  &::AstroidMessages::_AllowRemoteImages_default_instance_._instance,
  &::AstroidMessages::_Navigate_default_instance_._instance,
  &::AstroidMessages::_Mark_default_instance_._instance,
  &::AstroidMessages::_Hidden_default_instance_._instance,
  &::AstroidMessages::_Debug_default_instance_._instance,
  &::AstroidMessages::_Page_default_instance_._instance,
  &::AstroidMessages::_Info_default_instance_._instance,
  &::AstroidMessages::_Address_default_instance_._instance,
  &::AstroidMessages::_AddressList_default_instance_._instance,
  &::AstroidMessages::_Message_Chunk_Signature_default_instance_._instance,
  &::AstroidMessages::_Message_Chunk_Encryption_default_instance_._instance,
  &::AstroidMessages::_Message_Chunk_default_instance_._instance,
  &::AstroidMessages::_Message_default_instance_._instance,
  &::AstroidMessages::_State_MessageState_Element_default_instance_._instance,
  &::AstroidMessages::_State_MessageState_default_instance_._instance,
  &::AstroidMessages::_State_default_instance_._instance,
  &::AstroidMessages::_UpdateMessage_default_instance_._instance,
  &::AstroidMessages::_ClearMessage_default_instance_._instance,
};

const char descriptor_table_protodef_messages_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\016messages.proto\022\017AstroidMessages\"4\n\005Foc"
  "us\022\013\n\003mid\030\001 \001(\t\022\r\n\005focus\030\002 \001(\010\022\017\n\007elemen"
  "t\030\003 \001(\005\"I\n\003Ack\022\n\n\002id\030\001 \001(\005\022\017\n\007success\030\002 "
  "\001(\010\022%\n\005focus\030\003 \001(\0132\026.AstroidMessages.Foc"
  "us\"\'\n\006Indent\022\r\n\005bogus\030\001 \001(\t\022\016\n\006indent\030\002 "
  "\001(\010\"1\n\021AllowRemoteImages\022\r\n\005bogus\030\001 \001(\t\022"
  "\r\n\005allow\030\002 \001(\010\"\324\002\n\010Navigate\0226\n\tdirection"
  "\030\001 \001(\0162#.AstroidMessages.Navigate.Direct"
  "ion\022,\n\004type\030\002 \001(\0162\036.AstroidMessages.Navi"
  "gate.Type\022\013\n\003mid\030\003 \001(\t\022\017\n\007element\030\004 \001(\005\022"
  "\021\n\tfocus_top\030\005 \001(\010\"5\n\tDirection\022\010\n\004None\020"
  "\000\022\014\n\010Specific\020\001\022\006\n\002Up\020\002\022\010\n\004Down\020\003\"z\n\004Typ"
  "e\022\021\n\rVisualElement\020\000\022\n\n\006Visual\020\001\022\r\n\tVisu"
  "alBig\020\002\022\016\n\nVisualPage\020\003\022\013\n\007Element\020\004\022\013\n\007"
  "Message\020\005\022\r\n\tFocusView\020\006\022\013\n\007Extreme\020\007\"#\n"
  "\004Mark\022\013\n\003mid\030\001 \001(\t\022\016\n\006marked\030\002 \001(\010\"%\n\006Hi"
  "dden\022\013\n\003mid\030\001 \001(\t\022\016\n\006hidden\030\002 \001(\010\"\024\n\005Deb"
  "ug\022\013\n\003msg\030\001 \001(\t\"\231\001\n\004Page\022\014\n\004html\030\001 \001(\t\022\013"
  "\n\003css\030\002 \001(\t\022\020\n\010part_css\030\003 \001(\t\022\024\n\014allowed"
  "_uris\030\004 \003(\t\022\022\n\nuse_stdout\030\005 \001(\010\022\022\n\nuse_s"
  "yslog\030\006 \001(\010\022\023\n\013disable_log\030\007 \001(\010\022\021\n\tlog_"
  "level\030\010 \001(\t\">\n\004Info\022\017\n\007warning\030\001 \001(\010\022\013\n\003"
  "set\030\002 \001(\010\022\013\n\003mid\030\003 \001(\t\022\013\n\003txt\030\004 \001(\t\"<\n\007A"
  "ddress\022\014\n\004name\030\001 \001(\t\022\r\n\005email\030\002 \001(\t\022\024\n\014f"
  "ull_address\030\003 \001(\t\":\n\013AddressList\022+\n\taddr"
  "esses\030\001 \003(\0132\030.AstroidMessages.Address\"\211\n"
  "\n\007Message\022\013\n\003mid\030\001 \001(\t\022(\n\006sender\030\002 \001(\0132\030"
  ".AstroidMessages.Address\022(\n\002to\030\003 \001(\0132\034.A"
  "stroidMessages.AddressList\022(\n\002cc\030\004 \001(\0132\034"
  ".AstroidMessages.AddressList\022)\n\003bcc\030\005 \001("
  "\0132\034.AstroidMessages.AddressList\022*\n\010reply"
  "_to\030\024 \001(\0132\030.AstroidMessages.Address\022\023\n\013d"
  "ate_pretty\030\006 \001(\t\022\024\n\014date_verbose\030\007 \001(\t\022\017"
  "\n\007subject\030\t \001(\t\022\014\n\004tags\030\n \003(\t\022\022\n\ntag_str"
  "ing\030\025 \001(\t\022\020\n\010gravatar\030\013 \001(\t\022\027\n\017missing_c"
  "ontent\030\r \001(\010\022\r\n\005patch\030\016 \001(\010\022\031\n\021different"
  "_subject\030\026 \001(\010\022\r\n\005level\030\017 \001(\005\022\023\n\013in_repl"
  "y_to\030\020 \001(\t\022\017\n\007preview\030\021 \001(\t\022,\n\004root\030\027 \001("
  "\0132\036.AstroidMessages.Message.Chunk\0225\n\rmim"
  "e_messages\030\022 \003(\0132\036.AstroidMessages.Messa"
  "ge.Chunk\0223\n\013attachments\030\023 \003(\0132\036.AstroidM"
  "essages.Message.Chunk\032\231\005\n\005Chunk\022\n\n\002id\030\001 "
  "\001(\005\022\013\n\003sid\030\r \001(\t\022\021\n\tmime_type\030\006 \001(\t\022\013\n\003c"
  "id\030\026 \001(\t\022\020\n\010viewable\030\002 \001(\010\022\021\n\tpreferred\030"
  "\003 \001(\010\022\022\n\nattachment\030\007 \001(\010\022\024\n\014is_encrypte"
  "d\030\010 \001(\010\022\021\n\tis_signed\030\t \001(\010\022\021\n\tcrypto_id\030"
  "\025 \001(\005\022;\n\tsignature\030\023 \001(\0132(.AstroidMessag"
  "es.Message.Chunk.Signature\022=\n\nencryption"
  "\030\024 \001(\0132).AstroidMessages.Message.Chunk.E"
  "ncryption\022\017\n\007sibling\030\013 \001(\010\022\013\n\003use\030\014 \001(\010\022"
  "\021\n\tfocusable\030\022 \001(\010\022\017\n\007content\030\n \001(\t\022\020\n\010f"
  "ilename\030\016 \001(\t\022\014\n\004size\030\017 \001(\005\022\022\n\nhuman_siz"
  "e\030\020 \001(\t\022\021\n\tthumbnail\030\021 \001(\t\022,\n\004kids\030\004 \003(\013"
  "2\036.AstroidMessages.Message.Chunk\0220\n\010sibl"
  "ings\030\005 \003(\0132\036.AstroidMessages.Message.Chu"
  "nk\032G\n\tSignature\022\020\n\010verified\030\001 \001(\010\022\024\n\014sig"
  "n_strings\030\002 \003(\t\022\022\n\nall_errors\030\003 \003(\t\0324\n\nE"
  "ncryption\022\021\n\tdecrypted\030\001 \001(\010\022\023\n\013enc_stri"
  "ngs\030\002 \003(\t\"\220\003\n\005State\0225\n\010messages\030\002 \003(\0132#."
  "AstroidMessages.State.MessageState\022\021\n\ted"
  "it_mode\030\003 \001(\010\032\274\002\n\014MessageState\022\013\n\003mid\030\001 "
  "\001(\t\022=\n\010elements\030\005 \003(\0132+.AstroidMessages."
  "State.MessageState.Element\022\r\n\005level\030\006 \001("
  "\005\032\320\001\n\007Element\022>\n\004type\030\001 \001(\01620.AstroidMes"
  "sages.State.MessageState.Element.Type\022\n\n"
  "\002id\030\002 \001(\005\022\013\n\003sid\030\003 \001(\t\022\021\n\tfocusable\030\004 \001("
  "\010\"Y\n\004Type\022\t\n\005Empty\020\000\022\013\n\007Address\020\001\022\010\n\004Par"
  "t\020\002\022\016\n\nAttachment\020\003\022\017\n\013MimeMessage\020\004\022\016\n\n"
  "Encryption\020\005\"\213\001\n\rUpdateMessage\022#\n\001m\030\001 \001("
  "\0132\030.AstroidMessages.Message\0221\n\004type\030\002 \001("
  "\0162#.AstroidMessages.UpdateMessage.Type\"\""
  "\n\004Type\022\010\n\004Tags\020\000\022\020\n\014VisibleParts\020\001\"\033\n\014Cl"
  "earMessage\022\013\n\003yes\030\001 \001(\010b\006proto3"
  ;
static ::_pbi::once_flag descriptor_table_messages_2eproto_once;
const ::_pbi::DescriptorTable descriptor_table_messages_2eproto = {
    false, false, 2911, descriptor_table_protodef_messages_2eproto,
    "messages.proto",
    &descriptor_table_messages_2eproto_once, nullptr, 0, 21,
    schemas, file_default_instances, TableStruct_messages_2eproto::offsets,
    file_level_metadata_messages_2eproto, file_level_enum_descriptors_messages_2eproto,
    file_level_service_descriptors_messages_2eproto,
};
PROTOBUF_ATTRIBUTE_WEAK const ::_pbi::DescriptorTable* descriptor_table_messages_2eproto_getter() {
  return &descriptor_table_messages_2eproto;
}

// Force running AddDescriptors() at dynamic initialization time.
PROTOBUF_ATTRIBUTE_INIT_PRIORITY2 static ::_pbi::AddDescriptorsRunner dynamic_init_dummy_messages_2eproto(&descriptor_table_messages_2eproto);
namespace AstroidMessages {
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Navigate_Direction_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_messages_2eproto);
  return file_level_enum_descriptors_messages_2eproto[0];
}
bool Navigate_Direction_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr Navigate_Direction Navigate::None;
constexpr Navigate_Direction Navigate::Specific;
constexpr Navigate_Direction Navigate::Up;
constexpr Navigate_Direction Navigate::Down;
constexpr Navigate_Direction Navigate::Direction_MIN;
constexpr Navigate_Direction Navigate::Direction_MAX;
constexpr int Navigate::Direction_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Navigate_Type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_messages_2eproto);
  return file_level_enum_descriptors_messages_2eproto[1];
}
bool Navigate_Type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
    case 6:
    case 7:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr Navigate_Type Navigate::VisualElement;
constexpr Navigate_Type Navigate::Visual;
constexpr Navigate_Type Navigate::VisualBig;
constexpr Navigate_Type Navigate::VisualPage;
constexpr Navigate_Type Navigate::Element;
constexpr Navigate_Type Navigate::Message;
constexpr Navigate_Type Navigate::FocusView;
constexpr Navigate_Type Navigate::Extreme;
constexpr Navigate_Type Navigate::Type_MIN;
constexpr Navigate_Type Navigate::Type_MAX;
constexpr int Navigate::Type_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* State_MessageState_Element_Type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_messages_2eproto);
  return file_level_enum_descriptors_messages_2eproto[2];
}
bool State_MessageState_Element_Type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr State_MessageState_Element_Type State_MessageState_Element::Empty;
constexpr State_MessageState_Element_Type State_MessageState_Element::Address;
constexpr State_MessageState_Element_Type State_MessageState_Element::Part;
constexpr State_MessageState_Element_Type State_MessageState_Element::Attachment;
constexpr State_MessageState_Element_Type State_MessageState_Element::MimeMessage;
constexpr State_MessageState_Element_Type State_MessageState_Element::Encryption;
constexpr State_MessageState_Element_Type State_MessageState_Element::Type_MIN;
constexpr State_MessageState_Element_Type State_MessageState_Element::Type_MAX;
constexpr int State_MessageState_Element::Type_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* UpdateMessage_Type_descriptor() {
  ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&descriptor_table_messages_2eproto);
  return file_level_enum_descriptors_messages_2eproto[3];
}
bool UpdateMessage_Type_IsValid(int value) {
  switch (value) {
    case 0:
    case 1:
      return true;
    default:
      return false;
  }
}

#if (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))
constexpr UpdateMessage_Type UpdateMessage::Tags;
constexpr UpdateMessage_Type UpdateMessage::VisibleParts;
constexpr UpdateMessage_Type UpdateMessage::Type_MIN;
constexpr UpdateMessage_Type UpdateMessage::Type_MAX;
constexpr int UpdateMessage::Type_ARRAYSIZE;
#endif  // (__cplusplus < 201703) && (!defined(_MSC_VER) || (_MSC_VER >= 1900 && _MSC_VER < 1912))

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

class Focus::_Internal {
 public:
};

Focus::Focus(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Focus)
}
Focus::Focus(const Focus& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  ::memcpy(&focus_, &from.focus_,
    static_cast<size_t>(reinterpret_cast<char*>(&element_) -
    reinterpret_cast<char*>(&focus_)) + sizeof(element_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Focus)
}

inline void Focus::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&focus_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&element_) -
    reinterpret_cast<char*>(&focus_)) + sizeof(element_));
}

Focus::~Focus() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Focus)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Focus::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
}

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

void Focus::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Focus)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Focus::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string mid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Focus.mid"));
        } else
          goto handle_unusual;
        continue;
      // bool focus = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          focus_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 element = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          element_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string mid = 1;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Focus.mid");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_mid(), target);
  }

  // bool focus = 2;
  if (this->_internal_focus() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_focus(), target);
  }

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

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

size_t Focus::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Focus)
  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 mid = 1;
  if (!this->_internal_mid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mid());
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Focus::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Focus::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Focus::GetClassData() const { return &_class_data_; }

void Focus::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Focus *>(to)->MergeFrom(
      static_cast<const Focus &>(from));
}


void Focus::MergeFrom(const Focus& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Focus)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (from._internal_focus() != 0) {
    _internal_set_focus(from._internal_focus());
  }
  if (from._internal_element() != 0) {
    _internal_set_element(from._internal_element());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Focus::InternalSwap(Focus* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Focus, element_)
      + sizeof(Focus::element_)
      - PROTOBUF_FIELD_OFFSET(Focus, focus_)>(
          reinterpret_cast<char*>(&focus_),
          reinterpret_cast<char*>(&other->focus_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Focus::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[0]);
}

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

class Ack::_Internal {
 public:
  static const ::AstroidMessages::Focus& focus(const Ack* msg);
};

const ::AstroidMessages::Focus&
Ack::_Internal::focus(const Ack* msg) {
  return *msg->focus_;
}
Ack::Ack(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Ack)
}
Ack::Ack(const Ack& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_focus()) {
    focus_ = new ::AstroidMessages::Focus(*from.focus_);
  } else {
    focus_ = nullptr;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&success_) -
    reinterpret_cast<char*>(&id_)) + sizeof(success_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Ack)
}

inline void Ack::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&focus_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&success_) -
    reinterpret_cast<char*>(&focus_)) + sizeof(success_));
}

Ack::~Ack() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Ack)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Ack::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete focus_;
}

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

void Ack::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Ack)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && focus_ != nullptr) {
    delete focus_;
  }
  focus_ = nullptr;
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&success_) -
      reinterpret_cast<char*>(&id_)) + sizeof(success_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Ack::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool success = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          success_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Focus focus = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_focus(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // int32 id = 1;
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_id(), target);
  }

  // bool success = 2;
  if (this->_internal_success() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_success(), target);
  }

  // .AstroidMessages.Focus focus = 3;
  if (this->_internal_has_focus()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::focus(this),
        _Internal::focus(this).GetCachedSize(), target, stream);
  }

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

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

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

  // .AstroidMessages.Focus focus = 3;
  if (this->_internal_has_focus()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *focus_);
  }

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

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Ack::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Ack::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Ack::GetClassData() const { return &_class_data_; }

void Ack::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Ack *>(to)->MergeFrom(
      static_cast<const Ack &>(from));
}


void Ack::MergeFrom(const Ack& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Ack)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_focus()) {
    _internal_mutable_focus()->::AstroidMessages::Focus::MergeFrom(from._internal_focus());
  }
  if (from._internal_id() != 0) {
    _internal_set_id(from._internal_id());
  }
  if (from._internal_success() != 0) {
    _internal_set_success(from._internal_success());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata Ack::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[1]);
}

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

class Indent::_Internal {
 public:
};

Indent::Indent(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Indent)
}
Indent::Indent(const Indent& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  bogus_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    bogus_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_bogus().empty()) {
    bogus_.Set(from._internal_bogus(), 
      GetArenaForAllocation());
  }
  indent_ = from.indent_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Indent)
}

inline void Indent::SharedCtor() {
bogus_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  bogus_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
indent_ = false;
}

Indent::~Indent() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Indent)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Indent::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  bogus_.Destroy();
}

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

void Indent::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Indent)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  bogus_.ClearToEmpty();
  indent_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Indent::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string bogus = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_bogus();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Indent.bogus"));
        } else
          goto handle_unusual;
        continue;
      // bool indent = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          indent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string bogus = 1;
  if (!this->_internal_bogus().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_bogus().data(), static_cast<int>(this->_internal_bogus().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Indent.bogus");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_bogus(), target);
  }

  // bool indent = 2;
  if (this->_internal_indent() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_indent(), target);
  }

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

size_t Indent::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Indent)
  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 bogus = 1;
  if (!this->_internal_bogus().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_bogus());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Indent::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Indent::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Indent::GetClassData() const { return &_class_data_; }

void Indent::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Indent *>(to)->MergeFrom(
      static_cast<const Indent &>(from));
}


void Indent::MergeFrom(const Indent& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Indent)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_bogus().empty()) {
    _internal_set_bogus(from._internal_bogus());
  }
  if (from._internal_indent() != 0) {
    _internal_set_indent(from._internal_indent());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Indent::InternalSwap(Indent* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &bogus_, lhs_arena,
      &other->bogus_, rhs_arena
  );
  swap(indent_, other->indent_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Indent::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[2]);
}

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

class AllowRemoteImages::_Internal {
 public:
};

AllowRemoteImages::AllowRemoteImages(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.AllowRemoteImages)
}
AllowRemoteImages::AllowRemoteImages(const AllowRemoteImages& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  bogus_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    bogus_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_bogus().empty()) {
    bogus_.Set(from._internal_bogus(), 
      GetArenaForAllocation());
  }
  allow_ = from.allow_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.AllowRemoteImages)
}

inline void AllowRemoteImages::SharedCtor() {
bogus_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  bogus_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
allow_ = false;
}

AllowRemoteImages::~AllowRemoteImages() {
  // @@protoc_insertion_point(destructor:AstroidMessages.AllowRemoteImages)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AllowRemoteImages::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  bogus_.Destroy();
}

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

void AllowRemoteImages::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.AllowRemoteImages)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  bogus_.ClearToEmpty();
  allow_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* AllowRemoteImages::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string bogus = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_bogus();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.AllowRemoteImages.bogus"));
        } else
          goto handle_unusual;
        continue;
      // bool allow = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          allow_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string bogus = 1;
  if (!this->_internal_bogus().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_bogus().data(), static_cast<int>(this->_internal_bogus().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.AllowRemoteImages.bogus");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_bogus(), target);
  }

  // bool allow = 2;
  if (this->_internal_allow() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_allow(), target);
  }

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

size_t AllowRemoteImages::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.AllowRemoteImages)
  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 bogus = 1;
  if (!this->_internal_bogus().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_bogus());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AllowRemoteImages::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    AllowRemoteImages::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AllowRemoteImages::GetClassData() const { return &_class_data_; }

void AllowRemoteImages::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<AllowRemoteImages *>(to)->MergeFrom(
      static_cast<const AllowRemoteImages &>(from));
}


void AllowRemoteImages::MergeFrom(const AllowRemoteImages& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.AllowRemoteImages)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_bogus().empty()) {
    _internal_set_bogus(from._internal_bogus());
  }
  if (from._internal_allow() != 0) {
    _internal_set_allow(from._internal_allow());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AllowRemoteImages::InternalSwap(AllowRemoteImages* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &bogus_, lhs_arena,
      &other->bogus_, rhs_arena
  );
  swap(allow_, other->allow_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AllowRemoteImages::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[3]);
}

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

class Navigate::_Internal {
 public:
};

Navigate::Navigate(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Navigate)
}
Navigate::Navigate(const Navigate& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  ::memcpy(&direction_, &from.direction_,
    static_cast<size_t>(reinterpret_cast<char*>(&focus_top_) -
    reinterpret_cast<char*>(&direction_)) + sizeof(focus_top_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Navigate)
}

inline void Navigate::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&direction_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&focus_top_) -
    reinterpret_cast<char*>(&direction_)) + sizeof(focus_top_));
}

Navigate::~Navigate() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Navigate)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Navigate::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
}

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

void Navigate::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Navigate)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Navigate::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .AstroidMessages.Navigate.Direction direction = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_direction(static_cast<::AstroidMessages::Navigate_Direction>(val));
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Navigate.Type type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_type(static_cast<::AstroidMessages::Navigate_Type>(val));
        } else
          goto handle_unusual;
        continue;
      // string mid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Navigate.mid"));
        } else
          goto handle_unusual;
        continue;
      // int32 element = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          element_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool focus_top = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          focus_top_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .AstroidMessages.Navigate.Direction direction = 1;
  if (this->_internal_direction() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_direction(), target);
  }

  // .AstroidMessages.Navigate.Type type = 2;
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_type(), target);
  }

  // string mid = 3;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Navigate.mid");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_mid(), target);
  }

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

  // bool focus_top = 5;
  if (this->_internal_focus_top() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_focus_top(), target);
  }

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

size_t Navigate::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Navigate)
  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 mid = 3;
  if (!this->_internal_mid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mid());
  }

  // .AstroidMessages.Navigate.Direction direction = 1;
  if (this->_internal_direction() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_direction());
  }

  // .AstroidMessages.Navigate.Type type = 2;
  if (this->_internal_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

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

  // bool focus_top = 5;
  if (this->_internal_focus_top() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Navigate::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Navigate::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Navigate::GetClassData() const { return &_class_data_; }

void Navigate::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Navigate *>(to)->MergeFrom(
      static_cast<const Navigate &>(from));
}


void Navigate::MergeFrom(const Navigate& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Navigate)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (from._internal_direction() != 0) {
    _internal_set_direction(from._internal_direction());
  }
  if (from._internal_type() != 0) {
    _internal_set_type(from._internal_type());
  }
  if (from._internal_element() != 0) {
    _internal_set_element(from._internal_element());
  }
  if (from._internal_focus_top() != 0) {
    _internal_set_focus_top(from._internal_focus_top());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Navigate::InternalSwap(Navigate* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Navigate, focus_top_)
      + sizeof(Navigate::focus_top_)
      - PROTOBUF_FIELD_OFFSET(Navigate, direction_)>(
          reinterpret_cast<char*>(&direction_),
          reinterpret_cast<char*>(&other->direction_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Navigate::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[4]);
}

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

class Mark::_Internal {
 public:
};

Mark::Mark(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Mark)
}
Mark::Mark(const Mark& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  marked_ = from.marked_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Mark)
}

inline void Mark::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
marked_ = false;
}

Mark::~Mark() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Mark)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Mark::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
}

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

void Mark::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Mark)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  mid_.ClearToEmpty();
  marked_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Mark::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string mid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Mark.mid"));
        } else
          goto handle_unusual;
        continue;
      // bool marked = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          marked_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string mid = 1;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Mark.mid");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_mid(), target);
  }

  // bool marked = 2;
  if (this->_internal_marked() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_marked(), target);
  }

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

size_t Mark::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Mark)
  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 mid = 1;
  if (!this->_internal_mid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mid());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Mark::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Mark::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Mark::GetClassData() const { return &_class_data_; }

void Mark::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Mark *>(to)->MergeFrom(
      static_cast<const Mark &>(from));
}


void Mark::MergeFrom(const Mark& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Mark)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (from._internal_marked() != 0) {
    _internal_set_marked(from._internal_marked());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Mark::InternalSwap(Mark* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  swap(marked_, other->marked_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Mark::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[5]);
}

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

class Hidden::_Internal {
 public:
};

Hidden::Hidden(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Hidden)
}
Hidden::Hidden(const Hidden& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  hidden_ = from.hidden_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Hidden)
}

inline void Hidden::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
hidden_ = false;
}

Hidden::~Hidden() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Hidden)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Hidden::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
}

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

void Hidden::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Hidden)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  mid_.ClearToEmpty();
  hidden_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Hidden::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string mid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Hidden.mid"));
        } else
          goto handle_unusual;
        continue;
      // bool hidden = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          hidden_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string mid = 1;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Hidden.mid");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_mid(), target);
  }

  // bool hidden = 2;
  if (this->_internal_hidden() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_hidden(), target);
  }

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

size_t Hidden::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Hidden)
  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 mid = 1;
  if (!this->_internal_mid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mid());
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Hidden::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Hidden::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Hidden::GetClassData() const { return &_class_data_; }

void Hidden::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Hidden *>(to)->MergeFrom(
      static_cast<const Hidden &>(from));
}


void Hidden::MergeFrom(const Hidden& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Hidden)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (from._internal_hidden() != 0) {
    _internal_set_hidden(from._internal_hidden());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Hidden::InternalSwap(Hidden* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  swap(hidden_, other->hidden_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Hidden::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[6]);
}

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

class Debug::_Internal {
 public:
};

Debug::Debug(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Debug)
}
Debug::Debug(const Debug& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  msg_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    msg_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_msg().empty()) {
    msg_.Set(from._internal_msg(), 
      GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Debug)
}

inline void Debug::SharedCtor() {
msg_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  msg_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Debug::~Debug() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Debug)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Debug::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  msg_.Destroy();
}

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

void Debug::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Debug)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* Debug::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string msg = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_msg();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Debug.msg"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string msg = 1;
  if (!this->_internal_msg().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_msg().data(), static_cast<int>(this->_internal_msg().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Debug.msg");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_msg(), target);
  }

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

size_t Debug::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Debug)
  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 msg = 1;
  if (!this->_internal_msg().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_msg());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Debug::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Debug::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Debug::GetClassData() const { return &_class_data_; }

void Debug::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Debug *>(to)->MergeFrom(
      static_cast<const Debug &>(from));
}


void Debug::MergeFrom(const Debug& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Debug)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_msg().empty()) {
    _internal_set_msg(from._internal_msg());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Debug::InternalSwap(Debug* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &msg_, lhs_arena,
      &other->msg_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata Debug::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[7]);
}

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

class Page::_Internal {
 public:
};

Page::Page(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  allowed_uris_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Page)
}
Page::Page(const Page& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      allowed_uris_(from.allowed_uris_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  html_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    html_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_html().empty()) {
    html_.Set(from._internal_html(), 
      GetArenaForAllocation());
  }
  css_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    css_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_css().empty()) {
    css_.Set(from._internal_css(), 
      GetArenaForAllocation());
  }
  part_css_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    part_css_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_part_css().empty()) {
    part_css_.Set(from._internal_part_css(), 
      GetArenaForAllocation());
  }
  log_level_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    log_level_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_log_level().empty()) {
    log_level_.Set(from._internal_log_level(), 
      GetArenaForAllocation());
  }
  ::memcpy(&use_stdout_, &from.use_stdout_,
    static_cast<size_t>(reinterpret_cast<char*>(&disable_log_) -
    reinterpret_cast<char*>(&use_stdout_)) + sizeof(disable_log_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Page)
}

inline void Page::SharedCtor() {
html_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  html_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
css_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  css_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
part_css_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  part_css_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
log_level_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  log_level_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&use_stdout_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&disable_log_) -
    reinterpret_cast<char*>(&use_stdout_)) + sizeof(disable_log_));
}

Page::~Page() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Page)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Page::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  html_.Destroy();
  css_.Destroy();
  part_css_.Destroy();
  log_level_.Destroy();
}

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

void Page::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Page)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  allowed_uris_.Clear();
  html_.ClearToEmpty();
  css_.ClearToEmpty();
  part_css_.ClearToEmpty();
  log_level_.ClearToEmpty();
  ::memset(&use_stdout_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&disable_log_) -
      reinterpret_cast<char*>(&use_stdout_)) + sizeof(disable_log_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Page::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string html = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_html();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Page.html"));
        } else
          goto handle_unusual;
        continue;
      // string css = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_css();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Page.css"));
        } else
          goto handle_unusual;
        continue;
      // string part_css = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_part_css();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Page.part_css"));
        } else
          goto handle_unusual;
        continue;
      // repeated string allowed_uris = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_allowed_uris();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Page.allowed_uris"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool use_stdout = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 40)) {
          use_stdout_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool use_syslog = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          use_syslog_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool disable_log = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          disable_log_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string log_level = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 66)) {
          auto str = _internal_mutable_log_level();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Page.log_level"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string html = 1;
  if (!this->_internal_html().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_html().data(), static_cast<int>(this->_internal_html().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Page.html");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_html(), target);
  }

  // string css = 2;
  if (!this->_internal_css().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_css().data(), static_cast<int>(this->_internal_css().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Page.css");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_css(), target);
  }

  // string part_css = 3;
  if (!this->_internal_part_css().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_part_css().data(), static_cast<int>(this->_internal_part_css().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Page.part_css");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_part_css(), target);
  }

  // repeated string allowed_uris = 4;
  for (int i = 0, n = this->_internal_allowed_uris_size(); i < n; i++) {
    const auto& s = this->_internal_allowed_uris(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Page.allowed_uris");
    target = stream->WriteString(4, s, target);
  }

  // bool use_stdout = 5;
  if (this->_internal_use_stdout() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(5, this->_internal_use_stdout(), target);
  }

  // bool use_syslog = 6;
  if (this->_internal_use_syslog() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(6, this->_internal_use_syslog(), target);
  }

  // bool disable_log = 7;
  if (this->_internal_disable_log() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_disable_log(), target);
  }

  // string log_level = 8;
  if (!this->_internal_log_level().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_log_level().data(), static_cast<int>(this->_internal_log_level().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Page.log_level");
    target = stream->WriteStringMaybeAliased(
        8, this->_internal_log_level(), target);
  }

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

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

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

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

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

  // string css = 2;
  if (!this->_internal_css().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_css());
  }

  // string part_css = 3;
  if (!this->_internal_part_css().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_part_css());
  }

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

  // bool use_stdout = 5;
  if (this->_internal_use_stdout() != 0) {
    total_size += 1 + 1;
  }

  // bool use_syslog = 6;
  if (this->_internal_use_syslog() != 0) {
    total_size += 1 + 1;
  }

  // bool disable_log = 7;
  if (this->_internal_disable_log() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Page::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Page::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Page::GetClassData() const { return &_class_data_; }

void Page::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Page *>(to)->MergeFrom(
      static_cast<const Page &>(from));
}


void Page::MergeFrom(const Page& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Page)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  allowed_uris_.MergeFrom(from.allowed_uris_);
  if (!from._internal_html().empty()) {
    _internal_set_html(from._internal_html());
  }
  if (!from._internal_css().empty()) {
    _internal_set_css(from._internal_css());
  }
  if (!from._internal_part_css().empty()) {
    _internal_set_part_css(from._internal_part_css());
  }
  if (!from._internal_log_level().empty()) {
    _internal_set_log_level(from._internal_log_level());
  }
  if (from._internal_use_stdout() != 0) {
    _internal_set_use_stdout(from._internal_use_stdout());
  }
  if (from._internal_use_syslog() != 0) {
    _internal_set_use_syslog(from._internal_use_syslog());
  }
  if (from._internal_disable_log() != 0) {
    _internal_set_disable_log(from._internal_disable_log());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Page::InternalSwap(Page* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  allowed_uris_.InternalSwap(&other->allowed_uris_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &html_, lhs_arena,
      &other->html_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &css_, lhs_arena,
      &other->css_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &part_css_, lhs_arena,
      &other->part_css_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &log_level_, lhs_arena,
      &other->log_level_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Page, disable_log_)
      + sizeof(Page::disable_log_)
      - PROTOBUF_FIELD_OFFSET(Page, use_stdout_)>(
          reinterpret_cast<char*>(&use_stdout_),
          reinterpret_cast<char*>(&other->use_stdout_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Page::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[8]);
}

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

class Info::_Internal {
 public:
};

Info::Info(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Info)
}
Info::Info(const Info& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  txt_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    txt_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_txt().empty()) {
    txt_.Set(from._internal_txt(), 
      GetArenaForAllocation());
  }
  ::memcpy(&warning_, &from.warning_,
    static_cast<size_t>(reinterpret_cast<char*>(&set_) -
    reinterpret_cast<char*>(&warning_)) + sizeof(set_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Info)
}

inline void Info::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
txt_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  txt_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&warning_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&set_) -
    reinterpret_cast<char*>(&warning_)) + sizeof(set_));
}

Info::~Info() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Info)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Info::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
  txt_.Destroy();
}

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

void Info::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Info)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  mid_.ClearToEmpty();
  txt_.ClearToEmpty();
  ::memset(&warning_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&set_) -
      reinterpret_cast<char*>(&warning_)) + sizeof(set_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Info::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool warning = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          warning_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool set = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          set_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string mid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Info.mid"));
        } else
          goto handle_unusual;
        continue;
      // string txt = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          auto str = _internal_mutable_txt();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Info.txt"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

  // bool set = 2;
  if (this->_internal_set() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_set(), target);
  }

  // string mid = 3;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Info.mid");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_mid(), target);
  }

  // string txt = 4;
  if (!this->_internal_txt().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_txt().data(), static_cast<int>(this->_internal_txt().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Info.txt");
    target = stream->WriteStringMaybeAliased(
        4, this->_internal_txt(), target);
  }

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

size_t Info::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Info)
  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 mid = 3;
  if (!this->_internal_mid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mid());
  }

  // string txt = 4;
  if (!this->_internal_txt().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_txt());
  }

  // bool warning = 1;
  if (this->_internal_warning() != 0) {
    total_size += 1 + 1;
  }

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

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Info::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Info::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Info::GetClassData() const { return &_class_data_; }

void Info::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Info *>(to)->MergeFrom(
      static_cast<const Info &>(from));
}


void Info::MergeFrom(const Info& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Info)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (!from._internal_txt().empty()) {
    _internal_set_txt(from._internal_txt());
  }
  if (from._internal_warning() != 0) {
    _internal_set_warning(from._internal_warning());
  }
  if (from._internal_set() != 0) {
    _internal_set_set(from._internal_set());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Info::InternalSwap(Info* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &txt_, lhs_arena,
      &other->txt_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Info, set_)
      + sizeof(Info::set_)
      - PROTOBUF_FIELD_OFFSET(Info, warning_)>(
          reinterpret_cast<char*>(&warning_),
          reinterpret_cast<char*>(&other->warning_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Info::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[9]);
}

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

class Address::_Internal {
 public:
};

Address::Address(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Address)
}
Address::Address(const Address& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  name_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    name_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_name().empty()) {
    name_.Set(from._internal_name(), 
      GetArenaForAllocation());
  }
  email_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    email_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_email().empty()) {
    email_.Set(from._internal_email(), 
      GetArenaForAllocation());
  }
  full_address_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    full_address_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_full_address().empty()) {
    full_address_.Set(from._internal_full_address(), 
      GetArenaForAllocation());
  }
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Address)
}

inline void Address::SharedCtor() {
name_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  name_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
email_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  email_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
full_address_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  full_address_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
}

Address::~Address() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Address)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Address::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  name_.Destroy();
  email_.Destroy();
  full_address_.Destroy();
}

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

void Address::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Address)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  name_.ClearToEmpty();
  email_.ClearToEmpty();
  full_address_.ClearToEmpty();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Address::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string name = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_name();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Address.name"));
        } else
          goto handle_unusual;
        continue;
      // string email = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          auto str = _internal_mutable_email();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Address.email"));
        } else
          goto handle_unusual;
        continue;
      // string full_address = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_full_address();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Address.full_address"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string name = 1;
  if (!this->_internal_name().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_name().data(), static_cast<int>(this->_internal_name().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Address.name");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_name(), target);
  }

  // string email = 2;
  if (!this->_internal_email().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_email().data(), static_cast<int>(this->_internal_email().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Address.email");
    target = stream->WriteStringMaybeAliased(
        2, this->_internal_email(), target);
  }

  // string full_address = 3;
  if (!this->_internal_full_address().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_full_address().data(), static_cast<int>(this->_internal_full_address().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Address.full_address");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_full_address(), target);
  }

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

size_t Address::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Address)
  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;
  if (!this->_internal_name().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_name());
  }

  // string email = 2;
  if (!this->_internal_email().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_email());
  }

  // string full_address = 3;
  if (!this->_internal_full_address().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_full_address());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Address::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Address::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Address::GetClassData() const { return &_class_data_; }

void Address::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Address *>(to)->MergeFrom(
      static_cast<const Address &>(from));
}


void Address::MergeFrom(const Address& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Address)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_name().empty()) {
    _internal_set_name(from._internal_name());
  }
  if (!from._internal_email().empty()) {
    _internal_set_email(from._internal_email());
  }
  if (!from._internal_full_address().empty()) {
    _internal_set_full_address(from._internal_full_address());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Address::InternalSwap(Address* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &name_, lhs_arena,
      &other->name_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &email_, lhs_arena,
      &other->email_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &full_address_, lhs_arena,
      &other->full_address_, rhs_arena
  );
}

::PROTOBUF_NAMESPACE_ID::Metadata Address::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[10]);
}

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

class AddressList::_Internal {
 public:
};

AddressList::AddressList(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  addresses_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.AddressList)
}
AddressList::AddressList(const AddressList& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      addresses_(from.addresses_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.AddressList)
}

inline void AddressList::SharedCtor() {
}

AddressList::~AddressList() {
  // @@protoc_insertion_point(destructor:AstroidMessages.AddressList)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void AddressList::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void AddressList::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.AddressList)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* AddressList::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .AstroidMessages.Address addresses = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_addresses(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<10>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .AstroidMessages.Address addresses = 1;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_addresses_size()); i < n; i++) {
    const auto& repfield = this->_internal_addresses(i);
    target = ::PROTOBUF_NAMESPACE_ID::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<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:AstroidMessages.AddressList)
  return target;
}

size_t AddressList::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.AddressList)
  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 .AstroidMessages.Address addresses = 1;
  total_size += 1UL * this->_internal_addresses_size();
  for (const auto& msg : this->addresses_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData AddressList::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    AddressList::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*AddressList::GetClassData() const { return &_class_data_; }

void AddressList::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<AddressList *>(to)->MergeFrom(
      static_cast<const AddressList &>(from));
}


void AddressList::MergeFrom(const AddressList& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.AddressList)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  addresses_.MergeFrom(from.addresses_);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void AddressList::InternalSwap(AddressList* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  addresses_.InternalSwap(&other->addresses_);
}

::PROTOBUF_NAMESPACE_ID::Metadata AddressList::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[11]);
}

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

class Message_Chunk_Signature::_Internal {
 public:
};

Message_Chunk_Signature::Message_Chunk_Signature(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  sign_strings_(arena),
  all_errors_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Message.Chunk.Signature)
}
Message_Chunk_Signature::Message_Chunk_Signature(const Message_Chunk_Signature& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      sign_strings_(from.sign_strings_),
      all_errors_(from.all_errors_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  verified_ = from.verified_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Message.Chunk.Signature)
}

inline void Message_Chunk_Signature::SharedCtor() {
verified_ = false;
}

Message_Chunk_Signature::~Message_Chunk_Signature() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Message.Chunk.Signature)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Message_Chunk_Signature::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void Message_Chunk_Signature::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Message.Chunk.Signature)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  sign_strings_.Clear();
  all_errors_.Clear();
  verified_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Message_Chunk_Signature::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool verified = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          verified_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string sign_strings = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_sign_strings();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.Signature.sign_strings"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated string all_errors = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_all_errors();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.Signature.all_errors"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<26>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Message_Chunk_Signature::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:AstroidMessages.Message.Chunk.Signature)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

  // repeated string sign_strings = 2;
  for (int i = 0, n = this->_internal_sign_strings_size(); i < n; i++) {
    const auto& s = this->_internal_sign_strings(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.Signature.sign_strings");
    target = stream->WriteString(2, s, target);
  }

  // repeated string all_errors = 3;
  for (int i = 0, n = this->_internal_all_errors_size(); i < n; i++) {
    const auto& s = this->_internal_all_errors(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.Signature.all_errors");
    target = stream->WriteString(3, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:AstroidMessages.Message.Chunk.Signature)
  return target;
}

size_t Message_Chunk_Signature::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Message.Chunk.Signature)
  size_t total_size = 0;

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

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

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

  // bool verified = 1;
  if (this->_internal_verified() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Message_Chunk_Signature::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Message_Chunk_Signature::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Message_Chunk_Signature::GetClassData() const { return &_class_data_; }

void Message_Chunk_Signature::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Message_Chunk_Signature *>(to)->MergeFrom(
      static_cast<const Message_Chunk_Signature &>(from));
}


void Message_Chunk_Signature::MergeFrom(const Message_Chunk_Signature& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Message.Chunk.Signature)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  sign_strings_.MergeFrom(from.sign_strings_);
  all_errors_.MergeFrom(from.all_errors_);
  if (from._internal_verified() != 0) {
    _internal_set_verified(from._internal_verified());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Message_Chunk_Signature::CopyFrom(const Message_Chunk_Signature& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:AstroidMessages.Message.Chunk.Signature)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void Message_Chunk_Signature::InternalSwap(Message_Chunk_Signature* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  sign_strings_.InternalSwap(&other->sign_strings_);
  all_errors_.InternalSwap(&other->all_errors_);
  swap(verified_, other->verified_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Message_Chunk_Signature::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[12]);
}

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

class Message_Chunk_Encryption::_Internal {
 public:
};

Message_Chunk_Encryption::Message_Chunk_Encryption(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  enc_strings_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Message.Chunk.Encryption)
}
Message_Chunk_Encryption::Message_Chunk_Encryption(const Message_Chunk_Encryption& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      enc_strings_(from.enc_strings_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  decrypted_ = from.decrypted_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Message.Chunk.Encryption)
}

inline void Message_Chunk_Encryption::SharedCtor() {
decrypted_ = false;
}

Message_Chunk_Encryption::~Message_Chunk_Encryption() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Message.Chunk.Encryption)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Message_Chunk_Encryption::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void Message_Chunk_Encryption::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Message.Chunk.Encryption)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  enc_strings_.Clear();
  decrypted_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Message_Chunk_Encryption::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool decrypted = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          decrypted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated string enc_strings = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_enc_strings();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.Encryption.enc_strings"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Message_Chunk_Encryption::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:AstroidMessages.Message.Chunk.Encryption)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

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

  // repeated string enc_strings = 2;
  for (int i = 0, n = this->_internal_enc_strings_size(); i < n; i++) {
    const auto& s = this->_internal_enc_strings(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.Encryption.enc_strings");
    target = stream->WriteString(2, s, target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:AstroidMessages.Message.Chunk.Encryption)
  return target;
}

size_t Message_Chunk_Encryption::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Message.Chunk.Encryption)
  size_t total_size = 0;

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

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

  // bool decrypted = 1;
  if (this->_internal_decrypted() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Message_Chunk_Encryption::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Message_Chunk_Encryption::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Message_Chunk_Encryption::GetClassData() const { return &_class_data_; }

void Message_Chunk_Encryption::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Message_Chunk_Encryption *>(to)->MergeFrom(
      static_cast<const Message_Chunk_Encryption &>(from));
}


void Message_Chunk_Encryption::MergeFrom(const Message_Chunk_Encryption& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Message.Chunk.Encryption)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  enc_strings_.MergeFrom(from.enc_strings_);
  if (from._internal_decrypted() != 0) {
    _internal_set_decrypted(from._internal_decrypted());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Message_Chunk_Encryption::CopyFrom(const Message_Chunk_Encryption& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:AstroidMessages.Message.Chunk.Encryption)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void Message_Chunk_Encryption::InternalSwap(Message_Chunk_Encryption* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  enc_strings_.InternalSwap(&other->enc_strings_);
  swap(decrypted_, other->decrypted_);
}

::PROTOBUF_NAMESPACE_ID::Metadata Message_Chunk_Encryption::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[13]);
}

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

class Message_Chunk::_Internal {
 public:
  static const ::AstroidMessages::Message_Chunk_Signature& signature(const Message_Chunk* msg);
  static const ::AstroidMessages::Message_Chunk_Encryption& encryption(const Message_Chunk* msg);
};

const ::AstroidMessages::Message_Chunk_Signature&
Message_Chunk::_Internal::signature(const Message_Chunk* msg) {
  return *msg->signature_;
}
const ::AstroidMessages::Message_Chunk_Encryption&
Message_Chunk::_Internal::encryption(const Message_Chunk* msg) {
  return *msg->encryption_;
}
Message_Chunk::Message_Chunk(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  kids_(arena),
  siblings_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Message.Chunk)
}
Message_Chunk::Message_Chunk(const Message_Chunk& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      kids_(from.kids_),
      siblings_(from.siblings_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mime_type_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mime_type_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mime_type().empty()) {
    mime_type_.Set(from._internal_mime_type(), 
      GetArenaForAllocation());
  }
  content_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    content_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_content().empty()) {
    content_.Set(from._internal_content(), 
      GetArenaForAllocation());
  }
  sid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    sid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sid().empty()) {
    sid_.Set(from._internal_sid(), 
      GetArenaForAllocation());
  }
  filename_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    filename_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_filename().empty()) {
    filename_.Set(from._internal_filename(), 
      GetArenaForAllocation());
  }
  human_size_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    human_size_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_human_size().empty()) {
    human_size_.Set(from._internal_human_size(), 
      GetArenaForAllocation());
  }
  thumbnail_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    thumbnail_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_thumbnail().empty()) {
    thumbnail_.Set(from._internal_thumbnail(), 
      GetArenaForAllocation());
  }
  cid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    cid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_cid().empty()) {
    cid_.Set(from._internal_cid(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_signature()) {
    signature_ = new ::AstroidMessages::Message_Chunk_Signature(*from.signature_);
  } else {
    signature_ = nullptr;
  }
  if (from._internal_has_encryption()) {
    encryption_ = new ::AstroidMessages::Message_Chunk_Encryption(*from.encryption_);
  } else {
    encryption_ = nullptr;
  }
  ::memcpy(&id_, &from.id_,
    static_cast<size_t>(reinterpret_cast<char*>(&crypto_id_) -
    reinterpret_cast<char*>(&id_)) + sizeof(crypto_id_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Message.Chunk)
}

inline void Message_Chunk::SharedCtor() {
mime_type_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mime_type_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
content_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  content_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
sid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  sid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
filename_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  filename_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
human_size_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  human_size_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
thumbnail_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  thumbnail_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
cid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  cid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&signature_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&crypto_id_) -
    reinterpret_cast<char*>(&signature_)) + sizeof(crypto_id_));
}

Message_Chunk::~Message_Chunk() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Message.Chunk)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Message_Chunk::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mime_type_.Destroy();
  content_.Destroy();
  sid_.Destroy();
  filename_.Destroy();
  human_size_.Destroy();
  thumbnail_.Destroy();
  cid_.Destroy();
  if (this != internal_default_instance()) delete signature_;
  if (this != internal_default_instance()) delete encryption_;
}

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

void Message_Chunk::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Message.Chunk)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  kids_.Clear();
  siblings_.Clear();
  mime_type_.ClearToEmpty();
  content_.ClearToEmpty();
  sid_.ClearToEmpty();
  filename_.ClearToEmpty();
  human_size_.ClearToEmpty();
  thumbnail_.ClearToEmpty();
  cid_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && signature_ != nullptr) {
    delete signature_;
  }
  signature_ = nullptr;
  if (GetArenaForAllocation() == nullptr && encryption_ != nullptr) {
    delete encryption_;
  }
  encryption_ = nullptr;
  ::memset(&id_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&crypto_id_) -
      reinterpret_cast<char*>(&id_)) + sizeof(crypto_id_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Message_Chunk::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // int32 id = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool viewable = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          viewable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool preferred = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          preferred_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // repeated .AstroidMessages.Message.Chunk kids = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_kids(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<34>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .AstroidMessages.Message.Chunk siblings = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_siblings(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string mime_type = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_mime_type();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.mime_type"));
        } else
          goto handle_unusual;
        continue;
      // bool attachment = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 56)) {
          attachment_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_encrypted = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 64)) {
          is_encrypted_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool is_signed = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 72)) {
          is_signed_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string content = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          auto str = _internal_mutable_content();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.content"));
        } else
          goto handle_unusual;
        continue;
      // bool sibling = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 88)) {
          sibling_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool use = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 96)) {
          use_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string sid = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 106)) {
          auto str = _internal_mutable_sid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.sid"));
        } else
          goto handle_unusual;
        continue;
      // string filename = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 114)) {
          auto str = _internal_mutable_filename();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.filename"));
        } else
          goto handle_unusual;
        continue;
      // int32 size = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          size_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string human_size = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          auto str = _internal_mutable_human_size();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.human_size"));
        } else
          goto handle_unusual;
        continue;
      // string thumbnail = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          auto str = _internal_mutable_thumbnail();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.thumbnail"));
        } else
          goto handle_unusual;
        continue;
      // bool focusable = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 144)) {
          focusable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Message.Chunk.Signature signature = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr = ctx->ParseMessage(_internal_mutable_signature(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Message.Chunk.Encryption encryption = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_encryption(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 crypto_id = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 168)) {
          crypto_id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string cid = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 178)) {
          auto str = _internal_mutable_cid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.Chunk.cid"));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* Message_Chunk::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:AstroidMessages.Message.Chunk)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 id = 1;
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(1, this->_internal_id(), target);
  }

  // bool viewable = 2;
  if (this->_internal_viewable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(2, this->_internal_viewable(), target);
  }

  // bool preferred = 3;
  if (this->_internal_preferred() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_preferred(), target);
  }

  // repeated .AstroidMessages.Message.Chunk kids = 4;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_kids_size()); i < n; i++) {
    const auto& repfield = this->_internal_kids(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(4, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .AstroidMessages.Message.Chunk siblings = 5;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_siblings_size()); i < n; i++) {
    const auto& repfield = this->_internal_siblings(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // string mime_type = 6;
  if (!this->_internal_mime_type().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mime_type().data(), static_cast<int>(this->_internal_mime_type().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.mime_type");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_mime_type(), target);
  }

  // bool attachment = 7;
  if (this->_internal_attachment() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(7, this->_internal_attachment(), target);
  }

  // bool is_encrypted = 8;
  if (this->_internal_is_encrypted() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(8, this->_internal_is_encrypted(), target);
  }

  // bool is_signed = 9;
  if (this->_internal_is_signed() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(9, this->_internal_is_signed(), target);
  }

  // string content = 10;
  if (!this->_internal_content().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_content().data(), static_cast<int>(this->_internal_content().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.content");
    target = stream->WriteStringMaybeAliased(
        10, this->_internal_content(), target);
  }

  // bool sibling = 11;
  if (this->_internal_sibling() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(11, this->_internal_sibling(), target);
  }

  // bool use = 12;
  if (this->_internal_use() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(12, this->_internal_use(), target);
  }

  // string sid = 13;
  if (!this->_internal_sid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sid().data(), static_cast<int>(this->_internal_sid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.sid");
    target = stream->WriteStringMaybeAliased(
        13, this->_internal_sid(), target);
  }

  // string filename = 14;
  if (!this->_internal_filename().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_filename().data(), static_cast<int>(this->_internal_filename().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.filename");
    target = stream->WriteStringMaybeAliased(
        14, this->_internal_filename(), target);
  }

  // int32 size = 15;
  if (this->_internal_size() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(15, this->_internal_size(), target);
  }

  // string human_size = 16;
  if (!this->_internal_human_size().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_human_size().data(), static_cast<int>(this->_internal_human_size().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.human_size");
    target = stream->WriteStringMaybeAliased(
        16, this->_internal_human_size(), target);
  }

  // string thumbnail = 17;
  if (!this->_internal_thumbnail().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_thumbnail().data(), static_cast<int>(this->_internal_thumbnail().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.thumbnail");
    target = stream->WriteStringMaybeAliased(
        17, this->_internal_thumbnail(), target);
  }

  // bool focusable = 18;
  if (this->_internal_focusable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(18, this->_internal_focusable(), target);
  }

  // .AstroidMessages.Message.Chunk.Signature signature = 19;
  if (this->_internal_has_signature()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(19, _Internal::signature(this),
        _Internal::signature(this).GetCachedSize(), target, stream);
  }

  // .AstroidMessages.Message.Chunk.Encryption encryption = 20;
  if (this->_internal_has_encryption()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, _Internal::encryption(this),
        _Internal::encryption(this).GetCachedSize(), target, stream);
  }

  // int32 crypto_id = 21;
  if (this->_internal_crypto_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(21, this->_internal_crypto_id(), target);
  }

  // string cid = 22;
  if (!this->_internal_cid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_cid().data(), static_cast<int>(this->_internal_cid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.Chunk.cid");
    target = stream->WriteStringMaybeAliased(
        22, this->_internal_cid(), target);
  }

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

size_t Message_Chunk::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.Message.Chunk)
  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 .AstroidMessages.Message.Chunk kids = 4;
  total_size += 1UL * this->_internal_kids_size();
  for (const auto& msg : this->kids_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .AstroidMessages.Message.Chunk siblings = 5;
  total_size += 1UL * this->_internal_siblings_size();
  for (const auto& msg : this->siblings_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // string mime_type = 6;
  if (!this->_internal_mime_type().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_mime_type());
  }

  // string content = 10;
  if (!this->_internal_content().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_content());
  }

  // string sid = 13;
  if (!this->_internal_sid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sid());
  }

  // string filename = 14;
  if (!this->_internal_filename().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_filename());
  }

  // string human_size = 16;
  if (!this->_internal_human_size().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_human_size());
  }

  // string thumbnail = 17;
  if (!this->_internal_thumbnail().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_thumbnail());
  }

  // string cid = 22;
  if (!this->_internal_cid().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_cid());
  }

  // .AstroidMessages.Message.Chunk.Signature signature = 19;
  if (this->_internal_has_signature()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *signature_);
  }

  // .AstroidMessages.Message.Chunk.Encryption encryption = 20;
  if (this->_internal_has_encryption()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *encryption_);
  }

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

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

  // bool preferred = 3;
  if (this->_internal_preferred() != 0) {
    total_size += 1 + 1;
  }

  // bool attachment = 7;
  if (this->_internal_attachment() != 0) {
    total_size += 1 + 1;
  }

  // bool is_encrypted = 8;
  if (this->_internal_is_encrypted() != 0) {
    total_size += 1 + 1;
  }

  // bool is_signed = 9;
  if (this->_internal_is_signed() != 0) {
    total_size += 1 + 1;
  }

  // bool sibling = 11;
  if (this->_internal_sibling() != 0) {
    total_size += 1 + 1;
  }

  // bool use = 12;
  if (this->_internal_use() != 0) {
    total_size += 1 + 1;
  }

  // bool focusable = 18;
  if (this->_internal_focusable() != 0) {
    total_size += 2 + 1;
  }

  // int32 size = 15;
  if (this->_internal_size() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_size());
  }

  // int32 crypto_id = 21;
  if (this->_internal_crypto_id() != 0) {
    total_size += 2 +
      ::_pbi::WireFormatLite::Int32Size(
        this->_internal_crypto_id());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Message_Chunk::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Message_Chunk::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Message_Chunk::GetClassData() const { return &_class_data_; }

void Message_Chunk::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Message_Chunk *>(to)->MergeFrom(
      static_cast<const Message_Chunk &>(from));
}


void Message_Chunk::MergeFrom(const Message_Chunk& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Message.Chunk)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  kids_.MergeFrom(from.kids_);
  siblings_.MergeFrom(from.siblings_);
  if (!from._internal_mime_type().empty()) {
    _internal_set_mime_type(from._internal_mime_type());
  }
  if (!from._internal_content().empty()) {
    _internal_set_content(from._internal_content());
  }
  if (!from._internal_sid().empty()) {
    _internal_set_sid(from._internal_sid());
  }
  if (!from._internal_filename().empty()) {
    _internal_set_filename(from._internal_filename());
  }
  if (!from._internal_human_size().empty()) {
    _internal_set_human_size(from._internal_human_size());
  }
  if (!from._internal_thumbnail().empty()) {
    _internal_set_thumbnail(from._internal_thumbnail());
  }
  if (!from._internal_cid().empty()) {
    _internal_set_cid(from._internal_cid());
  }
  if (from._internal_has_signature()) {
    _internal_mutable_signature()->::AstroidMessages::Message_Chunk_Signature::MergeFrom(from._internal_signature());
  }
  if (from._internal_has_encryption()) {
    _internal_mutable_encryption()->::AstroidMessages::Message_Chunk_Encryption::MergeFrom(from._internal_encryption());
  }
  if (from._internal_id() != 0) {
    _internal_set_id(from._internal_id());
  }
  if (from._internal_viewable() != 0) {
    _internal_set_viewable(from._internal_viewable());
  }
  if (from._internal_preferred() != 0) {
    _internal_set_preferred(from._internal_preferred());
  }
  if (from._internal_attachment() != 0) {
    _internal_set_attachment(from._internal_attachment());
  }
  if (from._internal_is_encrypted() != 0) {
    _internal_set_is_encrypted(from._internal_is_encrypted());
  }
  if (from._internal_is_signed() != 0) {
    _internal_set_is_signed(from._internal_is_signed());
  }
  if (from._internal_sibling() != 0) {
    _internal_set_sibling(from._internal_sibling());
  }
  if (from._internal_use() != 0) {
    _internal_set_use(from._internal_use());
  }
  if (from._internal_focusable() != 0) {
    _internal_set_focusable(from._internal_focusable());
  }
  if (from._internal_size() != 0) {
    _internal_set_size(from._internal_size());
  }
  if (from._internal_crypto_id() != 0) {
    _internal_set_crypto_id(from._internal_crypto_id());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void Message_Chunk::CopyFrom(const Message_Chunk& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:AstroidMessages.Message.Chunk)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void Message_Chunk::InternalSwap(Message_Chunk* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  kids_.InternalSwap(&other->kids_);
  siblings_.InternalSwap(&other->siblings_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mime_type_, lhs_arena,
      &other->mime_type_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &content_, lhs_arena,
      &other->content_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &sid_, lhs_arena,
      &other->sid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &filename_, lhs_arena,
      &other->filename_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &human_size_, lhs_arena,
      &other->human_size_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &thumbnail_, lhs_arena,
      &other->thumbnail_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &cid_, lhs_arena,
      &other->cid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Message_Chunk, crypto_id_)
      + sizeof(Message_Chunk::crypto_id_)
      - PROTOBUF_FIELD_OFFSET(Message_Chunk, signature_)>(
          reinterpret_cast<char*>(&signature_),
          reinterpret_cast<char*>(&other->signature_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Message_Chunk::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[14]);
}

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

class Message::_Internal {
 public:
  static const ::AstroidMessages::Address& sender(const Message* msg);
  static const ::AstroidMessages::AddressList& to(const Message* msg);
  static const ::AstroidMessages::AddressList& cc(const Message* msg);
  static const ::AstroidMessages::AddressList& bcc(const Message* msg);
  static const ::AstroidMessages::Address& reply_to(const Message* msg);
  static const ::AstroidMessages::Message_Chunk& root(const Message* msg);
};

const ::AstroidMessages::Address&
Message::_Internal::sender(const Message* msg) {
  return *msg->sender_;
}
const ::AstroidMessages::AddressList&
Message::_Internal::to(const Message* msg) {
  return *msg->to_;
}
const ::AstroidMessages::AddressList&
Message::_Internal::cc(const Message* msg) {
  return *msg->cc_;
}
const ::AstroidMessages::AddressList&
Message::_Internal::bcc(const Message* msg) {
  return *msg->bcc_;
}
const ::AstroidMessages::Address&
Message::_Internal::reply_to(const Message* msg) {
  return *msg->reply_to_;
}
const ::AstroidMessages::Message_Chunk&
Message::_Internal::root(const Message* msg) {
  return *msg->root_;
}
Message::Message(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  tags_(arena),
  mime_messages_(arena),
  attachments_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.Message)
}
Message::Message(const Message& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      tags_(from.tags_),
      mime_messages_(from.mime_messages_),
      attachments_(from.attachments_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  date_pretty_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    date_pretty_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_date_pretty().empty()) {
    date_pretty_.Set(from._internal_date_pretty(), 
      GetArenaForAllocation());
  }
  date_verbose_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    date_verbose_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_date_verbose().empty()) {
    date_verbose_.Set(from._internal_date_verbose(), 
      GetArenaForAllocation());
  }
  subject_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    subject_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_subject().empty()) {
    subject_.Set(from._internal_subject(), 
      GetArenaForAllocation());
  }
  gravatar_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    gravatar_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_gravatar().empty()) {
    gravatar_.Set(from._internal_gravatar(), 
      GetArenaForAllocation());
  }
  in_reply_to_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    in_reply_to_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_in_reply_to().empty()) {
    in_reply_to_.Set(from._internal_in_reply_to(), 
      GetArenaForAllocation());
  }
  preview_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    preview_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_preview().empty()) {
    preview_.Set(from._internal_preview(), 
      GetArenaForAllocation());
  }
  tag_string_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    tag_string_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_tag_string().empty()) {
    tag_string_.Set(from._internal_tag_string(), 
      GetArenaForAllocation());
  }
  if (from._internal_has_sender()) {
    sender_ = new ::AstroidMessages::Address(*from.sender_);
  } else {
    sender_ = nullptr;
  }
  if (from._internal_has_to()) {
    to_ = new ::AstroidMessages::AddressList(*from.to_);
  } else {
    to_ = nullptr;
  }
  if (from._internal_has_cc()) {
    cc_ = new ::AstroidMessages::AddressList(*from.cc_);
  } else {
    cc_ = nullptr;
  }
  if (from._internal_has_bcc()) {
    bcc_ = new ::AstroidMessages::AddressList(*from.bcc_);
  } else {
    bcc_ = nullptr;
  }
  if (from._internal_has_reply_to()) {
    reply_to_ = new ::AstroidMessages::Address(*from.reply_to_);
  } else {
    reply_to_ = nullptr;
  }
  if (from._internal_has_root()) {
    root_ = new ::AstroidMessages::Message_Chunk(*from.root_);
  } else {
    root_ = nullptr;
  }
  ::memcpy(&level_, &from.level_,
    static_cast<size_t>(reinterpret_cast<char*>(&different_subject_) -
    reinterpret_cast<char*>(&level_)) + sizeof(different_subject_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.Message)
}

inline void Message::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
date_pretty_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  date_pretty_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
date_verbose_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  date_verbose_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
subject_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  subject_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
gravatar_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  gravatar_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
in_reply_to_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  in_reply_to_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
preview_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  preview_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
tag_string_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  tag_string_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&sender_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&different_subject_) -
    reinterpret_cast<char*>(&sender_)) + sizeof(different_subject_));
}

Message::~Message() {
  // @@protoc_insertion_point(destructor:AstroidMessages.Message)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void Message::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
  date_pretty_.Destroy();
  date_verbose_.Destroy();
  subject_.Destroy();
  gravatar_.Destroy();
  in_reply_to_.Destroy();
  preview_.Destroy();
  tag_string_.Destroy();
  if (this != internal_default_instance()) delete sender_;
  if (this != internal_default_instance()) delete to_;
  if (this != internal_default_instance()) delete cc_;
  if (this != internal_default_instance()) delete bcc_;
  if (this != internal_default_instance()) delete reply_to_;
  if (this != internal_default_instance()) delete root_;
}

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

void Message::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.Message)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  tags_.Clear();
  mime_messages_.Clear();
  attachments_.Clear();
  mid_.ClearToEmpty();
  date_pretty_.ClearToEmpty();
  date_verbose_.ClearToEmpty();
  subject_.ClearToEmpty();
  gravatar_.ClearToEmpty();
  in_reply_to_.ClearToEmpty();
  preview_.ClearToEmpty();
  tag_string_.ClearToEmpty();
  if (GetArenaForAllocation() == nullptr && sender_ != nullptr) {
    delete sender_;
  }
  sender_ = nullptr;
  if (GetArenaForAllocation() == nullptr && to_ != nullptr) {
    delete to_;
  }
  to_ = nullptr;
  if (GetArenaForAllocation() == nullptr && cc_ != nullptr) {
    delete cc_;
  }
  cc_ = nullptr;
  if (GetArenaForAllocation() == nullptr && bcc_ != nullptr) {
    delete bcc_;
  }
  bcc_ = nullptr;
  if (GetArenaForAllocation() == nullptr && reply_to_ != nullptr) {
    delete reply_to_;
  }
  reply_to_ = nullptr;
  if (GetArenaForAllocation() == nullptr && root_ != nullptr) {
    delete root_;
  }
  root_ = nullptr;
  ::memset(&level_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&different_subject_) -
      reinterpret_cast<char*>(&level_)) + sizeof(different_subject_));
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Message::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string mid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.mid"));
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Address sender = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr = ctx->ParseMessage(_internal_mutable_sender(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.AddressList to = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          ptr = ctx->ParseMessage(_internal_mutable_to(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.AddressList cc = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 34)) {
          ptr = ctx->ParseMessage(_internal_mutable_cc(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.AddressList bcc = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr = ctx->ParseMessage(_internal_mutable_bcc(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string date_pretty = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 50)) {
          auto str = _internal_mutable_date_pretty();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.date_pretty"));
        } else
          goto handle_unusual;
        continue;
      // string date_verbose = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 58)) {
          auto str = _internal_mutable_date_verbose();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.date_verbose"));
        } else
          goto handle_unusual;
        continue;
      // string subject = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 74)) {
          auto str = _internal_mutable_subject();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.subject"));
        } else
          goto handle_unusual;
        continue;
      // repeated string tags = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 82)) {
          ptr -= 1;
          do {
            ptr += 1;
            auto str = _internal_add_tags();
            ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
            CHK_(ptr);
            CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.tags"));
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<82>(ptr));
        } else
          goto handle_unusual;
        continue;
      // string gravatar = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 90)) {
          auto str = _internal_mutable_gravatar();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.gravatar"));
        } else
          goto handle_unusual;
        continue;
      // bool missing_content = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 104)) {
          missing_content_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // bool patch = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 112)) {
          patch_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // int32 level = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 120)) {
          level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string in_reply_to = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 130)) {
          auto str = _internal_mutable_in_reply_to();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.in_reply_to"));
        } else
          goto handle_unusual;
        continue;
      // string preview = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 138)) {
          auto str = _internal_mutable_preview();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.preview"));
        } else
          goto handle_unusual;
        continue;
      // repeated .AstroidMessages.Message.Chunk mime_messages = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 146)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_mime_messages(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<146>(ptr));
        } else
          goto handle_unusual;
        continue;
      // repeated .AstroidMessages.Message.Chunk attachments = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 154)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_attachments(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<154>(ptr));
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Address reply_to = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 162)) {
          ptr = ctx->ParseMessage(_internal_mutable_reply_to(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string tag_string = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 170)) {
          auto str = _internal_mutable_tag_string();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.Message.tag_string"));
        } else
          goto handle_unusual;
        continue;
      // bool different_subject = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 176)) {
          different_subject_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.Message.Chunk root = 23;
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 186)) {
          ptr = ctx->ParseMessage(_internal_mutable_root(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // string mid = 1;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.mid");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_mid(), target);
  }

  // .AstroidMessages.Address sender = 2;
  if (this->_internal_has_sender()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(2, _Internal::sender(this),
        _Internal::sender(this).GetCachedSize(), target, stream);
  }

  // .AstroidMessages.AddressList to = 3;
  if (this->_internal_has_to()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(3, _Internal::to(this),
        _Internal::to(this).GetCachedSize(), target, stream);
  }

  // .AstroidMessages.AddressList cc = 4;
  if (this->_internal_has_cc()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(4, _Internal::cc(this),
        _Internal::cc(this).GetCachedSize(), target, stream);
  }

  // .AstroidMessages.AddressList bcc = 5;
  if (this->_internal_has_bcc()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(5, _Internal::bcc(this),
        _Internal::bcc(this).GetCachedSize(), target, stream);
  }

  // string date_pretty = 6;
  if (!this->_internal_date_pretty().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_date_pretty().data(), static_cast<int>(this->_internal_date_pretty().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.date_pretty");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_date_pretty(), target);
  }

  // string date_verbose = 7;
  if (!this->_internal_date_verbose().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_date_verbose().data(), static_cast<int>(this->_internal_date_verbose().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.date_verbose");
    target = stream->WriteStringMaybeAliased(
        7, this->_internal_date_verbose(), target);
  }

  // string subject = 9;
  if (!this->_internal_subject().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_subject().data(), static_cast<int>(this->_internal_subject().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.subject");
    target = stream->WriteStringMaybeAliased(
        9, this->_internal_subject(), target);
  }

  // repeated string tags = 10;
  for (int i = 0, n = this->_internal_tags_size(); i < n; i++) {
    const auto& s = this->_internal_tags(i);
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      s.data(), static_cast<int>(s.length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.tags");
    target = stream->WriteString(10, s, target);
  }

  // string gravatar = 11;
  if (!this->_internal_gravatar().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_gravatar().data(), static_cast<int>(this->_internal_gravatar().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.gravatar");
    target = stream->WriteStringMaybeAliased(
        11, this->_internal_gravatar(), target);
  }

  // bool missing_content = 13;
  if (this->_internal_missing_content() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(13, this->_internal_missing_content(), target);
  }

  // bool patch = 14;
  if (this->_internal_patch() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(14, this->_internal_patch(), target);
  }

  // int32 level = 15;
  if (this->_internal_level() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(15, this->_internal_level(), target);
  }

  // string in_reply_to = 16;
  if (!this->_internal_in_reply_to().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_in_reply_to().data(), static_cast<int>(this->_internal_in_reply_to().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.in_reply_to");
    target = stream->WriteStringMaybeAliased(
        16, this->_internal_in_reply_to(), target);
  }

  // string preview = 17;
  if (!this->_internal_preview().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_preview().data(), static_cast<int>(this->_internal_preview().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.preview");
    target = stream->WriteStringMaybeAliased(
        17, this->_internal_preview(), target);
  }

  // repeated .AstroidMessages.Message.Chunk mime_messages = 18;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_mime_messages_size()); i < n; i++) {
    const auto& repfield = this->_internal_mime_messages(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(18, repfield, repfield.GetCachedSize(), target, stream);
  }

  // repeated .AstroidMessages.Message.Chunk attachments = 19;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_attachments_size()); i < n; i++) {
    const auto& repfield = this->_internal_attachments(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(19, repfield, repfield.GetCachedSize(), target, stream);
  }

  // .AstroidMessages.Address reply_to = 20;
  if (this->_internal_has_reply_to()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(20, _Internal::reply_to(this),
        _Internal::reply_to(this).GetCachedSize(), target, stream);
  }

  // string tag_string = 21;
  if (!this->_internal_tag_string().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tag_string().data(), static_cast<int>(this->_internal_tag_string().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.Message.tag_string");
    target = stream->WriteStringMaybeAliased(
        21, this->_internal_tag_string(), target);
  }

  // bool different_subject = 22;
  if (this->_internal_different_subject() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(22, this->_internal_different_subject(), target);
  }

  // .AstroidMessages.Message.Chunk root = 23;
  if (this->_internal_has_root()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(23, _Internal::root(this),
        _Internal::root(this).GetCachedSize(), target, stream);
  }

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

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

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

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

  // repeated .AstroidMessages.Message.Chunk mime_messages = 18;
  total_size += 2UL * this->_internal_mime_messages_size();
  for (const auto& msg : this->mime_messages_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // repeated .AstroidMessages.Message.Chunk attachments = 19;
  total_size += 2UL * this->_internal_attachments_size();
  for (const auto& msg : this->attachments_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // string date_pretty = 6;
  if (!this->_internal_date_pretty().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_date_pretty());
  }

  // string date_verbose = 7;
  if (!this->_internal_date_verbose().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_date_verbose());
  }

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

  // string gravatar = 11;
  if (!this->_internal_gravatar().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_gravatar());
  }

  // string in_reply_to = 16;
  if (!this->_internal_in_reply_to().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_in_reply_to());
  }

  // string preview = 17;
  if (!this->_internal_preview().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_preview());
  }

  // string tag_string = 21;
  if (!this->_internal_tag_string().empty()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_tag_string());
  }

  // .AstroidMessages.Address sender = 2;
  if (this->_internal_has_sender()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *sender_);
  }

  // .AstroidMessages.AddressList to = 3;
  if (this->_internal_has_to()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *to_);
  }

  // .AstroidMessages.AddressList cc = 4;
  if (this->_internal_has_cc()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *cc_);
  }

  // .AstroidMessages.AddressList bcc = 5;
  if (this->_internal_has_bcc()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *bcc_);
  }

  // .AstroidMessages.Address reply_to = 20;
  if (this->_internal_has_reply_to()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *reply_to_);
  }

  // .AstroidMessages.Message.Chunk root = 23;
  if (this->_internal_has_root()) {
    total_size += 2 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *root_);
  }

  // int32 level = 15;
  if (this->_internal_level() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_level());
  }

  // bool missing_content = 13;
  if (this->_internal_missing_content() != 0) {
    total_size += 1 + 1;
  }

  // bool patch = 14;
  if (this->_internal_patch() != 0) {
    total_size += 1 + 1;
  }

  // bool different_subject = 22;
  if (this->_internal_different_subject() != 0) {
    total_size += 2 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData Message::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    Message::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*Message::GetClassData() const { return &_class_data_; }

void Message::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<Message *>(to)->MergeFrom(
      static_cast<const Message &>(from));
}


void Message::MergeFrom(const Message& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.Message)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  tags_.MergeFrom(from.tags_);
  mime_messages_.MergeFrom(from.mime_messages_);
  attachments_.MergeFrom(from.attachments_);
  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (!from._internal_date_pretty().empty()) {
    _internal_set_date_pretty(from._internal_date_pretty());
  }
  if (!from._internal_date_verbose().empty()) {
    _internal_set_date_verbose(from._internal_date_verbose());
  }
  if (!from._internal_subject().empty()) {
    _internal_set_subject(from._internal_subject());
  }
  if (!from._internal_gravatar().empty()) {
    _internal_set_gravatar(from._internal_gravatar());
  }
  if (!from._internal_in_reply_to().empty()) {
    _internal_set_in_reply_to(from._internal_in_reply_to());
  }
  if (!from._internal_preview().empty()) {
    _internal_set_preview(from._internal_preview());
  }
  if (!from._internal_tag_string().empty()) {
    _internal_set_tag_string(from._internal_tag_string());
  }
  if (from._internal_has_sender()) {
    _internal_mutable_sender()->::AstroidMessages::Address::MergeFrom(from._internal_sender());
  }
  if (from._internal_has_to()) {
    _internal_mutable_to()->::AstroidMessages::AddressList::MergeFrom(from._internal_to());
  }
  if (from._internal_has_cc()) {
    _internal_mutable_cc()->::AstroidMessages::AddressList::MergeFrom(from._internal_cc());
  }
  if (from._internal_has_bcc()) {
    _internal_mutable_bcc()->::AstroidMessages::AddressList::MergeFrom(from._internal_bcc());
  }
  if (from._internal_has_reply_to()) {
    _internal_mutable_reply_to()->::AstroidMessages::Address::MergeFrom(from._internal_reply_to());
  }
  if (from._internal_has_root()) {
    _internal_mutable_root()->::AstroidMessages::Message_Chunk::MergeFrom(from._internal_root());
  }
  if (from._internal_level() != 0) {
    _internal_set_level(from._internal_level());
  }
  if (from._internal_missing_content() != 0) {
    _internal_set_missing_content(from._internal_missing_content());
  }
  if (from._internal_patch() != 0) {
    _internal_set_patch(from._internal_patch());
  }
  if (from._internal_different_subject() != 0) {
    _internal_set_different_subject(from._internal_different_subject());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void Message::InternalSwap(Message* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  tags_.InternalSwap(&other->tags_);
  mime_messages_.InternalSwap(&other->mime_messages_);
  attachments_.InternalSwap(&other->attachments_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &date_pretty_, lhs_arena,
      &other->date_pretty_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &date_verbose_, lhs_arena,
      &other->date_verbose_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &subject_, lhs_arena,
      &other->subject_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &gravatar_, lhs_arena,
      &other->gravatar_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &in_reply_to_, lhs_arena,
      &other->in_reply_to_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &preview_, lhs_arena,
      &other->preview_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &tag_string_, lhs_arena,
      &other->tag_string_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Message, different_subject_)
      + sizeof(Message::different_subject_)
      - PROTOBUF_FIELD_OFFSET(Message, sender_)>(
          reinterpret_cast<char*>(&sender_),
          reinterpret_cast<char*>(&other->sender_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Message::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[15]);
}

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

class State_MessageState_Element::_Internal {
 public:
};

State_MessageState_Element::State_MessageState_Element(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.State.MessageState.Element)
}
State_MessageState_Element::State_MessageState_Element(const State_MessageState_Element& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  sid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    sid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_sid().empty()) {
    sid_.Set(from._internal_sid(), 
      GetArenaForAllocation());
  }
  ::memcpy(&type_, &from.type_,
    static_cast<size_t>(reinterpret_cast<char*>(&focusable_) -
    reinterpret_cast<char*>(&type_)) + sizeof(focusable_));
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.State.MessageState.Element)
}

inline void State_MessageState_Element::SharedCtor() {
sid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  sid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&type_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&focusable_) -
    reinterpret_cast<char*>(&type_)) + sizeof(focusable_));
}

State_MessageState_Element::~State_MessageState_Element() {
  // @@protoc_insertion_point(destructor:AstroidMessages.State.MessageState.Element)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void State_MessageState_Element::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  sid_.Destroy();
}

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

void State_MessageState_Element::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.State.MessageState.Element)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

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

const char* State_MessageState_Element::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .AstroidMessages.State.MessageState.Element.Type type = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_type(static_cast<::AstroidMessages::State_MessageState_Element_Type>(val));
        } else
          goto handle_unusual;
        continue;
      // int32 id = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          id_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // string sid = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 26)) {
          auto str = _internal_mutable_sid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.State.MessageState.Element.sid"));
        } else
          goto handle_unusual;
        continue;
      // bool focusable = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 32)) {
          focusable_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* State_MessageState_Element::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:AstroidMessages.State.MessageState.Element)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // .AstroidMessages.State.MessageState.Element.Type type = 1;
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      1, this->_internal_type(), target);
  }

  // int32 id = 2;
  if (this->_internal_id() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(2, this->_internal_id(), target);
  }

  // string sid = 3;
  if (!this->_internal_sid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_sid().data(), static_cast<int>(this->_internal_sid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.State.MessageState.Element.sid");
    target = stream->WriteStringMaybeAliased(
        3, this->_internal_sid(), target);
  }

  // bool focusable = 4;
  if (this->_internal_focusable() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(4, this->_internal_focusable(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:AstroidMessages.State.MessageState.Element)
  return target;
}

size_t State_MessageState_Element::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.State.MessageState.Element)
  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 sid = 3;
  if (!this->_internal_sid().empty()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
        this->_internal_sid());
  }

  // .AstroidMessages.State.MessageState.Element.Type type = 1;
  if (this->_internal_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

  // int32 id = 2;
  if (this->_internal_id() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_id());
  }

  // bool focusable = 4;
  if (this->_internal_focusable() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData State_MessageState_Element::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    State_MessageState_Element::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*State_MessageState_Element::GetClassData() const { return &_class_data_; }

void State_MessageState_Element::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<State_MessageState_Element *>(to)->MergeFrom(
      static_cast<const State_MessageState_Element &>(from));
}


void State_MessageState_Element::MergeFrom(const State_MessageState_Element& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.State.MessageState.Element)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (!from._internal_sid().empty()) {
    _internal_set_sid(from._internal_sid());
  }
  if (from._internal_type() != 0) {
    _internal_set_type(from._internal_type());
  }
  if (from._internal_id() != 0) {
    _internal_set_id(from._internal_id());
  }
  if (from._internal_focusable() != 0) {
    _internal_set_focusable(from._internal_focusable());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void State_MessageState_Element::CopyFrom(const State_MessageState_Element& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:AstroidMessages.State.MessageState.Element)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void State_MessageState_Element::InternalSwap(State_MessageState_Element* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &sid_, lhs_arena,
      &other->sid_, rhs_arena
  );
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(State_MessageState_Element, focusable_)
      + sizeof(State_MessageState_Element::focusable_)
      - PROTOBUF_FIELD_OFFSET(State_MessageState_Element, type_)>(
          reinterpret_cast<char*>(&type_),
          reinterpret_cast<char*>(&other->type_));
}

::PROTOBUF_NAMESPACE_ID::Metadata State_MessageState_Element::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[16]);
}

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

class State_MessageState::_Internal {
 public:
};

State_MessageState::State_MessageState(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  elements_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.State.MessageState)
}
State_MessageState::State_MessageState(const State_MessageState& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      elements_(from.elements_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  mid_.InitDefault();
  #ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
    mid_.Set("", GetArenaForAllocation());
  #endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (!from._internal_mid().empty()) {
    mid_.Set(from._internal_mid(), 
      GetArenaForAllocation());
  }
  level_ = from.level_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.State.MessageState)
}

inline void State_MessageState::SharedCtor() {
mid_.InitDefault();
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  mid_.Set("", GetArenaForAllocation());
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
level_ = 0;
}

State_MessageState::~State_MessageState() {
  // @@protoc_insertion_point(destructor:AstroidMessages.State.MessageState)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void State_MessageState::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  mid_.Destroy();
}

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

void State_MessageState::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.State.MessageState)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  elements_.Clear();
  mid_.ClearToEmpty();
  level_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* State_MessageState::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // string mid = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          auto str = _internal_mutable_mid();
          ptr = ::_pbi::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(ptr);
          CHK_(::_pbi::VerifyUTF8(str, "AstroidMessages.State.MessageState.mid"));
        } else
          goto handle_unusual;
        continue;
      // repeated .AstroidMessages.State.MessageState.Element elements = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 42)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_elements(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<42>(ptr));
        } else
          goto handle_unusual;
        continue;
      // int32 level = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 48)) {
          level_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint32(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

uint8_t* State_MessageState::_InternalSerialize(
    uint8_t* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:AstroidMessages.State.MessageState)
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  // string mid = 1;
  if (!this->_internal_mid().empty()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mid().data(), static_cast<int>(this->_internal_mid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "AstroidMessages.State.MessageState.mid");
    target = stream->WriteStringMaybeAliased(
        1, this->_internal_mid(), target);
  }

  // repeated .AstroidMessages.State.MessageState.Element elements = 5;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_elements_size()); i < n; i++) {
    const auto& repfield = this->_internal_elements(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(5, repfield, repfield.GetCachedSize(), target, stream);
  }

  // int32 level = 6;
  if (this->_internal_level() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteInt32ToArray(6, this->_internal_level(), target);
  }

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

size_t State_MessageState::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.State.MessageState)
  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 .AstroidMessages.State.MessageState.Element elements = 5;
  total_size += 1UL * this->_internal_elements_size();
  for (const auto& msg : this->elements_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

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

  // int32 level = 6;
  if (this->_internal_level() != 0) {
    total_size += ::_pbi::WireFormatLite::Int32SizePlusOne(this->_internal_level());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData State_MessageState::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    State_MessageState::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*State_MessageState::GetClassData() const { return &_class_data_; }

void State_MessageState::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<State_MessageState *>(to)->MergeFrom(
      static_cast<const State_MessageState &>(from));
}


void State_MessageState::MergeFrom(const State_MessageState& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.State.MessageState)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  elements_.MergeFrom(from.elements_);
  if (!from._internal_mid().empty()) {
    _internal_set_mid(from._internal_mid());
  }
  if (from._internal_level() != 0) {
    _internal_set_level(from._internal_level());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

void State_MessageState::CopyFrom(const State_MessageState& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:AstroidMessages.State.MessageState)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

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

void State_MessageState::InternalSwap(State_MessageState* other) {
  using std::swap;
  auto* lhs_arena = GetArenaForAllocation();
  auto* rhs_arena = other->GetArenaForAllocation();
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  elements_.InternalSwap(&other->elements_);
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::InternalSwap(
      &mid_, lhs_arena,
      &other->mid_, rhs_arena
  );
  swap(level_, other->level_);
}

::PROTOBUF_NAMESPACE_ID::Metadata State_MessageState::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[17]);
}

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

class State::_Internal {
 public:
};

State::State(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned),
  messages_(arena) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.State)
}
State::State(const State& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      messages_(from.messages_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  edit_mode_ = from.edit_mode_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.State)
}

inline void State::SharedCtor() {
edit_mode_ = false;
}

State::~State() {
  // @@protoc_insertion_point(destructor:AstroidMessages.State)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void State::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void State::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.State)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  messages_.Clear();
  edit_mode_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* State::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // repeated .AstroidMessages.State.MessageState messages = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 18)) {
          ptr -= 1;
          do {
            ptr += 1;
            ptr = ctx->ParseMessage(_internal_add_messages(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<18>(ptr));
        } else
          goto handle_unusual;
        continue;
      // bool edit_mode = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 24)) {
          edit_mode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // repeated .AstroidMessages.State.MessageState messages = 2;
  for (unsigned i = 0,
      n = static_cast<unsigned>(this->_internal_messages_size()); i < n; i++) {
    const auto& repfield = this->_internal_messages(i);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
        InternalWriteMessage(2, repfield, repfield.GetCachedSize(), target, stream);
  }

  // bool edit_mode = 3;
  if (this->_internal_edit_mode() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteBoolToArray(3, this->_internal_edit_mode(), target);
  }

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

size_t State::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.State)
  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 .AstroidMessages.State.MessageState messages = 2;
  total_size += 1UL * this->_internal_messages_size();
  for (const auto& msg : this->messages_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  // bool edit_mode = 3;
  if (this->_internal_edit_mode() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData State::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    State::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*State::GetClassData() const { return &_class_data_; }

void State::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<State *>(to)->MergeFrom(
      static_cast<const State &>(from));
}


void State::MergeFrom(const State& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.State)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  messages_.MergeFrom(from.messages_);
  if (from._internal_edit_mode() != 0) {
    _internal_set_edit_mode(from._internal_edit_mode());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void State::InternalSwap(State* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  messages_.InternalSwap(&other->messages_);
  swap(edit_mode_, other->edit_mode_);
}

::PROTOBUF_NAMESPACE_ID::Metadata State::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[18]);
}

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

class UpdateMessage::_Internal {
 public:
  static const ::AstroidMessages::Message& m(const UpdateMessage* msg);
};

const ::AstroidMessages::Message&
UpdateMessage::_Internal::m(const UpdateMessage* msg) {
  return *msg->m_;
}
UpdateMessage::UpdateMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.UpdateMessage)
}
UpdateMessage::UpdateMessage(const UpdateMessage& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  if (from._internal_has_m()) {
    m_ = new ::AstroidMessages::Message(*from.m_);
  } else {
    m_ = nullptr;
  }
  type_ = from.type_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.UpdateMessage)
}

inline void UpdateMessage::SharedCtor() {
::memset(reinterpret_cast<char*>(this) + static_cast<size_t>(
    reinterpret_cast<char*>(&m_) - reinterpret_cast<char*>(this)),
    0, static_cast<size_t>(reinterpret_cast<char*>(&type_) -
    reinterpret_cast<char*>(&m_)) + sizeof(type_));
}

UpdateMessage::~UpdateMessage() {
  // @@protoc_insertion_point(destructor:AstroidMessages.UpdateMessage)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void UpdateMessage::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
  if (this != internal_default_instance()) delete m_;
}

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

void UpdateMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.UpdateMessage)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  if (GetArenaForAllocation() == nullptr && m_ != nullptr) {
    delete m_;
  }
  m_ = nullptr;
  type_ = 0;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* UpdateMessage::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // .AstroidMessages.Message m = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 10)) {
          ptr = ctx->ParseMessage(_internal_mutable_m(), ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      // .AstroidMessages.UpdateMessage.Type type = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 16)) {
          uint64_t val = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
          _internal_set_type(static_cast<::AstroidMessages::UpdateMessage_Type>(val));
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

  // .AstroidMessages.Message m = 1;
  if (this->_internal_has_m()) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(1, _Internal::m(this),
        _Internal::m(this).GetCachedSize(), target, stream);
  }

  // .AstroidMessages.UpdateMessage.Type type = 2;
  if (this->_internal_type() != 0) {
    target = stream->EnsureSpace(target);
    target = ::_pbi::WireFormatLite::WriteEnumToArray(
      2, this->_internal_type(), target);
  }

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

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

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

  // .AstroidMessages.Message m = 1;
  if (this->_internal_has_m()) {
    total_size += 1 +
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
        *m_);
  }

  // .AstroidMessages.UpdateMessage.Type type = 2;
  if (this->_internal_type() != 0) {
    total_size += 1 +
      ::_pbi::WireFormatLite::EnumSize(this->_internal_type());
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData UpdateMessage::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    UpdateMessage::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*UpdateMessage::GetClassData() const { return &_class_data_; }

void UpdateMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<UpdateMessage *>(to)->MergeFrom(
      static_cast<const UpdateMessage &>(from));
}


void UpdateMessage::MergeFrom(const UpdateMessage& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.UpdateMessage)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_has_m()) {
    _internal_mutable_m()->::AstroidMessages::Message::MergeFrom(from._internal_m());
  }
  if (from._internal_type() != 0) {
    _internal_set_type(from._internal_type());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

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

::PROTOBUF_NAMESPACE_ID::Metadata UpdateMessage::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[19]);
}

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

class ClearMessage::_Internal {
 public:
};

ClearMessage::ClearMessage(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                         bool is_message_owned)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena, is_message_owned) {
  SharedCtor();
  // @@protoc_insertion_point(arena_constructor:AstroidMessages.ClearMessage)
}
ClearMessage::ClearMessage(const ClearMessage& from)
  : ::PROTOBUF_NAMESPACE_ID::Message() {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  yes_ = from.yes_;
  // @@protoc_insertion_point(copy_constructor:AstroidMessages.ClearMessage)
}

inline void ClearMessage::SharedCtor() {
yes_ = false;
}

ClearMessage::~ClearMessage() {
  // @@protoc_insertion_point(destructor:AstroidMessages.ClearMessage)
  if (auto *arena = _internal_metadata_.DeleteReturnArena<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>()) {
  (void)arena;
    return;
  }
  SharedDtor();
}

inline void ClearMessage::SharedDtor() {
  GOOGLE_DCHECK(GetArenaForAllocation() == nullptr);
}

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

void ClearMessage::Clear() {
// @@protoc_insertion_point(message_clear_start:AstroidMessages.ClearMessage)
  uint32_t cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  yes_ = false;
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* ClearMessage::_InternalParse(const char* ptr, ::_pbi::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  while (!ctx->Done(&ptr)) {
    uint32_t tag;
    ptr = ::_pbi::ReadTag(ptr, &tag);
    switch (tag >> 3) {
      // bool yes = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<uint8_t>(tag) == 8)) {
          yes_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else
          goto handle_unusual;
        continue;
      default:
        goto handle_unusual;
    }  // switch
  handle_unusual:
    if ((tag == 0) || ((tag & 7) == 4)) {
      CHK_(ptr);
      ctx->SetLastTag(tag);
      goto message_done;
    }
    ptr = UnknownFieldParse(
        tag,
        _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
        ptr, ctx);
    CHK_(ptr != nullptr);
  }  // while
message_done:
  return ptr;
failure:
  ptr = nullptr;
  goto message_done;
#undef CHK_
}

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

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

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

size_t ClearMessage::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:AstroidMessages.ClearMessage)
  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 yes = 1;
  if (this->_internal_yes() != 0) {
    total_size += 1 + 1;
  }

  return MaybeComputeUnknownFieldsSize(total_size, &_cached_size_);
}

const ::PROTOBUF_NAMESPACE_ID::Message::ClassData ClearMessage::_class_data_ = {
    ::PROTOBUF_NAMESPACE_ID::Message::CopyWithSizeCheck,
    ClearMessage::MergeImpl
};
const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*ClearMessage::GetClassData() const { return &_class_data_; }

void ClearMessage::MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to,
                      const ::PROTOBUF_NAMESPACE_ID::Message& from) {
  static_cast<ClearMessage *>(to)->MergeFrom(
      static_cast<const ClearMessage &>(from));
}


void ClearMessage::MergeFrom(const ClearMessage& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:AstroidMessages.ClearMessage)
  GOOGLE_DCHECK_NE(&from, this);
  uint32_t cached_has_bits = 0;
  (void) cached_has_bits;

  if (from._internal_yes() != 0) {
    _internal_set_yes(from._internal_yes());
  }
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
}

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

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

void ClearMessage::InternalSwap(ClearMessage* other) {
  using std::swap;
  _internal_metadata_.InternalSwap(&other->_internal_metadata_);
  swap(yes_, other->yes_);
}

::PROTOBUF_NAMESPACE_ID::Metadata ClearMessage::GetMetadata() const {
  return ::_pbi::AssignDescriptors(
      &descriptor_table_messages_2eproto_getter, &descriptor_table_messages_2eproto_once,
      file_level_metadata_messages_2eproto[20]);
}

// @@protoc_insertion_point(namespace_scope)
}  // namespace AstroidMessages
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::AstroidMessages::Focus*
Arena::CreateMaybeMessage< ::AstroidMessages::Focus >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Focus >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Ack*
Arena::CreateMaybeMessage< ::AstroidMessages::Ack >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Ack >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Indent*
Arena::CreateMaybeMessage< ::AstroidMessages::Indent >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Indent >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::AllowRemoteImages*
Arena::CreateMaybeMessage< ::AstroidMessages::AllowRemoteImages >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::AllowRemoteImages >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Navigate*
Arena::CreateMaybeMessage< ::AstroidMessages::Navigate >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Navigate >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Mark*
Arena::CreateMaybeMessage< ::AstroidMessages::Mark >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Mark >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Hidden*
Arena::CreateMaybeMessage< ::AstroidMessages::Hidden >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Hidden >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Debug*
Arena::CreateMaybeMessage< ::AstroidMessages::Debug >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Debug >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Page*
Arena::CreateMaybeMessage< ::AstroidMessages::Page >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Page >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Info*
Arena::CreateMaybeMessage< ::AstroidMessages::Info >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Info >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Address*
Arena::CreateMaybeMessage< ::AstroidMessages::Address >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Address >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::AddressList*
Arena::CreateMaybeMessage< ::AstroidMessages::AddressList >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::AddressList >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Message_Chunk_Signature*
Arena::CreateMaybeMessage< ::AstroidMessages::Message_Chunk_Signature >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Message_Chunk_Signature >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Message_Chunk_Encryption*
Arena::CreateMaybeMessage< ::AstroidMessages::Message_Chunk_Encryption >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Message_Chunk_Encryption >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Message_Chunk*
Arena::CreateMaybeMessage< ::AstroidMessages::Message_Chunk >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Message_Chunk >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::Message*
Arena::CreateMaybeMessage< ::AstroidMessages::Message >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::Message >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::State_MessageState_Element*
Arena::CreateMaybeMessage< ::AstroidMessages::State_MessageState_Element >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::State_MessageState_Element >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::State_MessageState*
Arena::CreateMaybeMessage< ::AstroidMessages::State_MessageState >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::State_MessageState >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::State*
Arena::CreateMaybeMessage< ::AstroidMessages::State >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::State >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::UpdateMessage*
Arena::CreateMaybeMessage< ::AstroidMessages::UpdateMessage >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::UpdateMessage >(arena);
}
template<> PROTOBUF_NOINLINE ::AstroidMessages::ClearMessage*
Arena::CreateMaybeMessage< ::AstroidMessages::ClearMessage >(Arena* arena) {
  return Arena::CreateMessageInternal< ::AstroidMessages::ClearMessage >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

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