# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: wa20.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='wa20.proto',
  package='',
  syntax='proto2',
  serialized_options=None,
  serialized_pb=_b('\n\nwa20.proto\"\x97\x11\n\rClientPayload\x12\x10\n\x08username\x18\x01 \x01(\x04\x12\x0f\n\x07passive\x18\x03 \x01(\x08\x12\x35\n\x0f\x63lient_features\x18\x04 \x03(\x0e\x32\x1c.ClientPayload.ClientFeature\x12,\n\nuser_agent\x18\x05 \x01(\x0b\x32\x18.ClientPayload.UserAgent\x12(\n\x08web_info\x18\x06 \x01(\x0b\x32\x16.ClientPayload.WebInfo\x12\x11\n\tpush_name\x18\x07 \x01(\t\x12\x12\n\nsession_id\x18\t \x01(\x0f\x12\x15\n\rshort_connect\x18\n \x01(\x08\x12\x30\n\x0c\x63onnect_type\x18\x0c \x01(\x0e\x32\x1a.ClientPayload.ConnectType\x12\x34\n\x0e\x63onnect_reason\x18\r \x01(\x0e\x32\x1c.ClientPayload.ConnectReason\x12\x0e\n\x06shards\x18\x0e \x03(\x0f\x12,\n\ndns_source\x18\x0f \x01(\x0b\x32\x18.ClientPayload.DnsSource\x12\x1d\n\x15\x63onnect_attempt_count\x18\x10 \x01(\x0f\x12\x39\n\x11ios_app_extension\x18\x1e \x01(\x0e\x32\x1e.ClientPayload.IosAppExtension\x1a\x9a\x01\n\tDnsSource\x12\x35\n\tdnsMethod\x18\x0f \x01(\x0e\x32\".ClientPayload.DnsSource.DnsMethod\x12\x11\n\tappCached\x18\x10 \x01(\x08\"C\n\tDnsMethod\x12\x0c\n\x08METHOD_0\x10\x00\x12\x0c\n\x08METHOD_1\x10\x01\x12\x0c\n\x08METHOD_2\x10\x02\x12\x0c\n\x08METHOD_3\x10\x03\x1a\xeb\x05\n\tUserAgent\x12<\n\x08platform\x18\x01 \x01(\x0e\x32!.ClientPayload.UserAgent.Platform:\x07\x41NDROID\x12\x38\n\x0b\x61pp_version\x18\x02 \x01(\x0b\x32#.ClientPayload.UserAgent.AppVersion\x12\x0b\n\x03mcc\x18\x03 \x01(\t\x12\x0b\n\x03mnc\x18\x04 \x01(\t\x12\x12\n\nos_version\x18\x05 \x01(\t\x12\x14\n\x0cmanufacturer\x18\x06 \x01(\t\x12\x0e\n\x06\x64\x65vice\x18\x07 \x01(\t\x12\x17\n\x0fos_build_number\x18\x08 \x01(\t\x12\x10\n\x08phone_id\x18\t \x01(\t\x12I\n\x0frelease_channel\x18\n \x01(\x0e\x32\'.ClientPayload.UserAgent.ReleaseChannel:\x07RELEASE\x12!\n\x19locale_language_iso_639_1\x18\x0b \x01(\t\x12)\n!locale_country_iso_3166_1_alpha_2\x18\x0c \x01(\t\x1aV\n\nAppVersion\x12\x0f\n\x07primary\x18\x01 \x01(\r\x12\x11\n\tsecondary\x18\x02 \x01(\r\x12\x10\n\x08tertiary\x18\x03 \x01(\r\x12\x12\n\nquaternary\x18\x04 \x01(\r\"\xb6\x01\n\x08Platform\x12\x0b\n\x07\x41NDROID\x10\x00\x12\x07\n\x03IOS\x10\x01\x12\x11\n\rWINDOWS_PHONE\x10\x02\x12\x0e\n\nBLACKBERRY\x10\x03\x12\x0f\n\x0b\x42LACKBERRYX\x10\x04\x12\x07\n\x03S40\x10\x05\x12\x07\n\x03S60\x10\x06\x12\x11\n\rPYTHON_CLIENT\x10\x07\x12\t\n\x05TIZEN\x10\x08\x12\x0e\n\nENTERPRISE\x10\t\x12\x0f\n\x0bPLATFORM_10\x10\n\x12\x0f\n\x0bPLATFORM_11\x10\x0b\"=\n\x0eReleaseChannel\x12\x0b\n\x07RELEASE\x10\x00\x12\x08\n\x04\x42\x45TA\x10\x01\x12\t\n\x05\x41LPHA\x10\x02\x12\t\n\x05\x44\x45\x42UG\x10\x03\x1a\xa7\x03\n\x07WebInfo\x12\x11\n\tref_token\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x38\n\x0cwebd_payload\x18\x03 \x01(\x0b\x32\".ClientPayload.WebInfo.WebdPayload\x1a\xbd\x02\n\x0bWebdPayload\x12\x1f\n\x17uses_participant_in_key\x18\x01 \x01(\x08\x12!\n\x19supports_starred_messages\x18\x02 \x01(\x08\x12\"\n\x1asupports_document_messages\x18\x03 \x01(\x08\x12\x1d\n\x15supports_url_messages\x18\x04 \x01(\x08\x12\x1c\n\x14supports_media_retry\x18\x05 \x01(\x08\x12\x1a\n\x12supports_e2e_image\x18\x06 \x01(\x08\x12\x1a\n\x12supports_e2e_video\x18\x07 \x01(\x08\x12\x1a\n\x12supports_e2e_audio\x18\x08 \x01(\x08\x12\x1d\n\x15supports_e2e_document\x18\t \x01(\x08\x12\x16\n\x0e\x64ocument_types\x18\n \x01(\t\"\x19\n\rClientFeature\x12\x08\n\x04NONE\x10\x00\"\xac\x01\n\x0b\x43onnectType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04WIFI\x10\x01\x12\x08\n\x04\x45\x44GE\x10\x64\x12\x08\n\x04IDEN\x10\x65\x12\x08\n\x04UMTS\x10\x66\x12\x08\n\x04\x45VDO\x10g\x12\x08\n\x04GPRS\x10h\x12\t\n\x05HSDPA\x10i\x12\t\n\x05HSUPA\x10j\x12\x08\n\x04HSPA\x10k\x12\x08\n\x04\x43\x44MA\x10l\x12\x0b\n\x07ONExRTT\x10m\x12\t\n\x05\x45HRPD\x10n\x12\x07\n\x03LTE\x10o\x12\t\n\x05HSPAP\x10p\"c\n\rConnectReason\x12\x0c\n\x08REASON_0\x10\x00\x12\x0c\n\x08REASON_1\x10\x01\x12\x0c\n\x08REASON_2\x10\x02\x12\x0c\n\x08REASON_3\x10\x03\x12\x0c\n\x08REASON_4\x10\x04\x12\x0c\n\x08REASON_5\x10\x06\"2\n\x0fIosAppExtension\x12\t\n\x05\x45XT_0\x10\x00\x12\t\n\x05\x45XT_1\x10\x01\x12\t\n\x05\x45XT_2\x10\x02\"\xea\x02\n\x10HandshakeMessage\x12\x33\n\x0c\x63lient_hello\x18\x02 \x01(\x0b\x32\x1d.HandshakeMessage.ClientHello\x12\x33\n\x0cserver_hello\x18\x03 \x01(\x0b\x32\x1d.HandshakeMessage.ServerHello\x12\x35\n\rclient_finish\x18\x04 \x01(\x0b\x32\x1e.HandshakeMessage.ClientFinish\x1a\x41\n\x0b\x43lientHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x1a\x41\n\x0bServerHello\x12\x11\n\tephemeral\x18\x01 \x01(\x0c\x12\x0e\n\x06static\x18\x02 \x01(\x0c\x12\x0f\n\x07payload\x18\x03 \x01(\x0c\x1a/\n\x0c\x43lientFinish\x12\x0e\n\x06static\x18\x01 \x01(\x0c\x12\x0f\n\x07payload\x18\x02 \x01(\x0c\"\x90\x01\n\x10NoiseCertificate\x12\x0f\n\x07\x64\x65tails\x18\x01 \x01(\x0c\x12\x11\n\tsignature\x18\x02 \x01(\x0c\x1aX\n\x07\x44\x65tails\x12\x0e\n\x06serial\x18\x01 \x01(\r\x12\x0e\n\x06issuer\x18\x02 \x01(\t\x12\x0f\n\x07\x65xpires\x18\x03 \x01(\x04\x12\x0f\n\x07subject\x18\x04 \x01(\t\x12\x0b\n\x03key\x18\x05 \x01(\x0c')
)



_CLIENTPAYLOAD_DNSSOURCE_DNSMETHOD = _descriptor.EnumDescriptor(
  name='DnsMethod',
  full_name='ClientPayload.DnsSource.DnsMethod',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='METHOD_0', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='METHOD_1', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='METHOD_2', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='METHOD_3', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=616,
  serialized_end=683,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_DNSSOURCE_DNSMETHOD)

_CLIENTPAYLOAD_USERAGENT_PLATFORM = _descriptor.EnumDescriptor(
  name='Platform',
  full_name='ClientPayload.UserAgent.Platform',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ANDROID', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IOS', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WINDOWS_PHONE', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BLACKBERRY', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BLACKBERRYX', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='S40', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='S60', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PYTHON_CLIENT', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='TIZEN', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ENTERPRISE', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLATFORM_10', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='PLATFORM_11', index=11, number=11,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1188,
  serialized_end=1370,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_USERAGENT_PLATFORM)

_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL = _descriptor.EnumDescriptor(
  name='ReleaseChannel',
  full_name='ClientPayload.UserAgent.ReleaseChannel',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='RELEASE', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='BETA', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ALPHA', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DEBUG', index=3, number=3,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1372,
  serialized_end=1433,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL)

_CLIENTPAYLOAD_CLIENTFEATURE = _descriptor.EnumDescriptor(
  name='ClientFeature',
  full_name='ClientPayload.ClientFeature',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='NONE', index=0, number=0,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1861,
  serialized_end=1886,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_CLIENTFEATURE)

_CLIENTPAYLOAD_CONNECTTYPE = _descriptor.EnumDescriptor(
  name='ConnectType',
  full_name='ClientPayload.ConnectType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='UNKNOWN', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='WIFI', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EDGE', index=2, number=100,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='IDEN', index=3, number=101,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UMTS', index=4, number=102,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EVDO', index=5, number=103,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GPRS', index=6, number=104,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HSDPA', index=7, number=105,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HSUPA', index=8, number=106,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HSPA', index=9, number=107,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CDMA', index=10, number=108,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ONExRTT', index=11, number=109,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EHRPD', index=12, number=110,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LTE', index=13, number=111,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HSPAP', index=14, number=112,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1889,
  serialized_end=2061,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_CONNECTTYPE)

_CLIENTPAYLOAD_CONNECTREASON = _descriptor.EnumDescriptor(
  name='ConnectReason',
  full_name='ClientPayload.ConnectReason',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='REASON_0', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REASON_1', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REASON_2', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REASON_3', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REASON_4', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='REASON_5', index=5, number=6,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2063,
  serialized_end=2162,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_CONNECTREASON)

_CLIENTPAYLOAD_IOSAPPEXTENSION = _descriptor.EnumDescriptor(
  name='IosAppExtension',
  full_name='ClientPayload.IosAppExtension',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EXT_0', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXT_1', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EXT_2', index=2, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=2164,
  serialized_end=2214,
)
_sym_db.RegisterEnumDescriptor(_CLIENTPAYLOAD_IOSAPPEXTENSION)


_CLIENTPAYLOAD_DNSSOURCE = _descriptor.Descriptor(
  name='DnsSource',
  full_name='ClientPayload.DnsSource',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='dnsMethod', full_name='ClientPayload.DnsSource.dnsMethod', index=0,
      number=15, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='appCached', full_name='ClientPayload.DnsSource.appCached', index=1,
      number=16, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
    _CLIENTPAYLOAD_DNSSOURCE_DNSMETHOD,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=529,
  serialized_end=683,
)

_CLIENTPAYLOAD_USERAGENT_APPVERSION = _descriptor.Descriptor(
  name='AppVersion',
  full_name='ClientPayload.UserAgent.AppVersion',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='primary', full_name='ClientPayload.UserAgent.AppVersion.primary', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='secondary', full_name='ClientPayload.UserAgent.AppVersion.secondary', index=1,
      number=2, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='tertiary', full_name='ClientPayload.UserAgent.AppVersion.tertiary', index=2,
      number=3, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='quaternary', full_name='ClientPayload.UserAgent.AppVersion.quaternary', index=3,
      number=4, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1099,
  serialized_end=1185,
)

_CLIENTPAYLOAD_USERAGENT = _descriptor.Descriptor(
  name='UserAgent',
  full_name='ClientPayload.UserAgent',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='platform', full_name='ClientPayload.UserAgent.platform', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='app_version', full_name='ClientPayload.UserAgent.app_version', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mcc', full_name='ClientPayload.UserAgent.mcc', index=2,
      number=3, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='mnc', full_name='ClientPayload.UserAgent.mnc', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='os_version', full_name='ClientPayload.UserAgent.os_version', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='manufacturer', full_name='ClientPayload.UserAgent.manufacturer', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='device', full_name='ClientPayload.UserAgent.device', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='os_build_number', full_name='ClientPayload.UserAgent.os_build_number', index=7,
      number=8, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='phone_id', full_name='ClientPayload.UserAgent.phone_id', index=8,
      number=9, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='release_channel', full_name='ClientPayload.UserAgent.release_channel', index=9,
      number=10, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='locale_language_iso_639_1', full_name='ClientPayload.UserAgent.locale_language_iso_639_1', index=10,
      number=11, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='locale_country_iso_3166_1_alpha_2', full_name='ClientPayload.UserAgent.locale_country_iso_3166_1_alpha_2', index=11,
      number=12, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_CLIENTPAYLOAD_USERAGENT_APPVERSION, ],
  enum_types=[
    _CLIENTPAYLOAD_USERAGENT_PLATFORM,
    _CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=686,
  serialized_end=1433,
)

_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD = _descriptor.Descriptor(
  name='WebdPayload',
  full_name='ClientPayload.WebInfo.WebdPayload',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='uses_participant_in_key', full_name='ClientPayload.WebInfo.WebdPayload.uses_participant_in_key', index=0,
      number=1, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_starred_messages', full_name='ClientPayload.WebInfo.WebdPayload.supports_starred_messages', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_document_messages', full_name='ClientPayload.WebInfo.WebdPayload.supports_document_messages', index=2,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_url_messages', full_name='ClientPayload.WebInfo.WebdPayload.supports_url_messages', index=3,
      number=4, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_media_retry', full_name='ClientPayload.WebInfo.WebdPayload.supports_media_retry', index=4,
      number=5, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_e2e_image', full_name='ClientPayload.WebInfo.WebdPayload.supports_e2e_image', index=5,
      number=6, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_e2e_video', full_name='ClientPayload.WebInfo.WebdPayload.supports_e2e_video', index=6,
      number=7, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_e2e_audio', full_name='ClientPayload.WebInfo.WebdPayload.supports_e2e_audio', index=7,
      number=8, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supports_e2e_document', full_name='ClientPayload.WebInfo.WebdPayload.supports_e2e_document', index=8,
      number=9, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='document_types', full_name='ClientPayload.WebInfo.WebdPayload.document_types', index=9,
      number=10, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1542,
  serialized_end=1859,
)

_CLIENTPAYLOAD_WEBINFO = _descriptor.Descriptor(
  name='WebInfo',
  full_name='ClientPayload.WebInfo',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ref_token', full_name='ClientPayload.WebInfo.ref_token', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='ClientPayload.WebInfo.version', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='webd_payload', full_name='ClientPayload.WebInfo.webd_payload', index=2,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1436,
  serialized_end=1859,
)

_CLIENTPAYLOAD = _descriptor.Descriptor(
  name='ClientPayload',
  full_name='ClientPayload',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='username', full_name='ClientPayload.username', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='passive', full_name='ClientPayload.passive', index=1,
      number=3, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_features', full_name='ClientPayload.client_features', index=2,
      number=4, type=14, cpp_type=8, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='user_agent', full_name='ClientPayload.user_agent', index=3,
      number=5, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='web_info', full_name='ClientPayload.web_info', index=4,
      number=6, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='push_name', full_name='ClientPayload.push_name', index=5,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='session_id', full_name='ClientPayload.session_id', index=6,
      number=9, type=15, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='short_connect', full_name='ClientPayload.short_connect', index=7,
      number=10, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='connect_type', full_name='ClientPayload.connect_type', index=8,
      number=12, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='connect_reason', full_name='ClientPayload.connect_reason', index=9,
      number=13, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='shards', full_name='ClientPayload.shards', index=10,
      number=14, type=15, cpp_type=1, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='dns_source', full_name='ClientPayload.dns_source', index=11,
      number=15, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='connect_attempt_count', full_name='ClientPayload.connect_attempt_count', index=12,
      number=16, type=15, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='ios_app_extension', full_name='ClientPayload.ios_app_extension', index=13,
      number=30, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_CLIENTPAYLOAD_DNSSOURCE, _CLIENTPAYLOAD_USERAGENT, _CLIENTPAYLOAD_WEBINFO, ],
  enum_types=[
    _CLIENTPAYLOAD_CLIENTFEATURE,
    _CLIENTPAYLOAD_CONNECTTYPE,
    _CLIENTPAYLOAD_CONNECTREASON,
    _CLIENTPAYLOAD_IOSAPPEXTENSION,
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=15,
  serialized_end=2214,
)


_HANDSHAKEMESSAGE_CLIENTHELLO = _descriptor.Descriptor(
  name='ClientHello',
  full_name='HandshakeMessage.ClientHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ephemeral', full_name='HandshakeMessage.ClientHello.ephemeral', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='static', full_name='HandshakeMessage.ClientHello.static', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='HandshakeMessage.ClientHello.payload', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2398,
  serialized_end=2463,
)

_HANDSHAKEMESSAGE_SERVERHELLO = _descriptor.Descriptor(
  name='ServerHello',
  full_name='HandshakeMessage.ServerHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ephemeral', full_name='HandshakeMessage.ServerHello.ephemeral', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='static', full_name='HandshakeMessage.ServerHello.static', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='HandshakeMessage.ServerHello.payload', index=2,
      number=3, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2465,
  serialized_end=2530,
)

_HANDSHAKEMESSAGE_CLIENTFINISH = _descriptor.Descriptor(
  name='ClientFinish',
  full_name='HandshakeMessage.ClientFinish',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='static', full_name='HandshakeMessage.ClientFinish.static', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='payload', full_name='HandshakeMessage.ClientFinish.payload', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2532,
  serialized_end=2579,
)

_HANDSHAKEMESSAGE = _descriptor.Descriptor(
  name='HandshakeMessage',
  full_name='HandshakeMessage',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='client_hello', full_name='HandshakeMessage.client_hello', index=0,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='server_hello', full_name='HandshakeMessage.server_hello', index=1,
      number=3, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_finish', full_name='HandshakeMessage.client_finish', index=2,
      number=4, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_HANDSHAKEMESSAGE_CLIENTHELLO, _HANDSHAKEMESSAGE_SERVERHELLO, _HANDSHAKEMESSAGE_CLIENTFINISH, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2217,
  serialized_end=2579,
)


_NOISECERTIFICATE_DETAILS = _descriptor.Descriptor(
  name='Details',
  full_name='NoiseCertificate.Details',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='serial', full_name='NoiseCertificate.Details.serial', index=0,
      number=1, type=13, cpp_type=3, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='issuer', full_name='NoiseCertificate.Details.issuer', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='expires', full_name='NoiseCertificate.Details.expires', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='subject', full_name='NoiseCertificate.Details.subject', index=3,
      number=4, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='key', full_name='NoiseCertificate.Details.key', index=4,
      number=5, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2638,
  serialized_end=2726,
)

_NOISECERTIFICATE = _descriptor.Descriptor(
  name='NoiseCertificate',
  full_name='NoiseCertificate',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='details', full_name='NoiseCertificate.details', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='signature', full_name='NoiseCertificate.signature', index=1,
      number=2, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_NOISECERTIFICATE_DETAILS, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2582,
  serialized_end=2726,
)

_CLIENTPAYLOAD_DNSSOURCE.fields_by_name['dnsMethod'].enum_type = _CLIENTPAYLOAD_DNSSOURCE_DNSMETHOD
_CLIENTPAYLOAD_DNSSOURCE.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD_DNSSOURCE_DNSMETHOD.containing_type = _CLIENTPAYLOAD_DNSSOURCE
_CLIENTPAYLOAD_USERAGENT_APPVERSION.containing_type = _CLIENTPAYLOAD_USERAGENT
_CLIENTPAYLOAD_USERAGENT.fields_by_name['platform'].enum_type = _CLIENTPAYLOAD_USERAGENT_PLATFORM
_CLIENTPAYLOAD_USERAGENT.fields_by_name['app_version'].message_type = _CLIENTPAYLOAD_USERAGENT_APPVERSION
_CLIENTPAYLOAD_USERAGENT.fields_by_name['release_channel'].enum_type = _CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL
_CLIENTPAYLOAD_USERAGENT.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD_USERAGENT_PLATFORM.containing_type = _CLIENTPAYLOAD_USERAGENT
_CLIENTPAYLOAD_USERAGENT_RELEASECHANNEL.containing_type = _CLIENTPAYLOAD_USERAGENT
_CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD.containing_type = _CLIENTPAYLOAD_WEBINFO
_CLIENTPAYLOAD_WEBINFO.fields_by_name['webd_payload'].message_type = _CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD
_CLIENTPAYLOAD_WEBINFO.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD.fields_by_name['client_features'].enum_type = _CLIENTPAYLOAD_CLIENTFEATURE
_CLIENTPAYLOAD.fields_by_name['user_agent'].message_type = _CLIENTPAYLOAD_USERAGENT
_CLIENTPAYLOAD.fields_by_name['web_info'].message_type = _CLIENTPAYLOAD_WEBINFO
_CLIENTPAYLOAD.fields_by_name['connect_type'].enum_type = _CLIENTPAYLOAD_CONNECTTYPE
_CLIENTPAYLOAD.fields_by_name['connect_reason'].enum_type = _CLIENTPAYLOAD_CONNECTREASON
_CLIENTPAYLOAD.fields_by_name['dns_source'].message_type = _CLIENTPAYLOAD_DNSSOURCE
_CLIENTPAYLOAD.fields_by_name['ios_app_extension'].enum_type = _CLIENTPAYLOAD_IOSAPPEXTENSION
_CLIENTPAYLOAD_CLIENTFEATURE.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD_CONNECTTYPE.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD_CONNECTREASON.containing_type = _CLIENTPAYLOAD
_CLIENTPAYLOAD_IOSAPPEXTENSION.containing_type = _CLIENTPAYLOAD
_HANDSHAKEMESSAGE_CLIENTHELLO.containing_type = _HANDSHAKEMESSAGE
_HANDSHAKEMESSAGE_SERVERHELLO.containing_type = _HANDSHAKEMESSAGE
_HANDSHAKEMESSAGE_CLIENTFINISH.containing_type = _HANDSHAKEMESSAGE
_HANDSHAKEMESSAGE.fields_by_name['client_hello'].message_type = _HANDSHAKEMESSAGE_CLIENTHELLO
_HANDSHAKEMESSAGE.fields_by_name['server_hello'].message_type = _HANDSHAKEMESSAGE_SERVERHELLO
_HANDSHAKEMESSAGE.fields_by_name['client_finish'].message_type = _HANDSHAKEMESSAGE_CLIENTFINISH
_NOISECERTIFICATE_DETAILS.containing_type = _NOISECERTIFICATE
DESCRIPTOR.message_types_by_name['ClientPayload'] = _CLIENTPAYLOAD
DESCRIPTOR.message_types_by_name['HandshakeMessage'] = _HANDSHAKEMESSAGE
DESCRIPTOR.message_types_by_name['NoiseCertificate'] = _NOISECERTIFICATE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

ClientPayload = _reflection.GeneratedProtocolMessageType('ClientPayload', (_message.Message,), dict(

  DnsSource = _reflection.GeneratedProtocolMessageType('DnsSource', (_message.Message,), dict(
    DESCRIPTOR = _CLIENTPAYLOAD_DNSSOURCE,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:ClientPayload.DnsSource)
    ))
  ,

  UserAgent = _reflection.GeneratedProtocolMessageType('UserAgent', (_message.Message,), dict(

    AppVersion = _reflection.GeneratedProtocolMessageType('AppVersion', (_message.Message,), dict(
      DESCRIPTOR = _CLIENTPAYLOAD_USERAGENT_APPVERSION,
      __module__ = 'wa20_pb2'
      # @@protoc_insertion_point(class_scope:ClientPayload.UserAgent.AppVersion)
      ))
    ,
    DESCRIPTOR = _CLIENTPAYLOAD_USERAGENT,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:ClientPayload.UserAgent)
    ))
  ,

  WebInfo = _reflection.GeneratedProtocolMessageType('WebInfo', (_message.Message,), dict(

    WebdPayload = _reflection.GeneratedProtocolMessageType('WebdPayload', (_message.Message,), dict(
      DESCRIPTOR = _CLIENTPAYLOAD_WEBINFO_WEBDPAYLOAD,
      __module__ = 'wa20_pb2'
      # @@protoc_insertion_point(class_scope:ClientPayload.WebInfo.WebdPayload)
      ))
    ,
    DESCRIPTOR = _CLIENTPAYLOAD_WEBINFO,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:ClientPayload.WebInfo)
    ))
  ,
  DESCRIPTOR = _CLIENTPAYLOAD,
  __module__ = 'wa20_pb2'
  # @@protoc_insertion_point(class_scope:ClientPayload)
  ))
_sym_db.RegisterMessage(ClientPayload)
_sym_db.RegisterMessage(ClientPayload.DnsSource)
_sym_db.RegisterMessage(ClientPayload.UserAgent)
_sym_db.RegisterMessage(ClientPayload.UserAgent.AppVersion)
_sym_db.RegisterMessage(ClientPayload.WebInfo)
_sym_db.RegisterMessage(ClientPayload.WebInfo.WebdPayload)

HandshakeMessage = _reflection.GeneratedProtocolMessageType('HandshakeMessage', (_message.Message,), dict(

  ClientHello = _reflection.GeneratedProtocolMessageType('ClientHello', (_message.Message,), dict(
    DESCRIPTOR = _HANDSHAKEMESSAGE_CLIENTHELLO,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:HandshakeMessage.ClientHello)
    ))
  ,

  ServerHello = _reflection.GeneratedProtocolMessageType('ServerHello', (_message.Message,), dict(
    DESCRIPTOR = _HANDSHAKEMESSAGE_SERVERHELLO,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:HandshakeMessage.ServerHello)
    ))
  ,

  ClientFinish = _reflection.GeneratedProtocolMessageType('ClientFinish', (_message.Message,), dict(
    DESCRIPTOR = _HANDSHAKEMESSAGE_CLIENTFINISH,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:HandshakeMessage.ClientFinish)
    ))
  ,
  DESCRIPTOR = _HANDSHAKEMESSAGE,
  __module__ = 'wa20_pb2'
  # @@protoc_insertion_point(class_scope:HandshakeMessage)
  ))
_sym_db.RegisterMessage(HandshakeMessage)
_sym_db.RegisterMessage(HandshakeMessage.ClientHello)
_sym_db.RegisterMessage(HandshakeMessage.ServerHello)
_sym_db.RegisterMessage(HandshakeMessage.ClientFinish)

NoiseCertificate = _reflection.GeneratedProtocolMessageType('NoiseCertificate', (_message.Message,), dict(

  Details = _reflection.GeneratedProtocolMessageType('Details', (_message.Message,), dict(
    DESCRIPTOR = _NOISECERTIFICATE_DETAILS,
    __module__ = 'wa20_pb2'
    # @@protoc_insertion_point(class_scope:NoiseCertificate.Details)
    ))
  ,
  DESCRIPTOR = _NOISECERTIFICATE,
  __module__ = 'wa20_pb2'
  # @@protoc_insertion_point(class_scope:NoiseCertificate)
  ))
_sym_db.RegisterMessage(NoiseCertificate)
_sym_db.RegisterMessage(NoiseCertificate.Details)


# @@protoc_insertion_point(module_scope)
