# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: models.proto

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="models.proto",
    package="aea.helpers.search.models",
    syntax="proto3",
    serialized_options=b"H\001",
    serialized_pb=b'\n\x0cmodels.proto\x12\x19\x61\x65\x61.helpers.search.models"\xc1\x19\n\x05Query\x1a\xc0\x01\n\tAttribute\x12\x0c\n\x04name\x18\x01 \x01(\t\x12=\n\x04type\x18\x02 \x01(\x0e\x32/.aea.helpers.search.models.Query.Attribute.Type\x12\x10\n\x08required\x18\x03 \x01(\x08\x12\x13\n\x0b\x64\x65scription\x18\x04 \x01(\t"?\n\x04Type\x12\n\n\x06\x44OUBLE\x10\x00\x12\x07\n\x03INT\x10\x01\x12\x08\n\x04\x42OOL\x10\x02\x12\n\n\x06STRING\x10\x03\x12\x0c\n\x08LOCATION\x10\x04\x1an\n\tDataModel\x12\x0c\n\x04name\x18\x01 \x01(\t\x12>\n\nattributes\x18\x02 \x03(\x0b\x32*.aea.helpers.search.models.Query.Attribute\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\x1a$\n\x08Location\x12\x0b\n\x03lon\x18\x01 \x01(\x01\x12\x0b\n\x03lat\x18\x02 \x01(\x01\x1a\x99\x01\n\x05Value\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12\x10\n\x06\x64ouble\x18\x02 \x01(\x01H\x00\x12\x11\n\x07\x62oolean\x18\x03 \x01(\x08H\x00\x12\x11\n\x07integer\x18\x04 \x01(\x03H\x00\x12=\n\x08location\x18\x05 \x01(\x0b\x32).aea.helpers.search.models.Query.LocationH\x00\x42\x07\n\x05value\x1aN\n\x08KeyValue\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.aea.helpers.search.models.Query.Value\x1a\x80\x01\n\x08Instance\x12\x39\n\x05model\x18\x01 \x01(\x0b\x32*.aea.helpers.search.models.Query.DataModel\x12\x39\n\x06values\x18\x02 \x03(\x0b\x32).aea.helpers.search.models.Query.KeyValue\x1a+\n\nStringPair\x12\r\n\x05\x66irst\x18\x01 \x01(\t\x12\x0e\n\x06second\x18\x02 \x01(\t\x1a(\n\x07IntPair\x12\r\n\x05\x66irst\x18\x01 \x01(\x03\x12\x0e\n\x06second\x18\x02 \x01(\x03\x1a+\n\nDoublePair\x12\r\n\x05\x66irst\x18\x01 \x01(\x01\x12\x0e\n\x06second\x18\x02 \x01(\x01\x1a\x83\x01\n\x0cLocationPair\x12\x38\n\x05\x66irst\x18\x01 \x01(\x0b\x32).aea.helpers.search.models.Query.Location\x12\x39\n\x06second\x18\x02 \x01(\x0b\x32).aea.helpers.search.models.Query.Location\x1a\xa1\x02\n\x05Range\x12\x42\n\x0bstring_pair\x18\x01 \x01(\x0b\x32+.aea.helpers.search.models.Query.StringPairH\x00\x12@\n\x0cinteger_pair\x18\x02 \x01(\x0b\x32(.aea.helpers.search.models.Query.IntPairH\x00\x12\x42\n\x0b\x64ouble_pair\x18\x03 \x01(\x0b\x32+.aea.helpers.search.models.Query.DoublePairH\x00\x12\x46\n\rlocation_pair\x18\x04 \x01(\x0b\x32-.aea.helpers.search.models.Query.LocationPairH\x00\x42\x06\n\x04pair\x1aW\n\x08\x44istance\x12\x39\n\x06\x63\x65nter\x18\x01 \x01(\x0b\x32).aea.helpers.search.models.Query.Location\x12\x10\n\x08\x64istance\x18\x02 \x01(\x01\x1a\xca\x01\n\x08Relation\x12\x44\n\x08operator\x18\x01 \x01(\x0e\x32\x32.aea.helpers.search.models.Query.Relation.Operator\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32&.aea.helpers.search.models.Query.Value"A\n\x08Operator\x12\x06\n\x02\x45Q\x10\x00\x12\x06\n\x02LT\x10\x01\x12\x08\n\x04LTEQ\x10\x02\x12\x06\n\x02GT\x10\x03\x12\x08\n\x04GTEQ\x10\x04\x12\t\n\x05NOTEQ\x10\x05\x1a\xca\x05\n\x03Set\x12?\n\x08operator\x18\x01 \x01(\x0e\x32-.aea.helpers.search.models.Query.Set.Operator\x12;\n\x06values\x18\x02 \x01(\x0b\x32+.aea.helpers.search.models.Query.Set.Values\x1a\xa5\x04\n\x06Values\x12\x45\n\x06string\x18\x01 \x01(\x0b\x32\x33.aea.helpers.search.models.Query.Set.Values.StringsH\x00\x12\x45\n\x06\x64ouble\x18\x02 \x01(\x0b\x32\x33.aea.helpers.search.models.Query.Set.Values.DoublesH\x00\x12\x44\n\x07\x62oolean\x18\x03 \x01(\x0b\x32\x31.aea.helpers.search.models.Query.Set.Values.BoolsH\x00\x12\x43\n\x07integer\x18\x04 \x01(\x0b\x32\x30.aea.helpers.search.models.Query.Set.Values.IntsH\x00\x12I\n\x08location\x18\x05 \x01(\x0b\x32\x35.aea.helpers.search.models.Query.Set.Values.LocationsH\x00\x1a\x16\n\x04Ints\x12\x0e\n\x06values\x18\x01 \x03(\x03\x1a\x19\n\x07\x44oubles\x12\x0e\n\x06values\x18\x01 \x03(\x01\x1a\x19\n\x07Strings\x12\x0e\n\x06values\x18\x01 \x03(\t\x1a\x17\n\x05\x42ools\x12\x0e\n\x06values\x18\x01 \x03(\x08\x1a\x46\n\tLocations\x12\x39\n\x06values\x18\x01 \x03(\x0b\x32).aea.helpers.search.models.Query.LocationB\x08\n\x06values"\x1d\n\x08Operator\x12\x06\n\x02IN\x10\x00\x12\t\n\x05NOTIN\x10\x01\x1a\xc3\x06\n\x0e\x43onstraintExpr\x12\x41\n\x03or_\x18\x01 \x01(\x0b\x32\x32.aea.helpers.search.models.Query.ConstraintExpr.OrH\x00\x12\x43\n\x04\x61nd_\x18\x02 \x01(\x0b\x32\x33.aea.helpers.search.models.Query.ConstraintExpr.AndH\x00\x12\x43\n\x04not_\x18\x03 \x01(\x0b\x32\x33.aea.helpers.search.models.Query.ConstraintExpr.NotH\x00\x12P\n\nconstraint\x18\x04 \x01(\x0b\x32:.aea.helpers.search.models.Query.ConstraintExpr.ConstraintH\x00\x1aI\n\x02Or\x12\x43\n\nexpression\x18\x01 \x03(\x0b\x32/.aea.helpers.search.models.Query.ConstraintExpr\x1aJ\n\x03\x41nd\x12\x43\n\nexpression\x18\x01 \x03(\x0b\x32/.aea.helpers.search.models.Query.ConstraintExpr\x1aJ\n\x03Not\x12\x43\n\nexpression\x18\x01 \x01(\x0b\x32/.aea.helpers.search.models.Query.ConstraintExpr\x1a\xa0\x02\n\nConstraint\x12\x16\n\x0e\x61ttribute_name\x18\x01 \x01(\t\x12\x34\n\x04set_\x18\x02 \x01(\x0b\x32$.aea.helpers.search.models.Query.SetH\x00\x12\x38\n\x06range_\x18\x03 \x01(\x0b\x32&.aea.helpers.search.models.Query.RangeH\x00\x12=\n\x08relation\x18\x04 \x01(\x0b\x32).aea.helpers.search.models.Query.RelationH\x00\x12=\n\x08\x64istance\x18\x05 \x01(\x0b\x32).aea.helpers.search.models.Query.DistanceH\x00\x42\x0c\n\nconstraintB\x0c\n\nexpression\x1a\x88\x01\n\x05Model\x12\x44\n\x0b\x63onstraints\x18\x01 \x03(\x0b\x32/.aea.helpers.search.models.Query.ConstraintExpr\x12\x39\n\x05model\x18\x02 \x01(\x0b\x32*.aea.helpers.search.models.Query.DataModelB\x02H\x01\x62\x06proto3',
)


_QUERY_ATTRIBUTE_TYPE = _descriptor.EnumDescriptor(
    name="Type",
    full_name="aea.helpers.search.models.Query.Attribute.Type",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="DOUBLE", index=0, number=0, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="INT", index=1, number=1, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="BOOL", index=2, number=2, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="STRING", index=3, number=3, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="LOCATION", index=4, number=4, serialized_options=None, type=None
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=183,
    serialized_end=246,
)
_sym_db.RegisterEnumDescriptor(_QUERY_ATTRIBUTE_TYPE)

_QUERY_RELATION_OPERATOR = _descriptor.EnumDescriptor(
    name="Operator",
    full_name="aea.helpers.search.models.Query.Relation.Operator",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="EQ", index=0, number=0, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="LT", index=1, number=1, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="LTEQ", index=2, number=2, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="GT", index=3, number=3, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="GTEQ", index=4, number=4, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="NOTEQ", index=5, number=5, serialized_options=None, type=None
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=1550,
    serialized_end=1615,
)
_sym_db.RegisterEnumDescriptor(_QUERY_RELATION_OPERATOR)

_QUERY_SET_OPERATOR = _descriptor.EnumDescriptor(
    name="Operator",
    full_name="aea.helpers.search.models.Query.Set.Operator",
    filename=None,
    file=DESCRIPTOR,
    values=[
        _descriptor.EnumValueDescriptor(
            name="IN", index=0, number=0, serialized_options=None, type=None
        ),
        _descriptor.EnumValueDescriptor(
            name="NOTIN", index=1, number=1, serialized_options=None, type=None
        ),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=2303,
    serialized_end=2332,
)
_sym_db.RegisterEnumDescriptor(_QUERY_SET_OPERATOR)


_QUERY_ATTRIBUTE = _descriptor.Descriptor(
    name="Attribute",
    full_name="aea.helpers.search.models.Query.Attribute",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="aea.helpers.search.models.Query.Attribute.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=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="type",
            full_name="aea.helpers.search.models.Query.Attribute.type",
            index=1,
            number=2,
            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="required",
            full_name="aea.helpers.search.models.Query.Attribute.required",
            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="description",
            full_name="aea.helpers.search.models.Query.Attribute.description",
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[_QUERY_ATTRIBUTE_TYPE,],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=54,
    serialized_end=246,
)

_QUERY_DATAMODEL = _descriptor.Descriptor(
    name="DataModel",
    full_name="aea.helpers.search.models.Query.DataModel",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="name",
            full_name="aea.helpers.search.models.Query.DataModel.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=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="attributes",
            full_name="aea.helpers.search.models.Query.DataModel.attributes",
            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,
        ),
        _descriptor.FieldDescriptor(
            name="description",
            full_name="aea.helpers.search.models.Query.DataModel.description",
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=248,
    serialized_end=358,
)

_QUERY_LOCATION = _descriptor.Descriptor(
    name="Location",
    full_name="aea.helpers.search.models.Query.Location",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="lon",
            full_name="aea.helpers.search.models.Query.Location.lon",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="lat",
            full_name="aea.helpers.search.models.Query.Location.lat",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=360,
    serialized_end=396,
)

_QUERY_VALUE = _descriptor.Descriptor(
    name="Value",
    full_name="aea.helpers.search.models.Query.Value",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="string",
            full_name="aea.helpers.search.models.Query.Value.string",
            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="double",
            full_name="aea.helpers.search.models.Query.Value.double",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="boolean",
            full_name="aea.helpers.search.models.Query.Value.boolean",
            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="integer",
            full_name="aea.helpers.search.models.Query.Value.integer",
            index=3,
            number=4,
            type=3,
            cpp_type=2,
            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="location",
            full_name="aea.helpers.search.models.Query.Value.location",
            index=4,
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="value",
            full_name="aea.helpers.search.models.Query.Value.value",
            index=0,
            containing_type=None,
            fields=[],
        ),
    ],
    serialized_start=399,
    serialized_end=552,
)

_QUERY_KEYVALUE = _descriptor.Descriptor(
    name="KeyValue",
    full_name="aea.helpers.search.models.Query.KeyValue",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="key",
            full_name="aea.helpers.search.models.Query.KeyValue.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="aea.helpers.search.models.Query.KeyValue.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=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=554,
    serialized_end=632,
)

_QUERY_INSTANCE = _descriptor.Descriptor(
    name="Instance",
    full_name="aea.helpers.search.models.Query.Instance",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="model",
            full_name="aea.helpers.search.models.Query.Instance.model",
            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="values",
            full_name="aea.helpers.search.models.Query.Instance.values",
            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=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=635,
    serialized_end=763,
)

_QUERY_STRINGPAIR = _descriptor.Descriptor(
    name="StringPair",
    full_name="aea.helpers.search.models.Query.StringPair",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="first",
            full_name="aea.helpers.search.models.Query.StringPair.first",
            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="second",
            full_name="aea.helpers.search.models.Query.StringPair.second",
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=765,
    serialized_end=808,
)

_QUERY_INTPAIR = _descriptor.Descriptor(
    name="IntPair",
    full_name="aea.helpers.search.models.Query.IntPair",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="first",
            full_name="aea.helpers.search.models.Query.IntPair.first",
            index=0,
            number=1,
            type=3,
            cpp_type=2,
            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="second",
            full_name="aea.helpers.search.models.Query.IntPair.second",
            index=1,
            number=2,
            type=3,
            cpp_type=2,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=810,
    serialized_end=850,
)

_QUERY_DOUBLEPAIR = _descriptor.Descriptor(
    name="DoublePair",
    full_name="aea.helpers.search.models.Query.DoublePair",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="first",
            full_name="aea.helpers.search.models.Query.DoublePair.first",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(0),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            serialized_options=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="second",
            full_name="aea.helpers.search.models.Query.DoublePair.second",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=852,
    serialized_end=895,
)

_QUERY_LOCATIONPAIR = _descriptor.Descriptor(
    name="LocationPair",
    full_name="aea.helpers.search.models.Query.LocationPair",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="first",
            full_name="aea.helpers.search.models.Query.LocationPair.first",
            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="second",
            full_name="aea.helpers.search.models.Query.LocationPair.second",
            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=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=898,
    serialized_end=1029,
)

_QUERY_RANGE = _descriptor.Descriptor(
    name="Range",
    full_name="aea.helpers.search.models.Query.Range",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="string_pair",
            full_name="aea.helpers.search.models.Query.Range.string_pair",
            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="integer_pair",
            full_name="aea.helpers.search.models.Query.Range.integer_pair",
            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="double_pair",
            full_name="aea.helpers.search.models.Query.Range.double_pair",
            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,
        ),
        _descriptor.FieldDescriptor(
            name="location_pair",
            full_name="aea.helpers.search.models.Query.Range.location_pair",
            index=3,
            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=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="pair",
            full_name="aea.helpers.search.models.Query.Range.pair",
            index=0,
            containing_type=None,
            fields=[],
        ),
    ],
    serialized_start=1032,
    serialized_end=1321,
)

_QUERY_DISTANCE = _descriptor.Descriptor(
    name="Distance",
    full_name="aea.helpers.search.models.Query.Distance",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="center",
            full_name="aea.helpers.search.models.Query.Distance.center",
            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="distance",
            full_name="aea.helpers.search.models.Query.Distance.distance",
            index=1,
            number=2,
            type=1,
            cpp_type=5,
            label=1,
            has_default_value=False,
            default_value=float(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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1323,
    serialized_end=1410,
)

_QUERY_RELATION = _descriptor.Descriptor(
    name="Relation",
    full_name="aea.helpers.search.models.Query.Relation",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="operator",
            full_name="aea.helpers.search.models.Query.Relation.operator",
            index=0,
            number=1,
            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="value",
            full_name="aea.helpers.search.models.Query.Relation.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=[_QUERY_RELATION_OPERATOR,],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1413,
    serialized_end=1615,
)

_QUERY_SET_VALUES_INTS = _descriptor.Descriptor(
    name="Ints",
    full_name="aea.helpers.search.models.Query.Set.Values.Ints",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.Ints.values",
            index=0,
            number=1,
            type=3,
            cpp_type=2,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2118,
    serialized_end=2140,
)

_QUERY_SET_VALUES_DOUBLES = _descriptor.Descriptor(
    name="Doubles",
    full_name="aea.helpers.search.models.Query.Set.Values.Doubles",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.Doubles.values",
            index=0,
            number=1,
            type=1,
            cpp_type=5,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2142,
    serialized_end=2167,
)

_QUERY_SET_VALUES_STRINGS = _descriptor.Descriptor(
    name="Strings",
    full_name="aea.helpers.search.models.Query.Set.Values.Strings",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.Strings.values",
            index=0,
            number=1,
            type=9,
            cpp_type=9,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2169,
    serialized_end=2194,
)

_QUERY_SET_VALUES_BOOLS = _descriptor.Descriptor(
    name="Bools",
    full_name="aea.helpers.search.models.Query.Set.Values.Bools",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.Bools.values",
            index=0,
            number=1,
            type=8,
            cpp_type=7,
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2196,
    serialized_end=2219,
)

_QUERY_SET_VALUES_LOCATIONS = _descriptor.Descriptor(
    name="Locations",
    full_name="aea.helpers.search.models.Query.Set.Values.Locations",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.Locations.values",
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2221,
    serialized_end=2291,
)

_QUERY_SET_VALUES = _descriptor.Descriptor(
    name="Values",
    full_name="aea.helpers.search.models.Query.Set.Values",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="string",
            full_name="aea.helpers.search.models.Query.Set.Values.string",
            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="double",
            full_name="aea.helpers.search.models.Query.Set.Values.double",
            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="boolean",
            full_name="aea.helpers.search.models.Query.Set.Values.boolean",
            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,
        ),
        _descriptor.FieldDescriptor(
            name="integer",
            full_name="aea.helpers.search.models.Query.Set.Values.integer",
            index=3,
            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,
        ),
        _descriptor.FieldDescriptor(
            name="location",
            full_name="aea.helpers.search.models.Query.Set.Values.location",
            index=4,
            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,
        ),
    ],
    extensions=[],
    nested_types=[
        _QUERY_SET_VALUES_INTS,
        _QUERY_SET_VALUES_DOUBLES,
        _QUERY_SET_VALUES_STRINGS,
        _QUERY_SET_VALUES_BOOLS,
        _QUERY_SET_VALUES_LOCATIONS,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="values",
            full_name="aea.helpers.search.models.Query.Set.Values.values",
            index=0,
            containing_type=None,
            fields=[],
        ),
    ],
    serialized_start=1752,
    serialized_end=2301,
)

_QUERY_SET = _descriptor.Descriptor(
    name="Set",
    full_name="aea.helpers.search.models.Query.Set",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="operator",
            full_name="aea.helpers.search.models.Query.Set.operator",
            index=0,
            number=1,
            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="values",
            full_name="aea.helpers.search.models.Query.Set.values",
            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=[_QUERY_SET_VALUES,],
    enum_types=[_QUERY_SET_OPERATOR,],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=1618,
    serialized_end=2332,
)

_QUERY_CONSTRAINTEXPR_OR = _descriptor.Descriptor(
    name="Or",
    full_name="aea.helpers.search.models.Query.ConstraintExpr.Or",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="expression",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Or.expression",
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2640,
    serialized_end=2713,
)

_QUERY_CONSTRAINTEXPR_AND = _descriptor.Descriptor(
    name="And",
    full_name="aea.helpers.search.models.Query.ConstraintExpr.And",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="expression",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.And.expression",
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2715,
    serialized_end=2789,
)

_QUERY_CONSTRAINTEXPR_NOT = _descriptor.Descriptor(
    name="Not",
    full_name="aea.helpers.search.models.Query.ConstraintExpr.Not",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="expression",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Not.expression",
            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="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=2791,
    serialized_end=2865,
)

_QUERY_CONSTRAINTEXPR_CONSTRAINT = _descriptor.Descriptor(
    name="Constraint",
    full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="attribute_name",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.attribute_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=None,
            file=DESCRIPTOR,
        ),
        _descriptor.FieldDescriptor(
            name="set_",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.set_",
            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="range_",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.range_",
            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,
        ),
        _descriptor.FieldDescriptor(
            name="relation",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.relation",
            index=3,
            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,
        ),
        _descriptor.FieldDescriptor(
            name="distance",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.distance",
            index=4,
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="constraint",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.Constraint.constraint",
            index=0,
            containing_type=None,
            fields=[],
        ),
    ],
    serialized_start=2868,
    serialized_end=3156,
)

_QUERY_CONSTRAINTEXPR = _descriptor.Descriptor(
    name="ConstraintExpr",
    full_name="aea.helpers.search.models.Query.ConstraintExpr",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="or_",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.or_",
            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="and_",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.and_",
            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="not_",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.not_",
            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,
        ),
        _descriptor.FieldDescriptor(
            name="constraint",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.constraint",
            index=3,
            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=[
        _QUERY_CONSTRAINTEXPR_OR,
        _QUERY_CONSTRAINTEXPR_AND,
        _QUERY_CONSTRAINTEXPR_NOT,
        _QUERY_CONSTRAINTEXPR_CONSTRAINT,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[
        _descriptor.OneofDescriptor(
            name="expression",
            full_name="aea.helpers.search.models.Query.ConstraintExpr.expression",
            index=0,
            containing_type=None,
            fields=[],
        ),
    ],
    serialized_start=2335,
    serialized_end=3170,
)

_QUERY_MODEL = _descriptor.Descriptor(
    name="Model",
    full_name="aea.helpers.search.models.Query.Model",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="constraints",
            full_name="aea.helpers.search.models.Query.Model.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,
        ),
        _descriptor.FieldDescriptor(
            name="model",
            full_name="aea.helpers.search.models.Query.Model.model",
            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=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=3173,
    serialized_end=3309,
)

_QUERY = _descriptor.Descriptor(
    name="Query",
    full_name="aea.helpers.search.models.Query",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[],
    extensions=[],
    nested_types=[
        _QUERY_ATTRIBUTE,
        _QUERY_DATAMODEL,
        _QUERY_LOCATION,
        _QUERY_VALUE,
        _QUERY_KEYVALUE,
        _QUERY_INSTANCE,
        _QUERY_STRINGPAIR,
        _QUERY_INTPAIR,
        _QUERY_DOUBLEPAIR,
        _QUERY_LOCATIONPAIR,
        _QUERY_RANGE,
        _QUERY_DISTANCE,
        _QUERY_RELATION,
        _QUERY_SET,
        _QUERY_CONSTRAINTEXPR,
        _QUERY_MODEL,
    ],
    enum_types=[],
    serialized_options=None,
    is_extendable=False,
    syntax="proto3",
    extension_ranges=[],
    oneofs=[],
    serialized_start=44,
    serialized_end=3309,
)

_QUERY_ATTRIBUTE.fields_by_name["type"].enum_type = _QUERY_ATTRIBUTE_TYPE
_QUERY_ATTRIBUTE.containing_type = _QUERY
_QUERY_ATTRIBUTE_TYPE.containing_type = _QUERY_ATTRIBUTE
_QUERY_DATAMODEL.fields_by_name["attributes"].message_type = _QUERY_ATTRIBUTE
_QUERY_DATAMODEL.containing_type = _QUERY
_QUERY_LOCATION.containing_type = _QUERY
_QUERY_VALUE.fields_by_name["location"].message_type = _QUERY_LOCATION
_QUERY_VALUE.containing_type = _QUERY
_QUERY_VALUE.oneofs_by_name["value"].fields.append(
    _QUERY_VALUE.fields_by_name["string"]
)
_QUERY_VALUE.fields_by_name["string"].containing_oneof = _QUERY_VALUE.oneofs_by_name[
    "value"
]
_QUERY_VALUE.oneofs_by_name["value"].fields.append(
    _QUERY_VALUE.fields_by_name["double"]
)
_QUERY_VALUE.fields_by_name["double"].containing_oneof = _QUERY_VALUE.oneofs_by_name[
    "value"
]
_QUERY_VALUE.oneofs_by_name["value"].fields.append(
    _QUERY_VALUE.fields_by_name["boolean"]
)
_QUERY_VALUE.fields_by_name["boolean"].containing_oneof = _QUERY_VALUE.oneofs_by_name[
    "value"
]
_QUERY_VALUE.oneofs_by_name["value"].fields.append(
    _QUERY_VALUE.fields_by_name["integer"]
)
_QUERY_VALUE.fields_by_name["integer"].containing_oneof = _QUERY_VALUE.oneofs_by_name[
    "value"
]
_QUERY_VALUE.oneofs_by_name["value"].fields.append(
    _QUERY_VALUE.fields_by_name["location"]
)
_QUERY_VALUE.fields_by_name["location"].containing_oneof = _QUERY_VALUE.oneofs_by_name[
    "value"
]
_QUERY_KEYVALUE.fields_by_name["value"].message_type = _QUERY_VALUE
_QUERY_KEYVALUE.containing_type = _QUERY
_QUERY_INSTANCE.fields_by_name["model"].message_type = _QUERY_DATAMODEL
_QUERY_INSTANCE.fields_by_name["values"].message_type = _QUERY_KEYVALUE
_QUERY_INSTANCE.containing_type = _QUERY
_QUERY_STRINGPAIR.containing_type = _QUERY
_QUERY_INTPAIR.containing_type = _QUERY
_QUERY_DOUBLEPAIR.containing_type = _QUERY
_QUERY_LOCATIONPAIR.fields_by_name["first"].message_type = _QUERY_LOCATION
_QUERY_LOCATIONPAIR.fields_by_name["second"].message_type = _QUERY_LOCATION
_QUERY_LOCATIONPAIR.containing_type = _QUERY
_QUERY_RANGE.fields_by_name["string_pair"].message_type = _QUERY_STRINGPAIR
_QUERY_RANGE.fields_by_name["integer_pair"].message_type = _QUERY_INTPAIR
_QUERY_RANGE.fields_by_name["double_pair"].message_type = _QUERY_DOUBLEPAIR
_QUERY_RANGE.fields_by_name["location_pair"].message_type = _QUERY_LOCATIONPAIR
_QUERY_RANGE.containing_type = _QUERY
_QUERY_RANGE.oneofs_by_name["pair"].fields.append(
    _QUERY_RANGE.fields_by_name["string_pair"]
)
_QUERY_RANGE.fields_by_name[
    "string_pair"
].containing_oneof = _QUERY_RANGE.oneofs_by_name["pair"]
_QUERY_RANGE.oneofs_by_name["pair"].fields.append(
    _QUERY_RANGE.fields_by_name["integer_pair"]
)
_QUERY_RANGE.fields_by_name[
    "integer_pair"
].containing_oneof = _QUERY_RANGE.oneofs_by_name["pair"]
_QUERY_RANGE.oneofs_by_name["pair"].fields.append(
    _QUERY_RANGE.fields_by_name["double_pair"]
)
_QUERY_RANGE.fields_by_name[
    "double_pair"
].containing_oneof = _QUERY_RANGE.oneofs_by_name["pair"]
_QUERY_RANGE.oneofs_by_name["pair"].fields.append(
    _QUERY_RANGE.fields_by_name["location_pair"]
)
_QUERY_RANGE.fields_by_name[
    "location_pair"
].containing_oneof = _QUERY_RANGE.oneofs_by_name["pair"]
_QUERY_DISTANCE.fields_by_name["center"].message_type = _QUERY_LOCATION
_QUERY_DISTANCE.containing_type = _QUERY
_QUERY_RELATION.fields_by_name["operator"].enum_type = _QUERY_RELATION_OPERATOR
_QUERY_RELATION.fields_by_name["value"].message_type = _QUERY_VALUE
_QUERY_RELATION.containing_type = _QUERY
_QUERY_RELATION_OPERATOR.containing_type = _QUERY_RELATION
_QUERY_SET_VALUES_INTS.containing_type = _QUERY_SET_VALUES
_QUERY_SET_VALUES_DOUBLES.containing_type = _QUERY_SET_VALUES
_QUERY_SET_VALUES_STRINGS.containing_type = _QUERY_SET_VALUES
_QUERY_SET_VALUES_BOOLS.containing_type = _QUERY_SET_VALUES
_QUERY_SET_VALUES_LOCATIONS.fields_by_name["values"].message_type = _QUERY_LOCATION
_QUERY_SET_VALUES_LOCATIONS.containing_type = _QUERY_SET_VALUES
_QUERY_SET_VALUES.fields_by_name["string"].message_type = _QUERY_SET_VALUES_STRINGS
_QUERY_SET_VALUES.fields_by_name["double"].message_type = _QUERY_SET_VALUES_DOUBLES
_QUERY_SET_VALUES.fields_by_name["boolean"].message_type = _QUERY_SET_VALUES_BOOLS
_QUERY_SET_VALUES.fields_by_name["integer"].message_type = _QUERY_SET_VALUES_INTS
_QUERY_SET_VALUES.fields_by_name["location"].message_type = _QUERY_SET_VALUES_LOCATIONS
_QUERY_SET_VALUES.containing_type = _QUERY_SET
_QUERY_SET_VALUES.oneofs_by_name["values"].fields.append(
    _QUERY_SET_VALUES.fields_by_name["string"]
)
_QUERY_SET_VALUES.fields_by_name[
    "string"
].containing_oneof = _QUERY_SET_VALUES.oneofs_by_name["values"]
_QUERY_SET_VALUES.oneofs_by_name["values"].fields.append(
    _QUERY_SET_VALUES.fields_by_name["double"]
)
_QUERY_SET_VALUES.fields_by_name[
    "double"
].containing_oneof = _QUERY_SET_VALUES.oneofs_by_name["values"]
_QUERY_SET_VALUES.oneofs_by_name["values"].fields.append(
    _QUERY_SET_VALUES.fields_by_name["boolean"]
)
_QUERY_SET_VALUES.fields_by_name[
    "boolean"
].containing_oneof = _QUERY_SET_VALUES.oneofs_by_name["values"]
_QUERY_SET_VALUES.oneofs_by_name["values"].fields.append(
    _QUERY_SET_VALUES.fields_by_name["integer"]
)
_QUERY_SET_VALUES.fields_by_name[
    "integer"
].containing_oneof = _QUERY_SET_VALUES.oneofs_by_name["values"]
_QUERY_SET_VALUES.oneofs_by_name["values"].fields.append(
    _QUERY_SET_VALUES.fields_by_name["location"]
)
_QUERY_SET_VALUES.fields_by_name[
    "location"
].containing_oneof = _QUERY_SET_VALUES.oneofs_by_name["values"]
_QUERY_SET.fields_by_name["operator"].enum_type = _QUERY_SET_OPERATOR
_QUERY_SET.fields_by_name["values"].message_type = _QUERY_SET_VALUES
_QUERY_SET.containing_type = _QUERY
_QUERY_SET_OPERATOR.containing_type = _QUERY_SET
_QUERY_CONSTRAINTEXPR_OR.fields_by_name[
    "expression"
].message_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_OR.containing_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_AND.fields_by_name[
    "expression"
].message_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_AND.containing_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_NOT.fields_by_name[
    "expression"
].message_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_NOT.containing_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["set_"].message_type = _QUERY_SET
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["range_"].message_type = _QUERY_RANGE
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "relation"
].message_type = _QUERY_RELATION
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "distance"
].message_type = _QUERY_DISTANCE
_QUERY_CONSTRAINTEXPR_CONSTRAINT.containing_type = _QUERY_CONSTRAINTEXPR
_QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"].fields.append(
    _QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["set_"]
)
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "set_"
].containing_oneof = _QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"]
_QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"].fields.append(
    _QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["range_"]
)
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "range_"
].containing_oneof = _QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"]
_QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"].fields.append(
    _QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["relation"]
)
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "relation"
].containing_oneof = _QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"]
_QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"].fields.append(
    _QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name["distance"]
)
_QUERY_CONSTRAINTEXPR_CONSTRAINT.fields_by_name[
    "distance"
].containing_oneof = _QUERY_CONSTRAINTEXPR_CONSTRAINT.oneofs_by_name["constraint"]
_QUERY_CONSTRAINTEXPR.fields_by_name["or_"].message_type = _QUERY_CONSTRAINTEXPR_OR
_QUERY_CONSTRAINTEXPR.fields_by_name["and_"].message_type = _QUERY_CONSTRAINTEXPR_AND
_QUERY_CONSTRAINTEXPR.fields_by_name["not_"].message_type = _QUERY_CONSTRAINTEXPR_NOT
_QUERY_CONSTRAINTEXPR.fields_by_name[
    "constraint"
].message_type = _QUERY_CONSTRAINTEXPR_CONSTRAINT
_QUERY_CONSTRAINTEXPR.containing_type = _QUERY
_QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"].fields.append(
    _QUERY_CONSTRAINTEXPR.fields_by_name["or_"]
)
_QUERY_CONSTRAINTEXPR.fields_by_name[
    "or_"
].containing_oneof = _QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"]
_QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"].fields.append(
    _QUERY_CONSTRAINTEXPR.fields_by_name["and_"]
)
_QUERY_CONSTRAINTEXPR.fields_by_name[
    "and_"
].containing_oneof = _QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"]
_QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"].fields.append(
    _QUERY_CONSTRAINTEXPR.fields_by_name["not_"]
)
_QUERY_CONSTRAINTEXPR.fields_by_name[
    "not_"
].containing_oneof = _QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"]
_QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"].fields.append(
    _QUERY_CONSTRAINTEXPR.fields_by_name["constraint"]
)
_QUERY_CONSTRAINTEXPR.fields_by_name[
    "constraint"
].containing_oneof = _QUERY_CONSTRAINTEXPR.oneofs_by_name["expression"]
_QUERY_MODEL.fields_by_name["constraints"].message_type = _QUERY_CONSTRAINTEXPR
_QUERY_MODEL.fields_by_name["model"].message_type = _QUERY_DATAMODEL
_QUERY_MODEL.containing_type = _QUERY
DESCRIPTOR.message_types_by_name["Query"] = _QUERY
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Query = _reflection.GeneratedProtocolMessageType(
    "Query",
    (_message.Message,),
    {
        "Attribute": _reflection.GeneratedProtocolMessageType(
            "Attribute",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_ATTRIBUTE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Attribute)
            },
        ),
        "DataModel": _reflection.GeneratedProtocolMessageType(
            "DataModel",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_DATAMODEL,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.DataModel)
            },
        ),
        "Location": _reflection.GeneratedProtocolMessageType(
            "Location",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_LOCATION,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Location)
            },
        ),
        "Value": _reflection.GeneratedProtocolMessageType(
            "Value",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_VALUE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Value)
            },
        ),
        "KeyValue": _reflection.GeneratedProtocolMessageType(
            "KeyValue",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_KEYVALUE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.KeyValue)
            },
        ),
        "Instance": _reflection.GeneratedProtocolMessageType(
            "Instance",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_INSTANCE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Instance)
            },
        ),
        "StringPair": _reflection.GeneratedProtocolMessageType(
            "StringPair",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_STRINGPAIR,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.StringPair)
            },
        ),
        "IntPair": _reflection.GeneratedProtocolMessageType(
            "IntPair",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_INTPAIR,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.IntPair)
            },
        ),
        "DoublePair": _reflection.GeneratedProtocolMessageType(
            "DoublePair",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_DOUBLEPAIR,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.DoublePair)
            },
        ),
        "LocationPair": _reflection.GeneratedProtocolMessageType(
            "LocationPair",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_LOCATIONPAIR,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.LocationPair)
            },
        ),
        "Range": _reflection.GeneratedProtocolMessageType(
            "Range",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_RANGE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Range)
            },
        ),
        "Distance": _reflection.GeneratedProtocolMessageType(
            "Distance",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_DISTANCE,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Distance)
            },
        ),
        "Relation": _reflection.GeneratedProtocolMessageType(
            "Relation",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_RELATION,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Relation)
            },
        ),
        "Set": _reflection.GeneratedProtocolMessageType(
            "Set",
            (_message.Message,),
            {
                "Values": _reflection.GeneratedProtocolMessageType(
                    "Values",
                    (_message.Message,),
                    {
                        "Ints": _reflection.GeneratedProtocolMessageType(
                            "Ints",
                            (_message.Message,),
                            {
                                "DESCRIPTOR": _QUERY_SET_VALUES_INTS,
                                "__module__": "models_pb2"
                                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values.Ints)
                            },
                        ),
                        "Doubles": _reflection.GeneratedProtocolMessageType(
                            "Doubles",
                            (_message.Message,),
                            {
                                "DESCRIPTOR": _QUERY_SET_VALUES_DOUBLES,
                                "__module__": "models_pb2"
                                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values.Doubles)
                            },
                        ),
                        "Strings": _reflection.GeneratedProtocolMessageType(
                            "Strings",
                            (_message.Message,),
                            {
                                "DESCRIPTOR": _QUERY_SET_VALUES_STRINGS,
                                "__module__": "models_pb2"
                                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values.Strings)
                            },
                        ),
                        "Bools": _reflection.GeneratedProtocolMessageType(
                            "Bools",
                            (_message.Message,),
                            {
                                "DESCRIPTOR": _QUERY_SET_VALUES_BOOLS,
                                "__module__": "models_pb2"
                                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values.Bools)
                            },
                        ),
                        "Locations": _reflection.GeneratedProtocolMessageType(
                            "Locations",
                            (_message.Message,),
                            {
                                "DESCRIPTOR": _QUERY_SET_VALUES_LOCATIONS,
                                "__module__": "models_pb2"
                                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values.Locations)
                            },
                        ),
                        "DESCRIPTOR": _QUERY_SET_VALUES,
                        "__module__": "models_pb2"
                        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set.Values)
                    },
                ),
                "DESCRIPTOR": _QUERY_SET,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Set)
            },
        ),
        "ConstraintExpr": _reflection.GeneratedProtocolMessageType(
            "ConstraintExpr",
            (_message.Message,),
            {
                "Or": _reflection.GeneratedProtocolMessageType(
                    "Or",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _QUERY_CONSTRAINTEXPR_OR,
                        "__module__": "models_pb2"
                        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.ConstraintExpr.Or)
                    },
                ),
                "And": _reflection.GeneratedProtocolMessageType(
                    "And",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _QUERY_CONSTRAINTEXPR_AND,
                        "__module__": "models_pb2"
                        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.ConstraintExpr.And)
                    },
                ),
                "Not": _reflection.GeneratedProtocolMessageType(
                    "Not",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _QUERY_CONSTRAINTEXPR_NOT,
                        "__module__": "models_pb2"
                        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.ConstraintExpr.Not)
                    },
                ),
                "Constraint": _reflection.GeneratedProtocolMessageType(
                    "Constraint",
                    (_message.Message,),
                    {
                        "DESCRIPTOR": _QUERY_CONSTRAINTEXPR_CONSTRAINT,
                        "__module__": "models_pb2"
                        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.ConstraintExpr.Constraint)
                    },
                ),
                "DESCRIPTOR": _QUERY_CONSTRAINTEXPR,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.ConstraintExpr)
            },
        ),
        "Model": _reflection.GeneratedProtocolMessageType(
            "Model",
            (_message.Message,),
            {
                "DESCRIPTOR": _QUERY_MODEL,
                "__module__": "models_pb2"
                # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query.Model)
            },
        ),
        "DESCRIPTOR": _QUERY,
        "__module__": "models_pb2"
        # @@protoc_insertion_point(class_scope:aea.helpers.search.models.Query)
    },
)
_sym_db.RegisterMessage(Query)
_sym_db.RegisterMessage(Query.Attribute)
_sym_db.RegisterMessage(Query.DataModel)
_sym_db.RegisterMessage(Query.Location)
_sym_db.RegisterMessage(Query.Value)
_sym_db.RegisterMessage(Query.KeyValue)
_sym_db.RegisterMessage(Query.Instance)
_sym_db.RegisterMessage(Query.StringPair)
_sym_db.RegisterMessage(Query.IntPair)
_sym_db.RegisterMessage(Query.DoublePair)
_sym_db.RegisterMessage(Query.LocationPair)
_sym_db.RegisterMessage(Query.Range)
_sym_db.RegisterMessage(Query.Distance)
_sym_db.RegisterMessage(Query.Relation)
_sym_db.RegisterMessage(Query.Set)
_sym_db.RegisterMessage(Query.Set.Values)
_sym_db.RegisterMessage(Query.Set.Values.Ints)
_sym_db.RegisterMessage(Query.Set.Values.Doubles)
_sym_db.RegisterMessage(Query.Set.Values.Strings)
_sym_db.RegisterMessage(Query.Set.Values.Bools)
_sym_db.RegisterMessage(Query.Set.Values.Locations)
_sym_db.RegisterMessage(Query.ConstraintExpr)
_sym_db.RegisterMessage(Query.ConstraintExpr.Or)
_sym_db.RegisterMessage(Query.ConstraintExpr.And)
_sym_db.RegisterMessage(Query.ConstraintExpr.Not)
_sym_db.RegisterMessage(Query.ConstraintExpr.Constraint)
_sym_db.RegisterMessage(Query.Model)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
