# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: yara_ast.proto
# Protobuf Python Version: 5.29.3
"""Generated protocol buffer code."""

from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder

_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    5,
    29,
    3,
    "",
    "yara_ast.proto",
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(
    b'\n\x0eyara_ast.proto\x12\x07yaraast"\x93\x01\n\x08YaraFile\x12 \n\x07imports\x18\x01 \x03(\x0b\x32\x0f.yaraast.Import\x12"\n\x08includes\x18\x02 \x03(\x0b\x32\x10.yaraast.Include\x12\x1c\n\x05rules\x18\x03 \x03(\x0b\x32\r.yaraast.Rule\x12#\n\x08metadata\x18\x04 \x01(\x0b\x32\x11.yaraast.Metadata"\xa9\x01\n\x08Metadata\x12\x0e\n\x06\x66ormat\x18\x01 \x01(\t\x12\x0f\n\x07version\x18\x02 \x01(\t\x12\x10\n\x08\x61st_type\x18\x03 \x01(\t\x12\x13\n\x0brules_count\x18\x04 \x01(\x05\x12\x15\n\rimports_count\x18\x05 \x01(\x05\x12\x16\n\x0eincludes_count\x18\x06 \x01(\x05\x12\x11\n\ttimestamp\x18\x07 \x01(\x03\x12\x13\n\x0bsource_file\x18\x08 \x01(\t"\'\n\x06Import\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t"\x17\n\x07Include\x12\x0c\n\x04path\x18\x01 \x01(\t"\xff\x01\n\x04Rule\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tmodifiers\x18\x02 \x03(\t\x12\x1a\n\x04tags\x18\x03 \x03(\x0b\x32\x0c.yaraast.Tag\x12%\n\x04meta\x18\x04 \x03(\x0b\x32\x17.yaraast.Rule.MetaEntry\x12*\n\x07strings\x18\x05 \x03(\x0b\x32\x19.yaraast.StringDefinition\x12&\n\tcondition\x18\x06 \x01(\x0b\x32\x13.yaraast.Expression\x1a?\n\tMetaEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12!\n\x05value\x18\x02 \x01(\x0b\x32\x12.yaraast.MetaValue:\x02\x38\x01"\x13\n\x03Tag\x12\x0c\n\x04name\x18\x01 \x01(\t"o\n\tMetaValue\x12\x16\n\x0cstring_value\x18\x01 \x01(\tH\x00\x12\x13\n\tint_value\x18\x02 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x03 \x01(\x08H\x00\x12\x16\n\x0c\x64ouble_value\x18\x04 \x01(\x01H\x00\x42\x07\n\x05value"\xa6\x01\n\x10StringDefinition\x12\x12\n\nidentifier\x18\x01 \x01(\t\x12%\n\x05plain\x18\x02 \x01(\x0b\x32\x14.yaraast.PlainStringH\x00\x12!\n\x03hex\x18\x03 \x01(\x0b\x32\x12.yaraast.HexStringH\x00\x12%\n\x05regex\x18\x04 \x01(\x0b\x32\x14.yaraast.RegexStringH\x00\x42\r\n\x0bstring_type"H\n\x0bPlainString\x12\r\n\x05value\x18\x01 \x01(\t\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier"Z\n\tHexString\x12!\n\x06tokens\x18\x01 \x03(\x0b\x32\x11.yaraast.HexToken\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier"H\n\x0bRegexString\x12\r\n\x05regex\x18\x01 \x01(\t\x12*\n\tmodifiers\x18\x02 \x03(\x0b\x32\x17.yaraast.StringModifier"-\n\x0eStringModifier\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t"\xdc\x01\n\x08HexToken\x12 \n\x04\x62yte\x18\x01 \x01(\x0b\x32\x10.yaraast.HexByteH\x00\x12(\n\x08wildcard\x18\x02 \x01(\x0b\x32\x14.yaraast.HexWildcardH\x00\x12 \n\x04jump\x18\x03 \x01(\x0b\x32\x10.yaraast.HexJumpH\x00\x12.\n\x0b\x61lternative\x18\x04 \x01(\x0b\x32\x17.yaraast.HexAlternativeH\x00\x12$\n\x06nibble\x18\x05 \x01(\x0b\x32\x12.yaraast.HexNibbleH\x00\x42\x0c\n\ntoken_type"\x18\n\x07HexByte\x12\r\n\x05value\x18\x01 \x01(\t"\r\n\x0bHexWildcard"-\n\x07HexJump\x12\x10\n\x08min_jump\x18\x01 \x01(\x05\x12\x10\n\x08max_jump\x18\x02 \x01(\x05"=\n\x0eHexAlternative\x12+\n\x0c\x61lternatives\x18\x01 \x03(\x0b\x32\x15.yaraast.HexTokenList"1\n\x0cHexTokenList\x12!\n\x06tokens\x18\x01 \x03(\x0b\x32\x11.yaraast.HexToken"(\n\tHexNibble\x12\x0c\n\x04high\x18\x01 \x01(\x08\x12\r\n\x05value\x18\x02 \x01(\x05"\xae\n\n\nExpression\x12)\n\nidentifier\x18\x01 \x01(\x0b\x32\x13.yaraast.IdentifierH\x00\x12\x36\n\x11string_identifier\x18\x02 \x01(\x0b\x32\x19.yaraast.StringIdentifierH\x00\x12,\n\x0cstring_count\x18\x03 \x01(\x0b\x32\x14.yaraast.StringCountH\x00\x12.\n\rstring_offset\x18\x04 \x01(\x0b\x32\x15.yaraast.StringOffsetH\x00\x12.\n\rstring_length\x18\x05 \x01(\x0b\x32\x15.yaraast.StringLengthH\x00\x12\x32\n\x0finteger_literal\x18\x06 \x01(\x0b\x32\x17.yaraast.IntegerLiteralH\x00\x12\x30\n\x0e\x64ouble_literal\x18\x07 \x01(\x0b\x32\x16.yaraast.DoubleLiteralH\x00\x12\x30\n\x0estring_literal\x18\x08 \x01(\x0b\x32\x16.yaraast.StringLiteralH\x00\x12.\n\rregex_literal\x18\t \x01(\x0b\x32\x15.yaraast.RegexLiteralH\x00\x12\x32\n\x0f\x62oolean_literal\x18\n \x01(\x0b\x32\x17.yaraast.BooleanLiteralH\x00\x12\x36\n\x11\x62inary_expression\x18\x0b \x01(\x0b\x32\x19.yaraast.BinaryExpressionH\x00\x12\x34\n\x10unary_expression\x18\x0c \x01(\x0b\x32\x18.yaraast.UnaryExpressionH\x00\x12@\n\x16parentheses_expression\x18\r \x01(\x0b\x32\x1e.yaraast.ParenthesesExpressionH\x00\x12\x30\n\x0eset_expression\x18\x0e \x01(\x0b\x32\x16.yaraast.SetExpressionH\x00\x12\x34\n\x10range_expression\x18\x0f \x01(\x0b\x32\x18.yaraast.RangeExpressionH\x00\x12.\n\rfunction_call\x18\x10 \x01(\x0b\x32\x15.yaraast.FunctionCallH\x00\x12,\n\x0c\x61rray_access\x18\x11 \x01(\x0b\x32\x14.yaraast.ArrayAccessH\x00\x12.\n\rmember_access\x18\x12 \x01(\x0b\x32\x15.yaraast.MemberAccessH\x00\x12\x30\n\x0e\x66or_expression\x18\x13 \x01(\x0b\x32\x16.yaraast.ForExpressionH\x00\x12\x35\n\x11\x66or_of_expression\x18\x14 \x01(\x0b\x32\x18.yaraast.ForOfExpressionH\x00\x12.\n\rat_expression\x18\x15 \x01(\x0b\x32\x15.yaraast.AtExpressionH\x00\x12.\n\rin_expression\x18\x16 \x01(\x0b\x32\x15.yaraast.InExpressionH\x00\x12.\n\rof_expression\x18\x17 \x01(\x0b\x32\x15.yaraast.OfExpressionH\x00\x12\x38\n\x12\x64\x65\x66ined_expression\x18\x18 \x01(\x0b\x32\x1a.yaraast.DefinedExpressionH\x00\x12G\n\x1astring_operator_expression\x18\x19 \x01(\x0b\x32!.yaraast.StringOperatorExpressionH\x00\x42\x11\n\x0f\x65xpression_type"\x1a\n\nIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t" \n\x10StringIdentifier\x12\x0c\n\x04name\x18\x01 \x01(\t" \n\x0bStringCount\x12\x11\n\tstring_id\x18\x01 \x01(\t"E\n\x0cStringOffset\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"E\n\x0cStringLength\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"\x1f\n\x0eIntegerLiteral\x12\r\n\x05value\x18\x01 \x01(\x03"\x1e\n\rDoubleLiteral\x12\r\n\x05value\x18\x01 \x01(\x01"\x1e\n\rStringLiteral\x12\r\n\x05value\x18\x01 \x01(\t"2\n\x0cRegexLiteral\x12\x0f\n\x07pattern\x18\x01 \x01(\t\x12\x11\n\tmodifiers\x18\x02 \x01(\t"\x1f\n\x0e\x42ooleanLiteral\x12\r\n\x05value\x18\x01 \x01(\x08"k\n\x10\x42inaryExpression\x12!\n\x04left\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x10\n\x08operator\x18\x02 \x01(\t\x12"\n\x05right\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression"I\n\x0fUnaryExpression\x12\x10\n\x08operator\x18\x01 \x01(\t\x12$\n\x07operand\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"@\n\x15ParenthesesExpression\x12\'\n\nexpression\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression"6\n\rSetExpression\x12%\n\x08\x65lements\x18\x01 \x03(\x0b\x32\x13.yaraast.Expression"V\n\x0fRangeExpression\x12 \n\x03low\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12!\n\x04high\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"H\n\x0c\x46unctionCall\x12\x10\n\x08\x66unction\x18\x01 \x01(\t\x12&\n\targuments\x18\x02 \x03(\x0b\x32\x13.yaraast.Expression"U\n\x0b\x41rrayAccess\x12"\n\x05\x61rray\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12"\n\x05index\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"C\n\x0cMemberAccess\x12#\n\x06object\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x0e\n\x06member\x18\x02 \x01(\t"\x7f\n\rForExpression\x12\x12\n\nquantifier\x18\x01 \x01(\t\x12\x10\n\x08variable\x18\x02 \x01(\t\x12%\n\x08iterable\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression\x12!\n\x04\x62ody\x18\x04 \x01(\x0b\x32\x13.yaraast.Expression"v\n\x0f\x46orOfExpression\x12\x12\n\nquantifier\x18\x01 \x01(\t\x12\'\n\nstring_set\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression\x12&\n\tcondition\x18\x03 \x01(\x0b\x32\x13.yaraast.Expression"F\n\x0c\x41tExpression\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12#\n\x06offset\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"E\n\x0cInExpression\x12\x11\n\tstring_id\x18\x01 \x01(\t\x12"\n\x05range\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"`\n\x0cOfExpression\x12\'\n\nquantifier\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\'\n\nstring_set\x18\x02 \x01(\x0b\x32\x13.yaraast.Expression"<\n\x11\x44\x65\x66inedExpression\x12\'\n\nexpression\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression"s\n\x18StringOperatorExpression\x12!\n\x04left\x18\x01 \x01(\x0b\x32\x13.yaraast.Expression\x12\x10\n\x08operator\x18\x02 \x01(\t\x12"\n\x05right\x18\x03 \x01(\x0b\x32\x13.yaraast.Expressionb\x06proto3',
)

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, "yara_ast_pb2", _globals)
if not _descriptor._USE_C_DESCRIPTORS:
    DESCRIPTOR._loaded_options = None
    _globals["_RULE_METAENTRY"]._loaded_options = None
    _globals["_RULE_METAENTRY"]._serialized_options = b"8\001"
    _globals["_YARAFILE"]._serialized_start = 28
    _globals["_YARAFILE"]._serialized_end = 175
    _globals["_METADATA"]._serialized_start = 178
    _globals["_METADATA"]._serialized_end = 347
    _globals["_IMPORT"]._serialized_start = 349
    _globals["_IMPORT"]._serialized_end = 388
    _globals["_INCLUDE"]._serialized_start = 390
    _globals["_INCLUDE"]._serialized_end = 413
    _globals["_RULE"]._serialized_start = 416
    _globals["_RULE"]._serialized_end = 671
    _globals["_RULE_METAENTRY"]._serialized_start = 608
    _globals["_RULE_METAENTRY"]._serialized_end = 671
    _globals["_TAG"]._serialized_start = 673
    _globals["_TAG"]._serialized_end = 692
    _globals["_METAVALUE"]._serialized_start = 694
    _globals["_METAVALUE"]._serialized_end = 805
    _globals["_STRINGDEFINITION"]._serialized_start = 808
    _globals["_STRINGDEFINITION"]._serialized_end = 974
    _globals["_PLAINSTRING"]._serialized_start = 976
    _globals["_PLAINSTRING"]._serialized_end = 1048
    _globals["_HEXSTRING"]._serialized_start = 1050
    _globals["_HEXSTRING"]._serialized_end = 1140
    _globals["_REGEXSTRING"]._serialized_start = 1142
    _globals["_REGEXSTRING"]._serialized_end = 1214
    _globals["_STRINGMODIFIER"]._serialized_start = 1216
    _globals["_STRINGMODIFIER"]._serialized_end = 1261
    _globals["_HEXTOKEN"]._serialized_start = 1264
    _globals["_HEXTOKEN"]._serialized_end = 1484
    _globals["_HEXBYTE"]._serialized_start = 1486
    _globals["_HEXBYTE"]._serialized_end = 1510
    _globals["_HEXWILDCARD"]._serialized_start = 1512
    _globals["_HEXWILDCARD"]._serialized_end = 1525
    _globals["_HEXJUMP"]._serialized_start = 1527
    _globals["_HEXJUMP"]._serialized_end = 1572
    _globals["_HEXALTERNATIVE"]._serialized_start = 1574
    _globals["_HEXALTERNATIVE"]._serialized_end = 1635
    _globals["_HEXTOKENLIST"]._serialized_start = 1637
    _globals["_HEXTOKENLIST"]._serialized_end = 1686
    _globals["_HEXNIBBLE"]._serialized_start = 1688
    _globals["_HEXNIBBLE"]._serialized_end = 1728
    _globals["_EXPRESSION"]._serialized_start = 1731
    _globals["_EXPRESSION"]._serialized_end = 3057
    _globals["_IDENTIFIER"]._serialized_start = 3059
    _globals["_IDENTIFIER"]._serialized_end = 3085
    _globals["_STRINGIDENTIFIER"]._serialized_start = 3087
    _globals["_STRINGIDENTIFIER"]._serialized_end = 3119
    _globals["_STRINGCOUNT"]._serialized_start = 3121
    _globals["_STRINGCOUNT"]._serialized_end = 3153
    _globals["_STRINGOFFSET"]._serialized_start = 3155
    _globals["_STRINGOFFSET"]._serialized_end = 3224
    _globals["_STRINGLENGTH"]._serialized_start = 3226
    _globals["_STRINGLENGTH"]._serialized_end = 3295
    _globals["_INTEGERLITERAL"]._serialized_start = 3297
    _globals["_INTEGERLITERAL"]._serialized_end = 3328
    _globals["_DOUBLELITERAL"]._serialized_start = 3330
    _globals["_DOUBLELITERAL"]._serialized_end = 3360
    _globals["_STRINGLITERAL"]._serialized_start = 3362
    _globals["_STRINGLITERAL"]._serialized_end = 3392
    _globals["_REGEXLITERAL"]._serialized_start = 3394
    _globals["_REGEXLITERAL"]._serialized_end = 3444
    _globals["_BOOLEANLITERAL"]._serialized_start = 3446
    _globals["_BOOLEANLITERAL"]._serialized_end = 3477
    _globals["_BINARYEXPRESSION"]._serialized_start = 3479
    _globals["_BINARYEXPRESSION"]._serialized_end = 3586
    _globals["_UNARYEXPRESSION"]._serialized_start = 3588
    _globals["_UNARYEXPRESSION"]._serialized_end = 3661
    _globals["_PARENTHESESEXPRESSION"]._serialized_start = 3663
    _globals["_PARENTHESESEXPRESSION"]._serialized_end = 3727
    _globals["_SETEXPRESSION"]._serialized_start = 3729
    _globals["_SETEXPRESSION"]._serialized_end = 3783
    _globals["_RANGEEXPRESSION"]._serialized_start = 3785
    _globals["_RANGEEXPRESSION"]._serialized_end = 3871
    _globals["_FUNCTIONCALL"]._serialized_start = 3873
    _globals["_FUNCTIONCALL"]._serialized_end = 3945
    _globals["_ARRAYACCESS"]._serialized_start = 3947
    _globals["_ARRAYACCESS"]._serialized_end = 4032
    _globals["_MEMBERACCESS"]._serialized_start = 4034
    _globals["_MEMBERACCESS"]._serialized_end = 4101
    _globals["_FOREXPRESSION"]._serialized_start = 4103
    _globals["_FOREXPRESSION"]._serialized_end = 4230
    _globals["_FOROFEXPRESSION"]._serialized_start = 4232
    _globals["_FOROFEXPRESSION"]._serialized_end = 4350
    _globals["_ATEXPRESSION"]._serialized_start = 4352
    _globals["_ATEXPRESSION"]._serialized_end = 4422
    _globals["_INEXPRESSION"]._serialized_start = 4424
    _globals["_INEXPRESSION"]._serialized_end = 4493
    _globals["_OFEXPRESSION"]._serialized_start = 4495
    _globals["_OFEXPRESSION"]._serialized_end = 4591
    _globals["_DEFINEDEXPRESSION"]._serialized_start = 4593
    _globals["_DEFINEDEXPRESSION"]._serialized_end = 4653
    _globals["_STRINGOPERATOREXPRESSION"]._serialized_start = 4655
    _globals["_STRINGOPERATOREXPRESSION"]._serialized_end = 4770
# @@protoc_insertion_point(module_scope)
