# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: blickfeld/connection.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
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()


from . import options_pb2 as blickfeld_dot_options__pb2
from . import error_pb2 as blickfeld_dot_error__pb2
from . import common_pb2 as blickfeld_dot_common__pb2
from .config import advanced_pb2 as blickfeld_dot_config_dot_advanced__pb2
from .config import product_pb2 as blickfeld_dot_config_dot_product__pb2
from .config import scan_pattern_pb2 as blickfeld_dot_config_dot_scan__pattern__pb2
from .status import main_pb2 as blickfeld_dot_status_dot_main__pb2
from .stream import connection_pb2 as blickfeld_dot_stream_dot_connection__pb2
from .stream import event_pb2 as blickfeld_dot_stream_dot_event__pb2
from .config import named_scan_pattern_pb2 as blickfeld_dot_config_dot_named__scan__pattern__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='blickfeld/connection.proto',
  package='blickfeld.protocol',
  syntax='proto2',
  serialized_options=_b('\370\001\001'),
  serialized_pb=_b('\n\x1a\x62lickfeld/connection.proto\x12\x12\x62lickfeld.protocol\x1a\x17\x62lickfeld/options.proto\x1a\x15\x62lickfeld/error.proto\x1a\x16\x62lickfeld/common.proto\x1a\x1f\x62lickfeld/config/advanced.proto\x1a\x1e\x62lickfeld/config/product.proto\x1a#blickfeld/config/scan_pattern.proto\x1a\x1b\x62lickfeld/status/main.proto\x1a!blickfeld/stream/connection.proto\x1a\x1c\x62lickfeld/stream/event.proto\x1a)blickfeld/config/named_scan_pattern.proto\"\xbe\x12\n\x07Request\x12\x32\n\x05hello\x18\x0b \x01(\x0b\x32!.blickfeld.protocol.Request.HelloH\x00\x12:\n\tdeveloper\x18\r \x01(\x0b\x32%.blickfeld.protocol.Request.DeveloperH\x00\x12\x46\n\x10set_scan_pattern\x18\x0f \x01(\x0b\x32*.blickfeld.protocol.Request.SetScanPatternH\x00\x12H\n\x11\x66ill_scan_pattern\x18\x10 \x01(\x0b\x32+.blickfeld.protocol.Request.FillScanPatternH\x00\x12\x46\n\x10get_scan_pattern\x18\x11 \x01(\x0b\x32*.blickfeld.protocol.Request.GetScanPatternH\x00\x12\x39\n\tsubscribe\x18\x12 \x01(\x0b\x32$.blickfeld.protocol.stream.SubscribeH\x00\x12\x34\n\x06status\x18\x13 \x01(\x0b\x32\".blickfeld.protocol.Request.StatusH\x00\x12@\n\rrun_self_test\x18\x14 \x01(\x0b\x32\'.blickfeld.protocol.Request.RunSelfTestH\x00\x12L\n\x13set_advanced_config\x18\x15 \x01(\x0b\x32-.blickfeld.protocol.Request.SetAdvancedConfigH\x00\x12L\n\x13get_advanced_config\x18\x16 \x01(\x0b\x32-.blickfeld.protocol.Request.GetAdvancedConfigH\x00\x12;\n\x0bunsubscribe\x18\x17 \x01(\x0b\x32$.blickfeld.protocol.stream.SubscribeH\x00\x12R\n\x16\x61ttempt_error_recovery\x18\x18 \x01(\x0b\x32\x30.blickfeld.protocol.Request.AttemptErrorRecoveryH\x00\x12]\n\x1cget_scan_pattern_constraints\x18\x19 \x01(\x0b\x32\x35.blickfeld.protocol.Request.GetScanPatternConstraintsH\x00\x12S\n\x17get_named_scan_patterns\x18\x1a \x01(\x0b\x32\x30.blickfeld.protocol.Request.GetNamedScanPatternsH\x00\x12U\n\x18store_named_scan_pattern\x18\x1b \x01(\x0b\x32\x31.blickfeld.protocol.Request.StoreNamedScanPatternH\x00\x12W\n\x19\x64\x65lete_named_scan_pattern\x18\x1c \x01(\x0b\x32\x32.blickfeld.protocol.Request.DeleteNamedScanPatternH\x00\x12=\n\x0bproxy_hello\x18\x1d \x01(\x0b\x32&.blickfeld.protocol.Request.ProxyHelloH\x00\x12\x11\n\x07_asJSON\x18\x64 \x01(\tH\x00\x12;\n\raccept_format\x18\x65 \x01(\x0e\x32\x1a.blickfeld.protocol.Format:\x08PROTOBUF\x1a\xa2\x01\n\x05Hello\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12I\n\x0flibrary_version\x18\x02 \x01(\tB0\xaa\xb5\x18([0-9]+\\.[0-9]+\\.[0-9]+[[:alnum:]\\.\\+\\-]*\xb0\xb5\x18\x01\x12\x34\n\x08language\x18\x03 \x01(\x0e\x32\x1c.blickfeld.protocol.LanguageB\x04\xb0\xb5\x18\x01\x1a\x41\n\nProxyHello\x12\x33\n\nip_address\x18\x01 \x01(\tB\x1f\xaa\xb5\x18\x1b([0-9]{1,3}\\.){3}[0-9]{1,3}\x1a\x1f\n\tDeveloper*\x08\x08\x01\x10\x80\x80\x80\x80\x02:\x08\x92\xa6\x1d\x04\x08\x01\x10\x00\x1a\xc0\x01\n\x0eSetScanPattern\x12\x38\n\x06\x63onfig\x18\x03 \x01(\x0b\x32&.blickfeld.protocol.config.ScanPatternH\x00\x12?\n\x04name\x18\x04 \x01(\tB/\xaa\xb5\x18+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*H\x00\x12\x16\n\x07persist\x18\x02 \x01(\x08:\x05\x66\x61lseB\x06\n\x04\x64\x61taJ\x04\x08\x01\x10\x02R\rlegacy_config\x1a\x64\n\x0f\x46illScanPattern\x12<\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.blickfeld.protocol.config.ScanPatternB\x04\xb8\xb5\x18\x01J\x04\x08\x01\x10\x02R\rlegacy_config\x1a\x10\n\x0eGetScanPattern\x1a\x08\n\x06Status\x1a\r\n\x0bRunSelfTest\x1a_\n\x11SetAdvancedConfig\x12\x33\n\x06\x63onfig\x18\x01 \x01(\x0b\x32#.blickfeld.protocol.config.Advanced\x12\x15\n\x07persist\x18\x02 \x01(\x08:\x04true\x1a\x13\n\x11GetAdvancedConfig\x1a\x16\n\x14\x41ttemptErrorRecovery\x1a\x1b\n\x19GetScanPatternConstraints\x1a\x16\n\x14GetNamedScanPatterns\x1a\x94\x01\n\x15StoreNamedScanPattern\x12=\n\x04name\x18\x01 \x01(\tB/\xaa\xb5\x18+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*\x12<\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.blickfeld.protocol.config.ScanPatternB\x04\xb8\xb5\x18\x01\x1aW\n\x16\x44\x65leteNamedScanPattern\x12=\n\x04name\x18\x01 \x01(\tB/\xaa\xb5\x18+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*B\x06\n\x04\x64\x61ta\"\x9f\x15\n\x08Response\x12\x14\n\x0ctimestamp_ns\x18\x01 \x01(\x04\x12*\n\x05\x65rror\x18\n \x01(\x0b\x32\x19.blickfeld.protocol.ErrorH\x00\x12\x33\n\x05hello\x18\x0b \x01(\x0b\x32\".blickfeld.protocol.Response.HelloH\x00\x12;\n\tdeveloper\x18\r \x01(\x0b\x32&.blickfeld.protocol.Response.DeveloperH\x00\x12G\n\x10set_scan_pattern\x18\x0f \x01(\x0b\x32+.blickfeld.protocol.Response.SetScanPatternH\x00\x12I\n\x11\x66ill_scan_pattern\x18\x10 \x01(\x0b\x32,.blickfeld.protocol.Response.FillScanPatternH\x00\x12G\n\x10get_scan_pattern\x18\x11 \x01(\x0b\x32+.blickfeld.protocol.Response.GetScanPatternH\x00\x12\x31\n\x05\x65vent\x18\x12 \x01(\x0b\x32 .blickfeld.protocol.stream.EventH\x00\x12,\n\x06status\x18\x13 \x01(\x0b\x32\x1a.blickfeld.protocol.StatusH\x00\x12\x41\n\rrun_self_test\x18\x14 \x01(\x0b\x32(.blickfeld.protocol.Response.RunSelfTestH\x00\x12M\n\x13set_advanced_config\x18\x15 \x01(\x0b\x32..blickfeld.protocol.Response.SetAdvancedConfigH\x00\x12M\n\x13get_advanced_config\x18\x16 \x01(\x0b\x32..blickfeld.protocol.Response.GetAdvancedConfigH\x00\x12S\n\x16\x61ttempt_error_recovery\x18\x18 \x01(\x0b\x32\x31.blickfeld.protocol.Response.AttemptErrorRecoveryH\x00\x12^\n\x1cget_scan_pattern_constraints\x18\x19 \x01(\x0b\x32\x36.blickfeld.protocol.Response.GetScanPatternConstraintsH\x00\x12T\n\x17get_named_scan_patterns\x18\x1a \x01(\x0b\x32\x31.blickfeld.protocol.Response.GetNamedScanPatternsH\x00\x12V\n\x18store_named_scan_pattern\x18\x1b \x01(\x0b\x32\x32.blickfeld.protocol.Response.StoreNamedScanPatternH\x00\x12X\n\x19\x64\x65lete_named_scan_pattern\x18\x1c \x01(\x0b\x32\x33.blickfeld.protocol.Response.DeleteNamedScanPatternH\x00\x12>\n\x0bproxy_hello\x18\x1d \x01(\x0b\x32\'.blickfeld.protocol.Response.ProxyHelloH\x00\x12\x11\n\x07_asJSON\x18\x64 \x01(\tH\x00\x1a\xb9\x06\n\x05Hello\x12\x18\n\x10protocol_version\x18\x01 \x01(\r\x12\x45\n\x0flibrary_version\x18\x02 \x01(\tB,\xaa\xb5\x18([0-9]+\\.[0-9]+\\.[0-9]+[[:alnum:]\\.\\+\\-]*\x12.\n\x08language\x18\x03 \x01(\x0e\x32\x1c.blickfeld.protocol.Language\x12\x39\n\x07product\x18\x04 \x01(\x0e\x32\".blickfeld.protocol.config.ProductB\x04\xb0\xb5\x18\x01\x12,\n\rserial_number\x18\x05 \x01(\tB\x13\xaa\xb5\x18\x0b[A-Z2-7]{9}\xd0\xb5\x18\x06H\x00\x12\x32\n\x14legacy_serial_number\x18\x06 \x01(\tB\x12\x18\x01\xaa\xb5\x18\x0cmsb-[0-9]{4}H\x00\x12=\n\x08\x66irmware\x18\x07 \x01(\x0b\x32+.blickfeld.protocol.Response.Hello.Firmware\x12Q\n\x10hardware_modules\x18\x08 \x03(\x0b\x32\x37.blickfeld.protocol.Response.Hello.HardwareModulesEntry\x1a\xf6\x01\n\x08\x46irmware\x12\x34\n\x07version\x18\x01 \x01(\x0b\x32#.blickfeld.protocol.SoftwareVersion\x12X\n\x0fmodule_versions\x18\x02 \x03(\x0b\x32?.blickfeld.protocol.Response.Hello.Firmware.ModuleVersionsEntry\x1aZ\n\x13ModuleVersionsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x32\n\x05value\x18\x02 \x01(\x0b\x32#.blickfeld.protocol.SoftwareVersion:\x02\x38\x01\x1aZ\n\x14HardwareModulesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x31\n\x05value\x18\x02 \x01(\x0b\x32\".blickfeld.protocol.HardwareModule:\x02\x38\x01\x42\x1b\n\x13oneof_serial_number\x12\x04\xb0\xb5\x18\x01\x1a\x0c\n\nProxyHello\x1a\x15\n\tDeveloper*\x08\x08\x01\x10\x80\x80\x80\x80\x02\x1a\x10\n\x0eSetScanPattern\x1a^\n\x0f\x46illScanPattern\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.blickfeld.protocol.config.ScanPatternJ\x04\x08\x01\x10\x02R\rlegacy_config\x1a]\n\x0eGetScanPattern\x12\x36\n\x06\x63onfig\x18\x02 \x01(\x0b\x32&.blickfeld.protocol.config.ScanPatternJ\x04\x08\x01\x10\x02R\rlegacy_config\x1a$\n\x0bRunSelfTest\x12\x0f\n\x07success\x18\x01 \x01(\x08*\x04\x08\x02\x10\x03\x1a\x13\n\x11SetAdvancedConfig\x1aH\n\x11GetAdvancedConfig\x12\x33\n\x06\x63onfig\x18\x01 \x01(\x0b\x32#.blickfeld.protocol.config.Advanced\x1a\x16\n\x14\x41ttemptErrorRecovery\x1aP\n\x19GetScanPatternConstraints\x12\x33\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32\x1e.blickfeld.protocol.Constraint\x1aT\n\x14GetNamedScanPatterns\x12<\n\x07\x63onfigs\x18\x01 \x03(\x0b\x32+.blickfeld.protocol.config.NamedScanPattern\x1a\x17\n\x15StoreNamedScanPattern\x1a\x18\n\x16\x44\x65leteNamedScanPatternB\x06\n\x04\x64\x61ta* \n\x06\x46ormat\x12\x0c\n\x08PROTOBUF\x10\x01\x12\x08\n\x04JSON\x10\x02\x42\x03\xf8\x01\x01')
  ,
  dependencies=[blickfeld_dot_options__pb2.DESCRIPTOR,blickfeld_dot_error__pb2.DESCRIPTOR,blickfeld_dot_common__pb2.DESCRIPTOR,blickfeld_dot_config_dot_advanced__pb2.DESCRIPTOR,blickfeld_dot_config_dot_product__pb2.DESCRIPTOR,blickfeld_dot_config_dot_scan__pattern__pb2.DESCRIPTOR,blickfeld_dot_status_dot_main__pb2.DESCRIPTOR,blickfeld_dot_stream_dot_connection__pb2.DESCRIPTOR,blickfeld_dot_stream_dot_event__pb2.DESCRIPTOR,blickfeld_dot_config_dot_named__scan__pattern__pb2.DESCRIPTOR,])

_FORMAT = _descriptor.EnumDescriptor(
  name='Format',
  full_name='blickfeld.protocol.Format',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PROTOBUF', index=0, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='JSON', index=1, number=2,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=5452,
  serialized_end=5484,
)
_sym_db.RegisterEnumDescriptor(_FORMAT)

Format = enum_type_wrapper.EnumTypeWrapper(_FORMAT)
PROTOBUF = 1
JSON = 2



_REQUEST_HELLO = _descriptor.Descriptor(
  name='Hello',
  full_name='blickfeld.protocol.Request.Hello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='protocol_version', full_name='blickfeld.protocol.Request.Hello.protocol_version', 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='library_version', full_name='blickfeld.protocol.Request.Hello.library_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=_b('\252\265\030([0-9]+\\.[0-9]+\\.[0-9]+[[:alnum:]\\.\\+\\-]*\260\265\030\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='language', full_name='blickfeld.protocol.Request.Hello.language', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=_b('\260\265\030\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1683,
  serialized_end=1845,
)

_REQUEST_PROXYHELLO = _descriptor.Descriptor(
  name='ProxyHello',
  full_name='blickfeld.protocol.Request.ProxyHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ip_address', full_name='blickfeld.protocol.Request.ProxyHello.ip_address', 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=_b('\252\265\030\033([0-9]{1,3}\\.){3}[0-9]{1,3}'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1847,
  serialized_end=1912,
)

_REQUEST_DEVELOPER = _descriptor.Descriptor(
  name='Developer',
  full_name='blickfeld.protocol.Request.Developer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('\222\246\035\004\010\001\020\000'),
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(1, 536870912), ],
  oneofs=[
  ],
  serialized_start=1914,
  serialized_end=1945,
)

_REQUEST_SETSCANPATTERN = _descriptor.Descriptor(
  name='SetScanPattern',
  full_name='blickfeld.protocol.Request.SetScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Request.SetScanPattern.config', index=0,
      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='name', full_name='blickfeld.protocol.Request.SetScanPattern.name', index=1,
      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=_b('\252\265\030+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='persist', full_name='blickfeld.protocol.Request.SetScanPattern.persist', index=2,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=True, 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=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data', full_name='blickfeld.protocol.Request.SetScanPattern.data',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1948,
  serialized_end=2140,
)

_REQUEST_FILLSCANPATTERN = _descriptor.Descriptor(
  name='FillScanPattern',
  full_name='blickfeld.protocol.Request.FillScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Request.FillScanPattern.config', 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=_b('\270\265\030\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2142,
  serialized_end=2242,
)

_REQUEST_GETSCANPATTERN = _descriptor.Descriptor(
  name='GetScanPattern',
  full_name='blickfeld.protocol.Request.GetScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2244,
  serialized_end=2260,
)

_REQUEST_STATUS = _descriptor.Descriptor(
  name='Status',
  full_name='blickfeld.protocol.Request.Status',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2262,
  serialized_end=2270,
)

_REQUEST_RUNSELFTEST = _descriptor.Descriptor(
  name='RunSelfTest',
  full_name='blickfeld.protocol.Request.RunSelfTest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2272,
  serialized_end=2285,
)

_REQUEST_SETADVANCEDCONFIG = _descriptor.Descriptor(
  name='SetAdvancedConfig',
  full_name='blickfeld.protocol.Request.SetAdvancedConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Request.SetAdvancedConfig.config', index=0,
      number=1, 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='persist', full_name='blickfeld.protocol.Request.SetAdvancedConfig.persist', index=1,
      number=2, type=8, cpp_type=7, label=1,
      has_default_value=True, default_value=True,
      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=2287,
  serialized_end=2382,
)

_REQUEST_GETADVANCEDCONFIG = _descriptor.Descriptor(
  name='GetAdvancedConfig',
  full_name='blickfeld.protocol.Request.GetAdvancedConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2384,
  serialized_end=2403,
)

_REQUEST_ATTEMPTERRORRECOVERY = _descriptor.Descriptor(
  name='AttemptErrorRecovery',
  full_name='blickfeld.protocol.Request.AttemptErrorRecovery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2405,
  serialized_end=2427,
)

_REQUEST_GETSCANPATTERNCONSTRAINTS = _descriptor.Descriptor(
  name='GetScanPatternConstraints',
  full_name='blickfeld.protocol.Request.GetScanPatternConstraints',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2429,
  serialized_end=2456,
)

_REQUEST_GETNAMEDSCANPATTERNS = _descriptor.Descriptor(
  name='GetNamedScanPatterns',
  full_name='blickfeld.protocol.Request.GetNamedScanPatterns',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2458,
  serialized_end=2480,
)

_REQUEST_STORENAMEDSCANPATTERN = _descriptor.Descriptor(
  name='StoreNamedScanPattern',
  full_name='blickfeld.protocol.Request.StoreNamedScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='blickfeld.protocol.Request.StoreNamedScanPattern.name', 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=_b('\252\265\030+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Request.StoreNamedScanPattern.config', 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=_b('\270\265\030\001'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2483,
  serialized_end=2631,
)

_REQUEST_DELETENAMEDSCANPATTERN = _descriptor.Descriptor(
  name='DeleteNamedScanPattern',
  full_name='blickfeld.protocol.Request.DeleteNamedScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='name', full_name='blickfeld.protocol.Request.DeleteNamedScanPattern.name', 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=_b('\252\265\030+[a-zA-Z0-9]([a-zA-Z0-9]|[_ \\-][a-zA-Z0-9])*'), file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2633,
  serialized_end=2720,
)

_REQUEST = _descriptor.Descriptor(
  name='Request',
  full_name='blickfeld.protocol.Request',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='hello', full_name='blickfeld.protocol.Request.hello', index=0,
      number=11, 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='developer', full_name='blickfeld.protocol.Request.developer', index=1,
      number=13, 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='set_scan_pattern', full_name='blickfeld.protocol.Request.set_scan_pattern', index=2,
      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='fill_scan_pattern', full_name='blickfeld.protocol.Request.fill_scan_pattern', index=3,
      number=16, 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='get_scan_pattern', full_name='blickfeld.protocol.Request.get_scan_pattern', index=4,
      number=17, 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='subscribe', full_name='blickfeld.protocol.Request.subscribe', index=5,
      number=18, 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='status', full_name='blickfeld.protocol.Request.status', index=6,
      number=19, 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='run_self_test', full_name='blickfeld.protocol.Request.run_self_test', index=7,
      number=20, 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='set_advanced_config', full_name='blickfeld.protocol.Request.set_advanced_config', index=8,
      number=21, 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='get_advanced_config', full_name='blickfeld.protocol.Request.get_advanced_config', index=9,
      number=22, 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='unsubscribe', full_name='blickfeld.protocol.Request.unsubscribe', index=10,
      number=23, 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='attempt_error_recovery', full_name='blickfeld.protocol.Request.attempt_error_recovery', index=11,
      number=24, 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='get_scan_pattern_constraints', full_name='blickfeld.protocol.Request.get_scan_pattern_constraints', index=12,
      number=25, 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='get_named_scan_patterns', full_name='blickfeld.protocol.Request.get_named_scan_patterns', index=13,
      number=26, 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='store_named_scan_pattern', full_name='blickfeld.protocol.Request.store_named_scan_pattern', index=14,
      number=27, 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='delete_named_scan_pattern', full_name='blickfeld.protocol.Request.delete_named_scan_pattern', index=15,
      number=28, 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='proxy_hello', full_name='blickfeld.protocol.Request.proxy_hello', index=16,
      number=29, 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='_asJSON', full_name='blickfeld.protocol.Request._asJSON', index=17,
      number=100, 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='accept_format', full_name='blickfeld.protocol.Request.accept_format', index=18,
      number=101, type=14, cpp_type=8, label=1,
      has_default_value=True, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[_REQUEST_HELLO, _REQUEST_PROXYHELLO, _REQUEST_DEVELOPER, _REQUEST_SETSCANPATTERN, _REQUEST_FILLSCANPATTERN, _REQUEST_GETSCANPATTERN, _REQUEST_STATUS, _REQUEST_RUNSELFTEST, _REQUEST_SETADVANCEDCONFIG, _REQUEST_GETADVANCEDCONFIG, _REQUEST_ATTEMPTERRORRECOVERY, _REQUEST_GETSCANPATTERNCONSTRAINTS, _REQUEST_GETNAMEDSCANPATTERNS, _REQUEST_STORENAMEDSCANPATTERN, _REQUEST_DELETENAMEDSCANPATTERN, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data', full_name='blickfeld.protocol.Request.data',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=362,
  serialized_end=2728,
)


_RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY = _descriptor.Descriptor(
  name='ModuleVersionsEntry',
  full_name='blickfeld.protocol.Response.Hello.Firmware.ModuleVersionsEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='blickfeld.protocol.Response.Hello.Firmware.ModuleVersionsEntry.key', 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='value', full_name='blickfeld.protocol.Response.Hello.Firmware.ModuleVersionsEntry.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4609,
  serialized_end=4699,
)

_RESPONSE_HELLO_FIRMWARE = _descriptor.Descriptor(
  name='Firmware',
  full_name='blickfeld.protocol.Response.Hello.Firmware',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='version', full_name='blickfeld.protocol.Response.Hello.Firmware.version', index=0,
      number=1, 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='module_versions', full_name='blickfeld.protocol.Response.Hello.Firmware.module_versions', index=1,
      number=2, type=11, cpp_type=10, 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),
  ],
  extensions=[
  ],
  nested_types=[_RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4453,
  serialized_end=4699,
)

_RESPONSE_HELLO_HARDWAREMODULESENTRY = _descriptor.Descriptor(
  name='HardwareModulesEntry',
  full_name='blickfeld.protocol.Response.Hello.HardwareModulesEntry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='key', full_name='blickfeld.protocol.Response.Hello.HardwareModulesEntry.key', 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='value', full_name='blickfeld.protocol.Response.Hello.HardwareModulesEntry.value', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=_b('8\001'),
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4701,
  serialized_end=4791,
)

_RESPONSE_HELLO = _descriptor.Descriptor(
  name='Hello',
  full_name='blickfeld.protocol.Response.Hello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='protocol_version', full_name='blickfeld.protocol.Response.Hello.protocol_version', 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='library_version', full_name='blickfeld.protocol.Response.Hello.library_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=_b('\252\265\030([0-9]+\\.[0-9]+\\.[0-9]+[[:alnum:]\\.\\+\\-]*'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='language', full_name='blickfeld.protocol.Response.Hello.language', index=2,
      number=3, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=1,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='product', full_name='blickfeld.protocol.Response.Hello.product', index=3,
      number=4, 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=_b('\260\265\030\001'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='serial_number', full_name='blickfeld.protocol.Response.Hello.serial_number', 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=_b('\252\265\030\013[A-Z2-7]{9}\320\265\030\006'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='legacy_serial_number', full_name='blickfeld.protocol.Response.Hello.legacy_serial_number', 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=_b('\030\001\252\265\030\014msb-[0-9]{4}'), file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='firmware', full_name='blickfeld.protocol.Response.Hello.firmware', index=6,
      number=7, 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='hardware_modules', full_name='blickfeld.protocol.Response.Hello.hardware_modules', index=7,
      number=8, type=11, cpp_type=10, 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),
  ],
  extensions=[
  ],
  nested_types=[_RESPONSE_HELLO_FIRMWARE, _RESPONSE_HELLO_HARDWAREMODULESENTRY, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='oneof_serial_number', full_name='blickfeld.protocol.Response.Hello.oneof_serial_number',
      index=0, containing_type=None, fields=[], serialized_options=_b('\260\265\030\001')),
  ],
  serialized_start=3995,
  serialized_end=4820,
)

_RESPONSE_PROXYHELLO = _descriptor.Descriptor(
  name='ProxyHello',
  full_name='blickfeld.protocol.Response.ProxyHello',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1847,
  serialized_end=1859,
)

_RESPONSE_DEVELOPER = _descriptor.Descriptor(
  name='Developer',
  full_name='blickfeld.protocol.Response.Developer',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(1, 536870912), ],
  oneofs=[
  ],
  serialized_start=1914,
  serialized_end=1935,
)

_RESPONSE_SETSCANPATTERN = _descriptor.Descriptor(
  name='SetScanPattern',
  full_name='blickfeld.protocol.Response.SetScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1948,
  serialized_end=1964,
)

_RESPONSE_FILLSCANPATTERN = _descriptor.Descriptor(
  name='FillScanPattern',
  full_name='blickfeld.protocol.Response.FillScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Response.FillScanPattern.config', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4877,
  serialized_end=4971,
)

_RESPONSE_GETSCANPATTERN = _descriptor.Descriptor(
  name='GetScanPattern',
  full_name='blickfeld.protocol.Response.GetScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Response.GetScanPattern.config', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=4973,
  serialized_end=5066,
)

_RESPONSE_RUNSELFTEST = _descriptor.Descriptor(
  name='RunSelfTest',
  full_name='blickfeld.protocol.Response.RunSelfTest',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='success', full_name='blickfeld.protocol.Response.RunSelfTest.success', 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=True,
  syntax='proto2',
  extension_ranges=[(2, 3), ],
  oneofs=[
  ],
  serialized_start=5068,
  serialized_end=5104,
)

_RESPONSE_SETADVANCEDCONFIG = _descriptor.Descriptor(
  name='SetAdvancedConfig',
  full_name='blickfeld.protocol.Response.SetAdvancedConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2287,
  serialized_end=2306,
)

_RESPONSE_GETADVANCEDCONFIG = _descriptor.Descriptor(
  name='GetAdvancedConfig',
  full_name='blickfeld.protocol.Response.GetAdvancedConfig',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='config', full_name='blickfeld.protocol.Response.GetAdvancedConfig.config', index=0,
      number=1, 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=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5127,
  serialized_end=5199,
)

_RESPONSE_ATTEMPTERRORRECOVERY = _descriptor.Descriptor(
  name='AttemptErrorRecovery',
  full_name='blickfeld.protocol.Response.AttemptErrorRecovery',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2405,
  serialized_end=2427,
)

_RESPONSE_GETSCANPATTERNCONSTRAINTS = _descriptor.Descriptor(
  name='GetScanPatternConstraints',
  full_name='blickfeld.protocol.Response.GetScanPatternConstraints',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='constraints', full_name='blickfeld.protocol.Response.GetScanPatternConstraints.constraints', index=0,
      number=1, type=11, cpp_type=10, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5225,
  serialized_end=5305,
)

_RESPONSE_GETNAMEDSCANPATTERNS = _descriptor.Descriptor(
  name='GetNamedScanPatterns',
  full_name='blickfeld.protocol.Response.GetNamedScanPatterns',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='configs', full_name='blickfeld.protocol.Response.GetNamedScanPatterns.configs', index=0,
      number=1, type=11, cpp_type=10, 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),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=5307,
  serialized_end=5391,
)

_RESPONSE_STORENAMEDSCANPATTERN = _descriptor.Descriptor(
  name='StoreNamedScanPattern',
  full_name='blickfeld.protocol.Response.StoreNamedScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2483,
  serialized_end=2506,
)

_RESPONSE_DELETENAMEDSCANPATTERN = _descriptor.Descriptor(
  name='DeleteNamedScanPattern',
  full_name='blickfeld.protocol.Response.DeleteNamedScanPattern',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=2633,
  serialized_end=2657,
)

_RESPONSE = _descriptor.Descriptor(
  name='Response',
  full_name='blickfeld.protocol.Response',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='timestamp_ns', full_name='blickfeld.protocol.Response.timestamp_ns', 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='error', full_name='blickfeld.protocol.Response.error', index=1,
      number=10, 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='hello', full_name='blickfeld.protocol.Response.hello', index=2,
      number=11, 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='developer', full_name='blickfeld.protocol.Response.developer', index=3,
      number=13, 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='set_scan_pattern', full_name='blickfeld.protocol.Response.set_scan_pattern', index=4,
      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='fill_scan_pattern', full_name='blickfeld.protocol.Response.fill_scan_pattern', index=5,
      number=16, 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='get_scan_pattern', full_name='blickfeld.protocol.Response.get_scan_pattern', index=6,
      number=17, 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='event', full_name='blickfeld.protocol.Response.event', index=7,
      number=18, 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='status', full_name='blickfeld.protocol.Response.status', index=8,
      number=19, 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='run_self_test', full_name='blickfeld.protocol.Response.run_self_test', index=9,
      number=20, 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='set_advanced_config', full_name='blickfeld.protocol.Response.set_advanced_config', index=10,
      number=21, 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='get_advanced_config', full_name='blickfeld.protocol.Response.get_advanced_config', index=11,
      number=22, 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='attempt_error_recovery', full_name='blickfeld.protocol.Response.attempt_error_recovery', index=12,
      number=24, 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='get_scan_pattern_constraints', full_name='blickfeld.protocol.Response.get_scan_pattern_constraints', index=13,
      number=25, 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='get_named_scan_patterns', full_name='blickfeld.protocol.Response.get_named_scan_patterns', index=14,
      number=26, 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='store_named_scan_pattern', full_name='blickfeld.protocol.Response.store_named_scan_pattern', index=15,
      number=27, 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='delete_named_scan_pattern', full_name='blickfeld.protocol.Response.delete_named_scan_pattern', index=16,
      number=28, 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='proxy_hello', full_name='blickfeld.protocol.Response.proxy_hello', index=17,
      number=29, 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='_asJSON', full_name='blickfeld.protocol.Response._asJSON', index=18,
      number=100, 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=[_RESPONSE_HELLO, _RESPONSE_PROXYHELLO, _RESPONSE_DEVELOPER, _RESPONSE_SETSCANPATTERN, _RESPONSE_FILLSCANPATTERN, _RESPONSE_GETSCANPATTERN, _RESPONSE_RUNSELFTEST, _RESPONSE_SETADVANCEDCONFIG, _RESPONSE_GETADVANCEDCONFIG, _RESPONSE_ATTEMPTERRORRECOVERY, _RESPONSE_GETSCANPATTERNCONSTRAINTS, _RESPONSE_GETNAMEDSCANPATTERNS, _RESPONSE_STORENAMEDSCANPATTERN, _RESPONSE_DELETENAMEDSCANPATTERN, ],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='data', full_name='blickfeld.protocol.Response.data',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=2731,
  serialized_end=5450,
)

_REQUEST_HELLO.fields_by_name['language'].enum_type = blickfeld_dot_common__pb2._LANGUAGE
_REQUEST_HELLO.containing_type = _REQUEST
_REQUEST_PROXYHELLO.containing_type = _REQUEST
_REQUEST_DEVELOPER.containing_type = _REQUEST
_REQUEST_SETSCANPATTERN.fields_by_name['config'].message_type = blickfeld_dot_config_dot_scan__pattern__pb2._SCANPATTERN
_REQUEST_SETSCANPATTERN.containing_type = _REQUEST
_REQUEST_SETSCANPATTERN.oneofs_by_name['data'].fields.append(
  _REQUEST_SETSCANPATTERN.fields_by_name['config'])
_REQUEST_SETSCANPATTERN.fields_by_name['config'].containing_oneof = _REQUEST_SETSCANPATTERN.oneofs_by_name['data']
_REQUEST_SETSCANPATTERN.oneofs_by_name['data'].fields.append(
  _REQUEST_SETSCANPATTERN.fields_by_name['name'])
_REQUEST_SETSCANPATTERN.fields_by_name['name'].containing_oneof = _REQUEST_SETSCANPATTERN.oneofs_by_name['data']
_REQUEST_FILLSCANPATTERN.fields_by_name['config'].message_type = blickfeld_dot_config_dot_scan__pattern__pb2._SCANPATTERN
_REQUEST_FILLSCANPATTERN.containing_type = _REQUEST
_REQUEST_GETSCANPATTERN.containing_type = _REQUEST
_REQUEST_STATUS.containing_type = _REQUEST
_REQUEST_RUNSELFTEST.containing_type = _REQUEST
_REQUEST_SETADVANCEDCONFIG.fields_by_name['config'].message_type = blickfeld_dot_config_dot_advanced__pb2._ADVANCED
_REQUEST_SETADVANCEDCONFIG.containing_type = _REQUEST
_REQUEST_GETADVANCEDCONFIG.containing_type = _REQUEST
_REQUEST_ATTEMPTERRORRECOVERY.containing_type = _REQUEST
_REQUEST_GETSCANPATTERNCONSTRAINTS.containing_type = _REQUEST
_REQUEST_GETNAMEDSCANPATTERNS.containing_type = _REQUEST
_REQUEST_STORENAMEDSCANPATTERN.fields_by_name['config'].message_type = blickfeld_dot_config_dot_scan__pattern__pb2._SCANPATTERN
_REQUEST_STORENAMEDSCANPATTERN.containing_type = _REQUEST
_REQUEST_DELETENAMEDSCANPATTERN.containing_type = _REQUEST
_REQUEST.fields_by_name['hello'].message_type = _REQUEST_HELLO
_REQUEST.fields_by_name['developer'].message_type = _REQUEST_DEVELOPER
_REQUEST.fields_by_name['set_scan_pattern'].message_type = _REQUEST_SETSCANPATTERN
_REQUEST.fields_by_name['fill_scan_pattern'].message_type = _REQUEST_FILLSCANPATTERN
_REQUEST.fields_by_name['get_scan_pattern'].message_type = _REQUEST_GETSCANPATTERN
_REQUEST.fields_by_name['subscribe'].message_type = blickfeld_dot_stream_dot_connection__pb2._SUBSCRIBE
_REQUEST.fields_by_name['status'].message_type = _REQUEST_STATUS
_REQUEST.fields_by_name['run_self_test'].message_type = _REQUEST_RUNSELFTEST
_REQUEST.fields_by_name['set_advanced_config'].message_type = _REQUEST_SETADVANCEDCONFIG
_REQUEST.fields_by_name['get_advanced_config'].message_type = _REQUEST_GETADVANCEDCONFIG
_REQUEST.fields_by_name['unsubscribe'].message_type = blickfeld_dot_stream_dot_connection__pb2._SUBSCRIBE
_REQUEST.fields_by_name['attempt_error_recovery'].message_type = _REQUEST_ATTEMPTERRORRECOVERY
_REQUEST.fields_by_name['get_scan_pattern_constraints'].message_type = _REQUEST_GETSCANPATTERNCONSTRAINTS
_REQUEST.fields_by_name['get_named_scan_patterns'].message_type = _REQUEST_GETNAMEDSCANPATTERNS
_REQUEST.fields_by_name['store_named_scan_pattern'].message_type = _REQUEST_STORENAMEDSCANPATTERN
_REQUEST.fields_by_name['delete_named_scan_pattern'].message_type = _REQUEST_DELETENAMEDSCANPATTERN
_REQUEST.fields_by_name['proxy_hello'].message_type = _REQUEST_PROXYHELLO
_REQUEST.fields_by_name['accept_format'].enum_type = _FORMAT
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['hello'])
_REQUEST.fields_by_name['hello'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['developer'])
_REQUEST.fields_by_name['developer'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['set_scan_pattern'])
_REQUEST.fields_by_name['set_scan_pattern'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['fill_scan_pattern'])
_REQUEST.fields_by_name['fill_scan_pattern'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['get_scan_pattern'])
_REQUEST.fields_by_name['get_scan_pattern'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['subscribe'])
_REQUEST.fields_by_name['subscribe'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['status'])
_REQUEST.fields_by_name['status'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['run_self_test'])
_REQUEST.fields_by_name['run_self_test'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['set_advanced_config'])
_REQUEST.fields_by_name['set_advanced_config'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['get_advanced_config'])
_REQUEST.fields_by_name['get_advanced_config'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['unsubscribe'])
_REQUEST.fields_by_name['unsubscribe'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['attempt_error_recovery'])
_REQUEST.fields_by_name['attempt_error_recovery'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['get_scan_pattern_constraints'])
_REQUEST.fields_by_name['get_scan_pattern_constraints'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['get_named_scan_patterns'])
_REQUEST.fields_by_name['get_named_scan_patterns'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['store_named_scan_pattern'])
_REQUEST.fields_by_name['store_named_scan_pattern'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['delete_named_scan_pattern'])
_REQUEST.fields_by_name['delete_named_scan_pattern'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['proxy_hello'])
_REQUEST.fields_by_name['proxy_hello'].containing_oneof = _REQUEST.oneofs_by_name['data']
_REQUEST.oneofs_by_name['data'].fields.append(
  _REQUEST.fields_by_name['_asJSON'])
_REQUEST.fields_by_name['_asJSON'].containing_oneof = _REQUEST.oneofs_by_name['data']
_RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY.fields_by_name['value'].message_type = blickfeld_dot_common__pb2._SOFTWAREVERSION
_RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY.containing_type = _RESPONSE_HELLO_FIRMWARE
_RESPONSE_HELLO_FIRMWARE.fields_by_name['version'].message_type = blickfeld_dot_common__pb2._SOFTWAREVERSION
_RESPONSE_HELLO_FIRMWARE.fields_by_name['module_versions'].message_type = _RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY
_RESPONSE_HELLO_FIRMWARE.containing_type = _RESPONSE_HELLO
_RESPONSE_HELLO_HARDWAREMODULESENTRY.fields_by_name['value'].message_type = blickfeld_dot_common__pb2._HARDWAREMODULE
_RESPONSE_HELLO_HARDWAREMODULESENTRY.containing_type = _RESPONSE_HELLO
_RESPONSE_HELLO.fields_by_name['language'].enum_type = blickfeld_dot_common__pb2._LANGUAGE
_RESPONSE_HELLO.fields_by_name['product'].enum_type = blickfeld_dot_config_dot_product__pb2._PRODUCT
_RESPONSE_HELLO.fields_by_name['firmware'].message_type = _RESPONSE_HELLO_FIRMWARE
_RESPONSE_HELLO.fields_by_name['hardware_modules'].message_type = _RESPONSE_HELLO_HARDWAREMODULESENTRY
_RESPONSE_HELLO.containing_type = _RESPONSE
_RESPONSE_HELLO.oneofs_by_name['oneof_serial_number'].fields.append(
  _RESPONSE_HELLO.fields_by_name['serial_number'])
_RESPONSE_HELLO.fields_by_name['serial_number'].containing_oneof = _RESPONSE_HELLO.oneofs_by_name['oneof_serial_number']
_RESPONSE_HELLO.oneofs_by_name['oneof_serial_number'].fields.append(
  _RESPONSE_HELLO.fields_by_name['legacy_serial_number'])
_RESPONSE_HELLO.fields_by_name['legacy_serial_number'].containing_oneof = _RESPONSE_HELLO.oneofs_by_name['oneof_serial_number']
_RESPONSE_PROXYHELLO.containing_type = _RESPONSE
_RESPONSE_DEVELOPER.containing_type = _RESPONSE
_RESPONSE_SETSCANPATTERN.containing_type = _RESPONSE
_RESPONSE_FILLSCANPATTERN.fields_by_name['config'].message_type = blickfeld_dot_config_dot_scan__pattern__pb2._SCANPATTERN
_RESPONSE_FILLSCANPATTERN.containing_type = _RESPONSE
_RESPONSE_GETSCANPATTERN.fields_by_name['config'].message_type = blickfeld_dot_config_dot_scan__pattern__pb2._SCANPATTERN
_RESPONSE_GETSCANPATTERN.containing_type = _RESPONSE
_RESPONSE_RUNSELFTEST.containing_type = _RESPONSE
_RESPONSE_SETADVANCEDCONFIG.containing_type = _RESPONSE
_RESPONSE_GETADVANCEDCONFIG.fields_by_name['config'].message_type = blickfeld_dot_config_dot_advanced__pb2._ADVANCED
_RESPONSE_GETADVANCEDCONFIG.containing_type = _RESPONSE
_RESPONSE_ATTEMPTERRORRECOVERY.containing_type = _RESPONSE
_RESPONSE_GETSCANPATTERNCONSTRAINTS.fields_by_name['constraints'].message_type = blickfeld_dot_common__pb2._CONSTRAINT
_RESPONSE_GETSCANPATTERNCONSTRAINTS.containing_type = _RESPONSE
_RESPONSE_GETNAMEDSCANPATTERNS.fields_by_name['configs'].message_type = blickfeld_dot_config_dot_named__scan__pattern__pb2._NAMEDSCANPATTERN
_RESPONSE_GETNAMEDSCANPATTERNS.containing_type = _RESPONSE
_RESPONSE_STORENAMEDSCANPATTERN.containing_type = _RESPONSE
_RESPONSE_DELETENAMEDSCANPATTERN.containing_type = _RESPONSE
_RESPONSE.fields_by_name['error'].message_type = blickfeld_dot_error__pb2._ERROR
_RESPONSE.fields_by_name['hello'].message_type = _RESPONSE_HELLO
_RESPONSE.fields_by_name['developer'].message_type = _RESPONSE_DEVELOPER
_RESPONSE.fields_by_name['set_scan_pattern'].message_type = _RESPONSE_SETSCANPATTERN
_RESPONSE.fields_by_name['fill_scan_pattern'].message_type = _RESPONSE_FILLSCANPATTERN
_RESPONSE.fields_by_name['get_scan_pattern'].message_type = _RESPONSE_GETSCANPATTERN
_RESPONSE.fields_by_name['event'].message_type = blickfeld_dot_stream_dot_event__pb2._EVENT
_RESPONSE.fields_by_name['status'].message_type = blickfeld_dot_status_dot_main__pb2._STATUS
_RESPONSE.fields_by_name['run_self_test'].message_type = _RESPONSE_RUNSELFTEST
_RESPONSE.fields_by_name['set_advanced_config'].message_type = _RESPONSE_SETADVANCEDCONFIG
_RESPONSE.fields_by_name['get_advanced_config'].message_type = _RESPONSE_GETADVANCEDCONFIG
_RESPONSE.fields_by_name['attempt_error_recovery'].message_type = _RESPONSE_ATTEMPTERRORRECOVERY
_RESPONSE.fields_by_name['get_scan_pattern_constraints'].message_type = _RESPONSE_GETSCANPATTERNCONSTRAINTS
_RESPONSE.fields_by_name['get_named_scan_patterns'].message_type = _RESPONSE_GETNAMEDSCANPATTERNS
_RESPONSE.fields_by_name['store_named_scan_pattern'].message_type = _RESPONSE_STORENAMEDSCANPATTERN
_RESPONSE.fields_by_name['delete_named_scan_pattern'].message_type = _RESPONSE_DELETENAMEDSCANPATTERN
_RESPONSE.fields_by_name['proxy_hello'].message_type = _RESPONSE_PROXYHELLO
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['error'])
_RESPONSE.fields_by_name['error'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['hello'])
_RESPONSE.fields_by_name['hello'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['developer'])
_RESPONSE.fields_by_name['developer'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['set_scan_pattern'])
_RESPONSE.fields_by_name['set_scan_pattern'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['fill_scan_pattern'])
_RESPONSE.fields_by_name['fill_scan_pattern'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['get_scan_pattern'])
_RESPONSE.fields_by_name['get_scan_pattern'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['event'])
_RESPONSE.fields_by_name['event'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['status'])
_RESPONSE.fields_by_name['status'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['run_self_test'])
_RESPONSE.fields_by_name['run_self_test'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['set_advanced_config'])
_RESPONSE.fields_by_name['set_advanced_config'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['get_advanced_config'])
_RESPONSE.fields_by_name['get_advanced_config'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['attempt_error_recovery'])
_RESPONSE.fields_by_name['attempt_error_recovery'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['get_scan_pattern_constraints'])
_RESPONSE.fields_by_name['get_scan_pattern_constraints'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['get_named_scan_patterns'])
_RESPONSE.fields_by_name['get_named_scan_patterns'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['store_named_scan_pattern'])
_RESPONSE.fields_by_name['store_named_scan_pattern'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['delete_named_scan_pattern'])
_RESPONSE.fields_by_name['delete_named_scan_pattern'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['proxy_hello'])
_RESPONSE.fields_by_name['proxy_hello'].containing_oneof = _RESPONSE.oneofs_by_name['data']
_RESPONSE.oneofs_by_name['data'].fields.append(
  _RESPONSE.fields_by_name['_asJSON'])
_RESPONSE.fields_by_name['_asJSON'].containing_oneof = _RESPONSE.oneofs_by_name['data']
DESCRIPTOR.message_types_by_name['Request'] = _REQUEST
DESCRIPTOR.message_types_by_name['Response'] = _RESPONSE
DESCRIPTOR.enum_types_by_name['Format'] = _FORMAT
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

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

  Hello = _reflection.GeneratedProtocolMessageType('Hello', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_HELLO,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.Hello)
    ))
  ,

  ProxyHello = _reflection.GeneratedProtocolMessageType('ProxyHello', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_PROXYHELLO,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.ProxyHello)
    ))
  ,

  Developer = _reflection.GeneratedProtocolMessageType('Developer', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_DEVELOPER,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.Developer)
    ))
  ,

  SetScanPattern = _reflection.GeneratedProtocolMessageType('SetScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_SETSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.SetScanPattern)
    ))
  ,

  FillScanPattern = _reflection.GeneratedProtocolMessageType('FillScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_FILLSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.FillScanPattern)
    ))
  ,

  GetScanPattern = _reflection.GeneratedProtocolMessageType('GetScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_GETSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.GetScanPattern)
    ))
  ,

  Status = _reflection.GeneratedProtocolMessageType('Status', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_STATUS,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.Status)
    ))
  ,

  RunSelfTest = _reflection.GeneratedProtocolMessageType('RunSelfTest', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_RUNSELFTEST,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.RunSelfTest)
    ))
  ,

  SetAdvancedConfig = _reflection.GeneratedProtocolMessageType('SetAdvancedConfig', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_SETADVANCEDCONFIG,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.SetAdvancedConfig)
    ))
  ,

  GetAdvancedConfig = _reflection.GeneratedProtocolMessageType('GetAdvancedConfig', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_GETADVANCEDCONFIG,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.GetAdvancedConfig)
    ))
  ,

  AttemptErrorRecovery = _reflection.GeneratedProtocolMessageType('AttemptErrorRecovery', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_ATTEMPTERRORRECOVERY,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.AttemptErrorRecovery)
    ))
  ,

  GetScanPatternConstraints = _reflection.GeneratedProtocolMessageType('GetScanPatternConstraints', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_GETSCANPATTERNCONSTRAINTS,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.GetScanPatternConstraints)
    ))
  ,

  GetNamedScanPatterns = _reflection.GeneratedProtocolMessageType('GetNamedScanPatterns', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_GETNAMEDSCANPATTERNS,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.GetNamedScanPatterns)
    ))
  ,

  StoreNamedScanPattern = _reflection.GeneratedProtocolMessageType('StoreNamedScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_STORENAMEDSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.StoreNamedScanPattern)
    ))
  ,

  DeleteNamedScanPattern = _reflection.GeneratedProtocolMessageType('DeleteNamedScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _REQUEST_DELETENAMEDSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request.DeleteNamedScanPattern)
    ))
  ,
  DESCRIPTOR = _REQUEST,
  __module__ = 'blickfeld.connection_pb2'
  # @@protoc_insertion_point(class_scope:blickfeld.protocol.Request)
  ))
_sym_db.RegisterMessage(Request)
_sym_db.RegisterMessage(Request.Hello)
_sym_db.RegisterMessage(Request.ProxyHello)
_sym_db.RegisterMessage(Request.Developer)
_sym_db.RegisterMessage(Request.SetScanPattern)
_sym_db.RegisterMessage(Request.FillScanPattern)
_sym_db.RegisterMessage(Request.GetScanPattern)
_sym_db.RegisterMessage(Request.Status)
_sym_db.RegisterMessage(Request.RunSelfTest)
_sym_db.RegisterMessage(Request.SetAdvancedConfig)
_sym_db.RegisterMessage(Request.GetAdvancedConfig)
_sym_db.RegisterMessage(Request.AttemptErrorRecovery)
_sym_db.RegisterMessage(Request.GetScanPatternConstraints)
_sym_db.RegisterMessage(Request.GetNamedScanPatterns)
_sym_db.RegisterMessage(Request.StoreNamedScanPattern)
_sym_db.RegisterMessage(Request.DeleteNamedScanPattern)

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

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

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

      ModuleVersionsEntry = _reflection.GeneratedProtocolMessageType('ModuleVersionsEntry', (_message.Message,), dict(
        DESCRIPTOR = _RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY,
        __module__ = 'blickfeld.connection_pb2'
        # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.Hello.Firmware.ModuleVersionsEntry)
        ))
      ,
      DESCRIPTOR = _RESPONSE_HELLO_FIRMWARE,
      __module__ = 'blickfeld.connection_pb2'
      # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.Hello.Firmware)
      ))
    ,

    HardwareModulesEntry = _reflection.GeneratedProtocolMessageType('HardwareModulesEntry', (_message.Message,), dict(
      DESCRIPTOR = _RESPONSE_HELLO_HARDWAREMODULESENTRY,
      __module__ = 'blickfeld.connection_pb2'
      # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.Hello.HardwareModulesEntry)
      ))
    ,
    DESCRIPTOR = _RESPONSE_HELLO,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.Hello)
    ))
  ,

  ProxyHello = _reflection.GeneratedProtocolMessageType('ProxyHello', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_PROXYHELLO,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.ProxyHello)
    ))
  ,

  Developer = _reflection.GeneratedProtocolMessageType('Developer', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_DEVELOPER,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.Developer)
    ))
  ,

  SetScanPattern = _reflection.GeneratedProtocolMessageType('SetScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_SETSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.SetScanPattern)
    ))
  ,

  FillScanPattern = _reflection.GeneratedProtocolMessageType('FillScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_FILLSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.FillScanPattern)
    ))
  ,

  GetScanPattern = _reflection.GeneratedProtocolMessageType('GetScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_GETSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.GetScanPattern)
    ))
  ,

  RunSelfTest = _reflection.GeneratedProtocolMessageType('RunSelfTest', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_RUNSELFTEST,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.RunSelfTest)
    ))
  ,

  SetAdvancedConfig = _reflection.GeneratedProtocolMessageType('SetAdvancedConfig', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_SETADVANCEDCONFIG,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.SetAdvancedConfig)
    ))
  ,

  GetAdvancedConfig = _reflection.GeneratedProtocolMessageType('GetAdvancedConfig', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_GETADVANCEDCONFIG,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.GetAdvancedConfig)
    ))
  ,

  AttemptErrorRecovery = _reflection.GeneratedProtocolMessageType('AttemptErrorRecovery', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_ATTEMPTERRORRECOVERY,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.AttemptErrorRecovery)
    ))
  ,

  GetScanPatternConstraints = _reflection.GeneratedProtocolMessageType('GetScanPatternConstraints', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_GETSCANPATTERNCONSTRAINTS,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.GetScanPatternConstraints)
    ))
  ,

  GetNamedScanPatterns = _reflection.GeneratedProtocolMessageType('GetNamedScanPatterns', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_GETNAMEDSCANPATTERNS,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.GetNamedScanPatterns)
    ))
  ,

  StoreNamedScanPattern = _reflection.GeneratedProtocolMessageType('StoreNamedScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_STORENAMEDSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.StoreNamedScanPattern)
    ))
  ,

  DeleteNamedScanPattern = _reflection.GeneratedProtocolMessageType('DeleteNamedScanPattern', (_message.Message,), dict(
    DESCRIPTOR = _RESPONSE_DELETENAMEDSCANPATTERN,
    __module__ = 'blickfeld.connection_pb2'
    # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response.DeleteNamedScanPattern)
    ))
  ,
  DESCRIPTOR = _RESPONSE,
  __module__ = 'blickfeld.connection_pb2'
  # @@protoc_insertion_point(class_scope:blickfeld.protocol.Response)
  ))
_sym_db.RegisterMessage(Response)
_sym_db.RegisterMessage(Response.Hello)
_sym_db.RegisterMessage(Response.Hello.Firmware)
_sym_db.RegisterMessage(Response.Hello.Firmware.ModuleVersionsEntry)
_sym_db.RegisterMessage(Response.Hello.HardwareModulesEntry)
_sym_db.RegisterMessage(Response.ProxyHello)
_sym_db.RegisterMessage(Response.Developer)
_sym_db.RegisterMessage(Response.SetScanPattern)
_sym_db.RegisterMessage(Response.FillScanPattern)
_sym_db.RegisterMessage(Response.GetScanPattern)
_sym_db.RegisterMessage(Response.RunSelfTest)
_sym_db.RegisterMessage(Response.SetAdvancedConfig)
_sym_db.RegisterMessage(Response.GetAdvancedConfig)
_sym_db.RegisterMessage(Response.AttemptErrorRecovery)
_sym_db.RegisterMessage(Response.GetScanPatternConstraints)
_sym_db.RegisterMessage(Response.GetNamedScanPatterns)
_sym_db.RegisterMessage(Response.StoreNamedScanPattern)
_sym_db.RegisterMessage(Response.DeleteNamedScanPattern)


DESCRIPTOR._options = None
_REQUEST_HELLO.fields_by_name['library_version']._options = None
_REQUEST_HELLO.fields_by_name['language']._options = None
_REQUEST_PROXYHELLO.fields_by_name['ip_address']._options = None
_REQUEST_DEVELOPER._options = None
_REQUEST_SETSCANPATTERN.fields_by_name['name']._options = None
_REQUEST_FILLSCANPATTERN.fields_by_name['config']._options = None
_REQUEST_STORENAMEDSCANPATTERN.fields_by_name['name']._options = None
_REQUEST_STORENAMEDSCANPATTERN.fields_by_name['config']._options = None
_REQUEST_DELETENAMEDSCANPATTERN.fields_by_name['name']._options = None
_RESPONSE_HELLO_FIRMWARE_MODULEVERSIONSENTRY._options = None
_RESPONSE_HELLO_HARDWAREMODULESENTRY._options = None
_RESPONSE_HELLO.oneofs_by_name['oneof_serial_number']._options = None
_RESPONSE_HELLO.fields_by_name['library_version']._options = None
_RESPONSE_HELLO.fields_by_name['product']._options = None
_RESPONSE_HELLO.fields_by_name['serial_number']._options = None
_RESPONSE_HELLO.fields_by_name['legacy_serial_number']._options = None
# @@protoc_insertion_point(module_scope)
