diff --git a/bindings/go/scip/scip.pb.go b/bindings/go/scip/scip.pb.go
index ee0452f7..44ffccff 100644
--- a/bindings/go/scip/scip.pb.go
+++ b/bindings/go/scip/scip.pb.go
@@ -655,6 +655,7 @@ const (
Language_OCaml Language = 41
Language_Objective_C Language = 36
Language_Objective_CPP Language = 37
+ Language_Odin Language = 111 // https://odin-lang.org/
Language_Pascal Language = 99
Language_PHP Language = 19
Language_PLSQL Language = 70
@@ -770,6 +771,7 @@ var (
41: "OCaml",
36: "Objective_C",
37: "Objective_CPP",
+ 111: "Odin",
99: "Pascal",
19: "PHP",
70: "PLSQL",
@@ -882,6 +884,7 @@ var (
"OCaml": 41,
"Objective_C": 36,
"Objective_CPP": 37,
+ "Odin": 111,
"Pascal": 99,
"PHP": 19,
"PLSQL": 70,
@@ -3119,7 +3122,7 @@ const file_scip_proto_rawDesc = "" +
"\x18UnspecifiedDiagnosticTag\x10\x00\x12\x0f\n" +
"\vUnnecessary\x10\x01\x12\x0e\n" +
"\n" +
- "Deprecated\x10\x02*\x9b\n" +
+ "Deprecated\x10\x02*\xa5\n" +
"\n" +
"\bLanguage\x12\x17\n" +
"\x13UnspecifiedLanguage\x10\x00\x12\b\n" +
@@ -3205,7 +3208,8 @@ const file_scip_proto_rawDesc = "" +
"\x03Nix\x10M\x12\t\n" +
"\x05OCaml\x10)\x12\x0f\n" +
"\vObjective_C\x10$\x12\x11\n" +
- "\rObjective_CPP\x10%\x12\n" +
+ "\rObjective_CPP\x10%\x12\b\n" +
+ "\x04Odin\x10o\x12\n" +
"\n" +
"\x06Pascal\x10c\x12\a\n" +
"\x03PHP\x10\x13\x12\t\n" +
diff --git a/bindings/haskell/src/Proto/Scip.hs b/bindings/haskell/src/Proto/Scip.hs
index 8d3f6fff..12e792c5 100644
--- a/bindings/haskell/src/Proto/Scip.hs
+++ b/bindings/haskell/src/Proto/Scip.hs
@@ -1568,6 +1568,7 @@ data Language
Luau |
Justfile |
Nickel |
+ Odin |
Language'Unrecognized !Language'UnrecognizedValue
deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
instance Data.ProtoLens.MessageEnum Language where
@@ -1681,6 +1682,7 @@ instance Data.ProtoLens.MessageEnum Language where
maybeToEnum 108 = Prelude.Just Luau
maybeToEnum 109 = Prelude.Just Justfile
maybeToEnum 110 = Prelude.Just Nickel
+ maybeToEnum 111 = Prelude.Just Odin
maybeToEnum k
= Prelude.Just
(Language'Unrecognized
@@ -1751,6 +1753,7 @@ instance Data.ProtoLens.MessageEnum Language where
showEnum OCaml = "OCaml"
showEnum Objective_C = "Objective_C"
showEnum Objective_CPP = "Objective_CPP"
+ showEnum Odin = "Odin"
showEnum Pascal = "Pascal"
showEnum PHP = "PHP"
showEnum PLSQL = "PLSQL"
@@ -1865,6 +1868,7 @@ instance Data.ProtoLens.MessageEnum Language where
| (Prelude.==) k "OCaml" = Prelude.Just OCaml
| (Prelude.==) k "Objective_C" = Prelude.Just Objective_C
| (Prelude.==) k "Objective_CPP" = Prelude.Just Objective_CPP
+ | (Prelude.==) k "Odin" = Prelude.Just Odin
| (Prelude.==) k "Pascal" = Prelude.Just Pascal
| (Prelude.==) k "PHP" = Prelude.Just PHP
| (Prelude.==) k "PLSQL" = Prelude.Just PLSQL
@@ -1913,7 +1917,7 @@ instance Data.ProtoLens.MessageEnum Language where
= (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
instance Prelude.Bounded Language where
minBound = UnspecifiedLanguage
- maxBound = Nickel
+ maxBound = Odin
instance Prelude.Enum Language where
toEnum k__
= Prelude.maybe
@@ -2031,11 +2035,12 @@ instance Prelude.Enum Language where
fromEnum Luau = 108
fromEnum Justfile = 109
fromEnum Nickel = 110
+ fromEnum Odin = 111
fromEnum (Language'Unrecognized (Language'UnrecognizedValue k))
= Prelude.fromIntegral k
- succ Nickel
+ succ Odin
= Prelude.error
- "Language.succ: bad argument Nickel. This value would be out of bounds."
+ "Language.succ: bad argument Odin. This value would be out of bounds."
succ UnspecifiedLanguage = CSharp
succ CSharp = Swift
succ Swift = Dart
@@ -2145,6 +2150,7 @@ instance Prelude.Enum Language where
succ Slang = Luau
succ Luau = Justfile
succ Justfile = Nickel
+ succ Nickel = Odin
succ (Language'Unrecognized _)
= Prelude.error "Language.succ: bad argument: unrecognized value"
pred UnspecifiedLanguage
@@ -2259,6 +2265,7 @@ instance Prelude.Enum Language where
pred Luau = Slang
pred Justfile = Luau
pred Nickel = Justfile
+ pred Odin = Nickel
pred (Language'Unrecognized _)
= Prelude.error "Language.pred: bad argument: unrecognized value"
enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
@@ -7314,7 +7321,7 @@ packedFileDescriptor
\\CANUnspecifiedDiagnosticTag\DLE\NUL\DC2\SI\n\
\\vUnnecessary\DLE\SOH\DC2\SO\n\
\\n\
- \Deprecated\DLE\STX*\155\n\
+ \Deprecated\DLE\STX*\165\n\
\\n\
\\bLanguage\DC2\ETB\n\
\\DC3UnspecifiedLanguage\DLE\NUL\DC2\b\n\
@@ -7400,7 +7407,8 @@ packedFileDescriptor
\\ETXNix\DLEM\DC2\t\n\
\\ENQOCaml\DLE)\DC2\SI\n\
\\vObjective_C\DLE$\DC2\DC1\n\
- \\rObjective_CPP\DLE%\DC2\n\
+ \\rObjective_CPP\DLE%\DC2\b\n\
+ \\EOTOdin\DLEo\DC2\n\
\\n\
\\ACKPascal\DLEc\DC2\a\n\
\\ETXPHP\DLE\DC3\DC2\t\n\
@@ -7455,9 +7463,9 @@ packedFileDescriptor
\\ETXXSL\DLE \DC2\b\n\
\\EOTYAML\DLEJ\DC2\a\n\
\\ETXZig\DLE&BN\n\
- \\DC2org.scip_code.scipB\tScipProtoP\SOHZ+github.com/scip-code/scip/bindings/go/scip/J\194\213\STX\n\
+ \\DC2org.scip_code.scipB\tScipProtoP\SOHZ+github.com/scip-code/scip/bindings/go/scip/J\135\214\STX\n\
\\a\DC2\ENQ\n\
- \\NUL\192\a\SOH\n\
+ \\NUL\193\a\SOH\n\
\\130\EOT\n\
\\SOH\f\DC2\ETX\n\
\\NUL\DC22\247\ETX An index contains one or more pieces of information about a given piece of\n\
@@ -9715,7 +9723,7 @@ packedFileDescriptor
\\r\n\
\\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\193\ACK\SI\DLE\n\
\\208\ETX\n\
- \\STX\ENQ\a\DC2\ACK\202\ACK\NUL\192\a\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\
+ \\STX\ENQ\a\DC2\ACK\202\ACK\NUL\193\a\SOH\SUB\193\ETX Language standardises names of common programming languages that can be used\n\
\ for the `Document.language` field. The primary purpose of this enum is to\n\
\ prevent a situation where we have a single programming language ends up with\n\
\ multiple string representations. For example, the C++ language uses the name\n\
@@ -10147,94 +10155,94 @@ packedFileDescriptor
\\r\n\
\\ENQ\ENQ\a\STXA\STX\DC2\EOT\140\a\DC2\DC4\n\
\\r\n\
- \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\141\a\STX\b\n\
+ \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\141\a\STX\ACK\n\
+ \%\n\
+ \\EOT\ENQ\a\STXB\DC2\EOT\141\a\STX\r\"\ETB https://odin-lang.org/\n\
+ \\r\n\
+ \\ENQ\ENQ\a\STXB\STX\DC2\EOT\141\a\t\f\n\
+ \\r\n\
+ \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\142\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXB\DC2\EOT\141\a\STX\SO\n\
+ \\EOT\ENQ\a\STXC\DC2\EOT\142\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXB\STX\DC2\EOT\141\a\v\r\n\
+ \\ENQ\ENQ\a\STXC\STX\DC2\EOT\142\a\v\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\142\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\143\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXC\DC2\EOT\142\a\STX\v\n\
+ \\EOT\ENQ\a\STXD\DC2\EOT\143\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXC\STX\DC2\EOT\142\a\b\n\
+ \\ENQ\ENQ\a\STXD\STX\DC2\EOT\143\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\143\a\STX\a\n\
+ \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\144\a\STX\a\n\
\\f\n\
- \\EOT\ENQ\a\STXD\DC2\EOT\143\a\STX\r\n\
+ \\EOT\ENQ\a\STXE\DC2\EOT\144\a\STX\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXD\STX\DC2\EOT\143\a\n\
+ \\ENQ\ENQ\a\STXE\STX\DC2\EOT\144\a\n\
\\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\144\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\145\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXE\DC2\EOT\144\a\STX\f\n\
+ \\EOT\ENQ\a\STXF\DC2\EOT\145\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXE\STX\DC2\EOT\144\a\t\v\n\
+ \\ENQ\ENQ\a\STXF\STX\DC2\EOT\145\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\145\a\STX\f\n\
+ \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\146\a\STX\f\n\
\\f\n\
- \\EOT\ENQ\a\STXF\DC2\EOT\145\a\STX\DC2\n\
+ \\EOT\ENQ\a\STXG\DC2\EOT\146\a\STX\DC2\n\
\\r\n\
- \\ENQ\ENQ\a\STXF\STX\DC2\EOT\145\a\SI\DC1\n\
+ \\ENQ\ENQ\a\STXG\STX\DC2\EOT\146\a\SI\DC1\n\
\\r\n\
- \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\146\a\STX\b\n\
+ \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\147\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXG\DC2\EOT\146\a\STX\SO\n\
+ \\EOT\ENQ\a\STXH\DC2\EOT\147\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXG\STX\DC2\EOT\146\a\v\r\n\
+ \\ENQ\ENQ\a\STXH\STX\DC2\EOT\147\a\v\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\147\a\STX\n\
+ \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\148\a\STX\n\
\\n\
\\f\n\
- \\EOT\ENQ\a\STXH\DC2\EOT\147\a\STX\DC1\n\
+ \\EOT\ENQ\a\STXI\DC2\EOT\148\a\STX\DC1\n\
\\r\n\
- \\ENQ\ENQ\a\STXH\STX\DC2\EOT\147\a\r\DLE\n\
+ \\ENQ\ENQ\a\STXI\STX\DC2\EOT\148\a\r\DLE\n\
\\r\n\
- \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\148\a\STX\b\n\
+ \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\149\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXI\DC2\EOT\148\a\STX\SO\n\
+ \\EOT\ENQ\a\STXJ\DC2\EOT\149\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXI\STX\DC2\EOT\148\a\v\r\n\
+ \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\149\a\v\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\149\a\STX\ETX\n\
+ \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\150\a\STX\ETX\n\
\\f\n\
- \\EOT\ENQ\a\STXJ\DC2\EOT\149\a\STX\t\n\
+ \\EOT\ENQ\a\STXK\DC2\EOT\150\a\STX\t\n\
\\r\n\
- \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\149\a\ACK\b\n\
+ \\ENQ\ENQ\a\STXK\STX\DC2\EOT\150\a\ACK\b\n\
\\r\n\
- \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\150\a\STX\b\n\
+ \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\151\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXK\DC2\EOT\150\a\STX\SO\n\
+ \\EOT\ENQ\a\STXL\DC2\EOT\151\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXK\STX\DC2\EOT\150\a\v\r\n\
+ \\ENQ\ENQ\a\STXL\STX\DC2\EOT\151\a\v\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\151\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\152\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXL\DC2\EOT\151\a\STX\f\n\
+ \\EOT\ENQ\a\STXM\DC2\EOT\152\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXL\STX\DC2\EOT\151\a\t\v\n\
+ \\ENQ\ENQ\a\STXM\STX\DC2\EOT\152\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\152\a\STX\a\n\
+ \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\153\a\STX\a\n\
\\f\n\
- \\EOT\ENQ\a\STXM\DC2\EOT\152\a\STX\r\n\
+ \\EOT\ENQ\a\STXN\DC2\EOT\153\a\STX\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXM\STX\DC2\EOT\152\a\n\
+ \\ENQ\ENQ\a\STXN\STX\DC2\EOT\153\a\n\
\\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\153\a\STX\a\n\
+ \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\154\a\STX\a\n\
\1\n\
- \\EOT\ENQ\a\STXN\DC2\EOT\153\a\STX\SO\"# Internal language for testing SCIP\n\
- \\r\n\
- \\ENQ\ENQ\a\STXN\STX\DC2\EOT\153\a\n\
- \\r\n\
+ \\EOT\ENQ\a\STXO\DC2\EOT\154\a\STX\SO\"# Internal language for testing SCIP\n\
\\r\n\
- \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\154\a\STX\ACK\n\
- \\f\n\
- \\EOT\ENQ\a\STXO\DC2\EOT\154\a\STX\f\n\
+ \\ENQ\ENQ\a\STXO\STX\DC2\EOT\154\a\n\
\\r\n\
- \\ENQ\ENQ\a\STXO\STX\DC2\EOT\154\a\t\v\n\
\\r\n\
\\ENQ\ENQ\a\STXP\SOH\DC2\EOT\155\a\STX\ACK\n\
\\f\n\
@@ -10248,25 +10256,24 @@ packedFileDescriptor
\\r\n\
\\ENQ\ENQ\a\STXQ\STX\DC2\EOT\156\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\157\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\157\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXR\DC2\EOT\157\a\STX\v\n\
+ \\EOT\ENQ\a\STXR\DC2\EOT\157\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXR\STX\DC2\EOT\157\a\b\n\
- \\n\
+ \\ENQ\ENQ\a\STXR\STX\DC2\EOT\157\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\158\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\158\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXS\DC2\EOT\158\a\STX\f\n\
+ \\EOT\ENQ\a\STXS\DC2\EOT\158\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXS\STX\DC2\EOT\158\a\t\v\n\
+ \\ENQ\ENQ\a\STXS\STX\DC2\EOT\158\a\b\n\
+ \\n\
\\r\n\
- \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\159\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\159\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXT\DC2\EOT\159\a\STX\v\n\
+ \\EOT\ENQ\a\STXT\DC2\EOT\159\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXT\STX\DC2\EOT\159\a\b\n\
- \\n\
+ \\ENQ\ENQ\a\STXT\STX\DC2\EOT\159\a\t\v\n\
\\r\n\
\\ENQ\ENQ\a\STXU\SOH\DC2\EOT\160\a\STX\ENQ\n\
\\f\n\
@@ -10275,155 +10282,162 @@ packedFileDescriptor
\\ENQ\ENQ\a\STXU\STX\DC2\EOT\160\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\161\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\161\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXV\DC2\EOT\161\a\STX\f\n\
+ \\EOT\ENQ\a\STXV\DC2\EOT\161\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXV\STX\DC2\EOT\161\a\t\v\n\
+ \\ENQ\ENQ\a\STXV\STX\DC2\EOT\161\a\b\n\
+ \\n\
\\r\n\
- \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\162\a\STX\a\n\
+ \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\162\a\STX\ACK\n\
\\f\n\
\\EOT\ENQ\a\STXW\DC2\EOT\162\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXW\STX\DC2\EOT\162\a\n\
+ \\ENQ\ENQ\a\STXW\STX\DC2\EOT\162\a\t\v\n\
+ \\r\n\
+ \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\163\a\STX\a\n\
+ \\f\n\
+ \\EOT\ENQ\a\STXX\DC2\EOT\163\a\STX\f\n\
+ \\r\n\
+ \\ENQ\ENQ\a\STXX\STX\DC2\EOT\163\a\n\
\\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\163\a\STX\b\n\
+ \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\164\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXX\DC2\EOT\163\a\STX\SO\n\
+ \\EOT\ENQ\a\STXY\DC2\EOT\164\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXX\STX\DC2\EOT\163\a\v\r\n\
+ \\ENQ\ENQ\a\STXY\STX\DC2\EOT\164\a\v\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\164\a\STX\r\n\
+ \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\165\a\STX\r\n\
\\DC3\n\
- \\EOT\ENQ\a\STXY\DC2\EOT\164\a\STX\DC3\"\ENQ Bash\n\
+ \\EOT\ENQ\a\STXZ\DC2\EOT\165\a\STX\DC3\"\ENQ Bash\n\
\\r\n\
- \\ENQ\ENQ\a\STXY\STX\DC2\EOT\164\a\DLE\DC2\n\
+ \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\165\a\DLE\DC2\n\
\\r\n\
- \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\165\a\STX\t\n\
+ \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\166\a\STX\t\n\
\\f\n\
- \\EOT\ENQ\a\STXZ\DC2\EOT\165\a\STX\SI\n\
+ \\EOT\ENQ\a\STX[\DC2\EOT\166\a\STX\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\165\a\f\SO\n\
+ \\ENQ\ENQ\a\STX[\STX\DC2\EOT\166\a\f\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\166\a\STX\a\n\
+ \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\167\a\STX\a\n\
\\f\n\
- \\EOT\ENQ\a\STX[\DC2\EOT\166\a\STX\SO\n\
+ \\EOT\ENQ\a\STX\\\DC2\EOT\167\a\STX\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STX[\STX\DC2\EOT\166\a\n\
+ \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\167\a\n\
\\r\n\
\\r\n\
- \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\167\a\STX\n\
+ \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\168\a\STX\n\
\\n\
\\f\n\
- \\EOT\ENQ\a\STX\\\DC2\EOT\167\a\STX\DLE\n\
+ \\EOT\ENQ\a\STX]\DC2\EOT\168\a\STX\DLE\n\
\\r\n\
- \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\167\a\r\SI\n\
+ \\ENQ\ENQ\a\STX]\STX\DC2\EOT\168\a\r\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\168\a\STX\b\n\
+ \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\169\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STX]\DC2\EOT\168\a\STX\SI\n\
+ \\EOT\ENQ\a\STX^\DC2\EOT\169\a\STX\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STX]\STX\DC2\EOT\168\a\v\SO\n\
+ \\ENQ\ENQ\a\STX^\STX\DC2\EOT\169\a\v\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\169\a\STX\a\n\
+ \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\170\a\STX\a\n\
\\f\n\
- \\EOT\ENQ\a\STX^\DC2\EOT\169\a\STX\f\n\
+ \\EOT\ENQ\a\STX_\DC2\EOT\170\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STX^\STX\DC2\EOT\169\a\n\
+ \\ENQ\ENQ\a\STX_\STX\DC2\EOT\170\a\n\
\\v\n\
\\r\n\
- \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\170\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\171\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STX_\DC2\EOT\170\a\STX\f\n\
+ \\EOT\ENQ\a\STX`\DC2\EOT\171\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STX_\STX\DC2\EOT\170\a\b\v\n\
+ \\ENQ\ENQ\a\STX`\STX\DC2\EOT\171\a\b\v\n\
\\r\n\
- \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\171\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\172\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STX`\DC2\EOT\171\a\STX\f\n\
+ \\EOT\ENQ\a\STXa\DC2\EOT\172\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STX`\STX\DC2\EOT\171\a\t\v\n\
+ \\ENQ\ENQ\a\STXa\STX\DC2\EOT\172\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\172\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\173\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXa\DC2\EOT\172\a\STX\v\n\
+ \\EOT\ENQ\a\STXb\DC2\EOT\173\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXa\STX\DC2\EOT\172\a\b\n\
+ \\ENQ\ENQ\a\STXb\STX\DC2\EOT\173\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\173\a\STX\b\n\
+ \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\174\a\STX\b\n\
\\f\n\
- \\EOT\ENQ\a\STXb\DC2\EOT\173\a\STX\SI\n\
+ \\EOT\ENQ\a\STXc\DC2\EOT\174\a\STX\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STXb\STX\DC2\EOT\173\a\v\SO\n\
+ \\ENQ\ENQ\a\STXc\STX\DC2\EOT\174\a\v\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\174\a\STX\f\n\
+ \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\175\a\STX\f\n\
\\f\n\
- \\EOT\ENQ\a\STXc\DC2\EOT\174\a\STX\DC2\n\
+ \\EOT\ENQ\a\STXd\DC2\EOT\175\a\STX\DC2\n\
\\r\n\
- \\ENQ\ENQ\a\STXc\STX\DC2\EOT\174\a\SI\DC1\n\
+ \\ENQ\ENQ\a\STXd\STX\DC2\EOT\175\a\SI\DC1\n\
\\r\n\
- \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\175\a\STX\DC1\n\
+ \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\176\a\STX\DC1\n\
\\f\n\
- \\EOT\ENQ\a\STXd\DC2\EOT\175\a\STX\ETB\n\
+ \\EOT\ENQ\a\STXe\DC2\EOT\176\a\STX\ETB\n\
\\r\n\
- \\ENQ\ENQ\a\STXd\STX\DC2\EOT\175\a\DC4\SYN\n\
+ \\ENQ\ENQ\a\STXe\STX\DC2\EOT\176\a\DC4\SYN\n\
\\r\n\
- \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\176\a\STX\t\n\
+ \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\177\a\STX\t\n\
\\f\n\
- \\EOT\ENQ\a\STXe\DC2\EOT\176\a\STX\DLE\n\
+ \\EOT\ENQ\a\STXf\DC2\EOT\177\a\STX\DLE\n\
\\r\n\
- \\ENQ\ENQ\a\STXe\STX\DC2\EOT\176\a\f\SI\n\
+ \\ENQ\ENQ\a\STXf\STX\DC2\EOT\177\a\f\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\177\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\178\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXf\DC2\EOT\177\a\STX\r\n\
+ \\EOT\ENQ\a\STXg\DC2\EOT\178\a\STX\r\n\
\\r\n\
- \\ENQ\ENQ\a\STXf\STX\DC2\EOT\177\a\t\f\n\
+ \\ENQ\ENQ\a\STXg\STX\DC2\EOT\178\a\t\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\178\a\STX\r\n\
+ \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\179\a\STX\r\n\
\\f\n\
- \\EOT\ENQ\a\STXg\DC2\EOT\178\a\STX\DC3\n\
+ \\EOT\ENQ\a\STXh\DC2\EOT\179\a\STX\DC3\n\
\\r\n\
- \\ENQ\ENQ\a\STXg\STX\DC2\EOT\178\a\DLE\DC2\n\
+ \\ENQ\ENQ\a\STXh\STX\DC2\EOT\179\a\DLE\DC2\n\
\\r\n\
- \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\179\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\180\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXh\DC2\EOT\179\a\STX\v\n\
+ \\EOT\ENQ\a\STXi\DC2\EOT\180\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXh\STX\DC2\EOT\179\a\b\n\
+ \\ENQ\ENQ\a\STXi\STX\DC2\EOT\180\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\180\a\STX\t\n\
+ \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\181\a\STX\t\n\
\\f\n\
- \\EOT\ENQ\a\STXi\DC2\EOT\180\a\STX\SI\n\
+ \\EOT\ENQ\a\STXj\DC2\EOT\181\a\STX\SI\n\
\\r\n\
- \\ENQ\ENQ\a\STXi\STX\DC2\EOT\180\a\f\SO\n\
+ \\ENQ\ENQ\a\STXj\STX\DC2\EOT\181\a\f\SO\n\
\\r\n\
- \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\181\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\182\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXj\DC2\EOT\181\a\STX\v\n\
+ \\EOT\ENQ\a\STXk\DC2\EOT\182\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXj\STX\DC2\EOT\181\a\b\n\
+ \\ENQ\ENQ\a\STXk\STX\DC2\EOT\182\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\182\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\183\a\STX\ENQ\n\
\\f\n\
- \\EOT\ENQ\a\STXk\DC2\EOT\182\a\STX\v\n\
+ \\EOT\ENQ\a\STXl\DC2\EOT\183\a\STX\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXk\STX\DC2\EOT\182\a\b\n\
+ \\ENQ\ENQ\a\STXl\STX\DC2\EOT\183\a\b\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\183\a\STX\ACK\n\
+ \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\184\a\STX\ACK\n\
\\f\n\
- \\EOT\ENQ\a\STXl\DC2\EOT\183\a\STX\f\n\
+ \\EOT\ENQ\a\STXm\DC2\EOT\184\a\STX\f\n\
\\r\n\
- \\ENQ\ENQ\a\STXl\STX\DC2\EOT\183\a\t\v\n\
+ \\ENQ\ENQ\a\STXm\STX\DC2\EOT\184\a\t\v\n\
\\r\n\
- \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\184\a\STX\ENQ\n\
+ \\ENQ\ENQ\a\STXn\SOH\DC2\EOT\185\a\STX\ENQ\n\
\\147\ETX\n\
- \\EOT\ENQ\a\STXm\DC2\EOT\184\a\STX\v\"\132\ETX NextLanguage = 111;\n\
+ \\EOT\ENQ\a\STXn\DC2\EOT\185\a\STX\v\"\132\ETX NextLanguage = 112;\n\
\ Steps add a new language:\n\
\ 1. Copy-paste the \"NextLanguage = N\" line above\n\
\ 2. Increment \"NextLanguage = N\" to \"NextLanguage = N+1\"\n\
@@ -10432,5 +10446,5 @@ packedFileDescriptor
\ 5. (optional) Add a brief comment behind the language if the name is not self-explanatory\n\
\\n\
\\r\n\
- \\ENQ\ENQ\a\STXm\STX\DC2\EOT\184\a\b\n\
+ \\ENQ\ENQ\a\STXn\STX\DC2\EOT\185\a\b\n\
\b\ACKproto3"
\ No newline at end of file
diff --git a/bindings/java/src/main/java/org/scip_code/scip/Language.java b/bindings/java/src/main/java/org/scip_code/scip/Language.java
index f9734e89..69c616eb 100644
--- a/bindings/java/src/main/java/org/scip_code/scip/Language.java
+++ b/bindings/java/src/main/java/org/scip_code/scip/Language.java
@@ -292,6 +292,14 @@ public enum Language
* Objective_CPP = 37;
*/
Objective_CPP(37),
+ /**
+ *
+ * https://odin-lang.org/ + *+ * + *
Odin = 111;
+ */
+ Odin(111),
/**
* Pascal = 99;
*/
@@ -474,7 +482,7 @@ public enum Language
YAML(74),
/**
*
- * NextLanguage = 111;
+ * NextLanguage = 112;
* Steps add a new language:
* 1. Copy-paste the "NextLanguage = N" line above
* 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
@@ -770,6 +778,14 @@ public enum Language
* Objective_CPP = 37;
*/
public static final int Objective_CPP_VALUE = 37;
+ /**
+ *
+ * https://odin-lang.org/
+ *
+ *
+ * Odin = 111;
+ */
+ public static final int Odin_VALUE = 111;
/**
* Pascal = 99;
*/
@@ -952,7 +968,7 @@ public enum Language
public static final int YAML_VALUE = 74;
/**
*
- * NextLanguage = 111;
+ * NextLanguage = 112;
* Steps add a new language:
* 1. Copy-paste the "NextLanguage = N" line above
* 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
@@ -1056,6 +1072,7 @@ public static Language forNumber(int value) {
case 41: return OCaml;
case 36: return Objective_C;
case 37: return Objective_CPP;
+ case 111: return Odin;
case 99: return Pascal;
case 19: return PHP;
case 70: return PLSQL;
diff --git a/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java b/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java
index 4da1ed80..0770e8a5 100644
--- a/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java
+++ b/bindings/java/src/main/java/org/scip_code/scip/ScipProto.java
@@ -249,7 +249,7 @@ public static void registerAllExtensions(
"nspecifiedSeverity\020\000\022\t\n\005Error\020\001\022\013\n\007Warni" +
"ng\020\002\022\017\n\013Information\020\003\022\010\n\004Hint\020\004*N\n\rDiagn" +
"osticTag\022\034\n\030UnspecifiedDiagnosticTag\020\000\022\017" +
- "\n\013Unnecessary\020\001\022\016\n\nDeprecated\020\002*\233\n\n\010Lang" +
+ "\n\013Unnecessary\020\001\022\016\n\nDeprecated\020\002*\245\n\n\010Lang" +
"uage\022\027\n\023UnspecifiedLanguage\020\000\022\010\n\004ABAP\020<\022" +
"\010\n\004Apex\020`\022\007\n\003APL\0201\022\007\n\003Ada\020\'\022\010\n\004Agda\020-\022\014\n" +
"\010AsciiDoc\020V\022\014\n\010Assembly\020:\022\007\n\003Awk\020B\022\007\n\003Ba" +
@@ -270,21 +270,21 @@ public static void registerAllExtensions(
"\020\014\022\010\n\004Luau\020l\022\014\n\010Makefile\020O\022\014\n\010Markdown\020T" +
"\022\n\n\006Matlab\0204\022\n\n\006Nickel\020n\022\007\n\003Nix\020M\022\t\n\005OCa" +
"ml\020)\022\017\n\013Objective_C\020$\022\021\n\rObjective_CPP\020%" +
- "\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLSQL\020F\022\010\n\004Perl" +
- "\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog\020G\022\014\n\010Protob" +
- "uf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006Racket\020\013\022\010\n\004R" +
- "aku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022\010\n\004ReST\020U\022\010\n" +
- "\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010\n\004SCSS\020\035\022\007\n\003" +
- "SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005Scala\020\005\022\n\n\006S" +
- "cheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007Skylark\020N\022\t\n" +
- "\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Svelte\020j\022\t\n\005Sw" +
- "ift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003TeX\020R\022\n\n\006Thr" +
- "ift\020g\022\016\n\nTypeScript\020\027\022\023\n\017TypeScriptReact" +
- "\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n\013VisualBasic" +
- "\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003XML\020\037\022\007\n\003XSL" +
- "\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&BN\n\022org.scip_code.s" +
- "cipB\tScipProtoP\001Z+github.com/scip-code/s" +
- "cip/bindings/go/scip/b\006proto3"
+ "\022\010\n\004Odin\020o\022\n\n\006Pascal\020c\022\007\n\003PHP\020\023\022\t\n\005PLSQL" +
+ "\020F\022\010\n\004Perl\020\r\022\016\n\nPowerShell\020C\022\n\n\006Prolog\020G" +
+ "\022\014\n\010Protobuf\020d\022\n\n\006Python\020\017\022\005\n\001R\0206\022\n\n\006Rac" +
+ "ket\020\013\022\010\n\004Raku\020\016\022\t\n\005Razor\020>\022\t\n\005Repro\020f\022\010\n" +
+ "\004ReST\020U\022\010\n\004Ruby\020\020\022\010\n\004Rust\020(\022\007\n\003SAS\020=\022\010\n\004" +
+ "SCSS\020\035\022\007\n\003SML\020+\022\007\n\003SQL\020E\022\010\n\004Sass\020\034\022\t\n\005Sc" +
+ "ala\020\005\022\n\n\006Scheme\020\n\022\017\n\013ShellScript\020@\022\013\n\007Sk" +
+ "ylark\020N\022\t\n\005Slang\020k\022\014\n\010Solidity\020_\022\n\n\006Svel" +
+ "te\020j\022\t\n\005Swift\020\002\022\007\n\003Tcl\020e\022\010\n\004TOML\020I\022\007\n\003Te" +
+ "X\020R\022\n\n\006Thrift\020g\022\016\n\nTypeScript\020\027\022\023\n\017TypeS" +
+ "criptReact\020^\022\013\n\007Verilog\020h\022\010\n\004VHDL\020i\022\017\n\013V" +
+ "isualBasic\020?\022\007\n\003Vue\020\031\022\013\n\007Wolfram\0205\022\007\n\003XM" +
+ "L\020\037\022\007\n\003XSL\020 \022\010\n\004YAML\020J\022\007\n\003Zig\020&BN\n\022org.s" +
+ "cip_code.scipB\tScipProtoP\001Z+github.com/s" +
+ "cip-code/scip/bindings/go/scip/b\006proto3"
};
descriptor = com.google.protobuf.Descriptors.FileDescriptor
.internalBuildGeneratedFileFrom(descriptorData,
diff --git a/bindings/rust/src/generated/scip.rs b/bindings/rust/src/generated/scip.rs
index eaffd711..5d9c11fd 100644
--- a/bindings/rust/src/generated/scip.rs
+++ b/bindings/rust/src/generated/scip.rs
@@ -4800,6 +4800,8 @@ pub enum Language {
Objective_C = 36,
// @@protoc_insertion_point(enum_value:scip.Language.Objective_CPP)
Objective_CPP = 37,
+ // @@protoc_insertion_point(enum_value:scip.Language.Odin)
+ Odin = 111,
// @@protoc_insertion_point(enum_value:scip.Language.Pascal)
Pascal = 99,
// @@protoc_insertion_point(enum_value:scip.Language.PHP)
@@ -4965,6 +4967,7 @@ impl ::protobuf::Enum for Language {
41 => ::std::option::Option::Some(Language::OCaml),
36 => ::std::option::Option::Some(Language::Objective_C),
37 => ::std::option::Option::Some(Language::Objective_CPP),
+ 111 => ::std::option::Option::Some(Language::Odin),
99 => ::std::option::Option::Some(Language::Pascal),
19 => ::std::option::Option::Some(Language::PHP),
70 => ::std::option::Option::Some(Language::PLSQL),
@@ -5081,6 +5084,7 @@ impl ::protobuf::Enum for Language {
"OCaml" => ::std::option::Option::Some(Language::OCaml),
"Objective_C" => ::std::option::Option::Some(Language::Objective_C),
"Objective_CPP" => ::std::option::Option::Some(Language::Objective_CPP),
+ "Odin" => ::std::option::Option::Some(Language::Odin),
"Pascal" => ::std::option::Option::Some(Language::Pascal),
"PHP" => ::std::option::Option::Some(Language::PHP),
"PLSQL" => ::std::option::Option::Some(Language::PLSQL),
@@ -5196,6 +5200,7 @@ impl ::protobuf::Enum for Language {
Language::OCaml,
Language::Objective_C,
Language::Objective_CPP,
+ Language::Odin,
Language::Pascal,
Language::PHP,
Language::PLSQL,
@@ -5317,50 +5322,51 @@ impl ::protobuf::EnumFull for Language {
Language::OCaml => 63,
Language::Objective_C => 64,
Language::Objective_CPP => 65,
- Language::Pascal => 66,
- Language::PHP => 67,
- Language::PLSQL => 68,
- Language::Perl => 69,
- Language::PowerShell => 70,
- Language::Prolog => 71,
- Language::Protobuf => 72,
- Language::Python => 73,
- Language::R => 74,
- Language::Racket => 75,
- Language::Raku => 76,
- Language::Razor => 77,
- Language::Repro => 78,
- Language::ReST => 79,
- Language::Ruby => 80,
- Language::Rust => 81,
- Language::SAS => 82,
- Language::SCSS => 83,
- Language::SML => 84,
- Language::SQL => 85,
- Language::Sass => 86,
- Language::Scala => 87,
- Language::Scheme => 88,
- Language::ShellScript => 89,
- Language::Skylark => 90,
- Language::Slang => 91,
- Language::Solidity => 92,
- Language::Svelte => 93,
- Language::Swift => 94,
- Language::Tcl => 95,
- Language::TOML => 96,
- Language::TeX => 97,
- Language::Thrift => 98,
- Language::TypeScript => 99,
- Language::TypeScriptReact => 100,
- Language::Verilog => 101,
- Language::VHDL => 102,
- Language::VisualBasic => 103,
- Language::Vue => 104,
- Language::Wolfram => 105,
- Language::XML => 106,
- Language::XSL => 107,
- Language::YAML => 108,
- Language::Zig => 109,
+ Language::Odin => 66,
+ Language::Pascal => 67,
+ Language::PHP => 68,
+ Language::PLSQL => 69,
+ Language::Perl => 70,
+ Language::PowerShell => 71,
+ Language::Prolog => 72,
+ Language::Protobuf => 73,
+ Language::Python => 74,
+ Language::R => 75,
+ Language::Racket => 76,
+ Language::Raku => 77,
+ Language::Razor => 78,
+ Language::Repro => 79,
+ Language::ReST => 80,
+ Language::Ruby => 81,
+ Language::Rust => 82,
+ Language::SAS => 83,
+ Language::SCSS => 84,
+ Language::SML => 85,
+ Language::SQL => 86,
+ Language::Sass => 87,
+ Language::Scala => 88,
+ Language::Scheme => 89,
+ Language::ShellScript => 90,
+ Language::Skylark => 91,
+ Language::Slang => 92,
+ Language::Solidity => 93,
+ Language::Svelte => 94,
+ Language::Swift => 95,
+ Language::Tcl => 96,
+ Language::TOML => 97,
+ Language::TeX => 98,
+ Language::Thrift => 99,
+ Language::TypeScript => 100,
+ Language::TypeScriptReact => 101,
+ Language::Verilog => 102,
+ Language::VHDL => 103,
+ Language::VisualBasic => 104,
+ Language::Vue => 105,
+ Language::Wolfram => 106,
+ Language::XML => 107,
+ Language::XSL => 108,
+ Language::YAML => 109,
+ Language::Zig => 110,
};
Self::enum_descriptor().value_by_index(index)
}
@@ -5519,7 +5525,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
rror\x10\x01\x12\x0b\n\x07Warning\x10\x02\x12\x0f\n\x0bInformation\x10\
\x03\x12\x08\n\x04Hint\x10\x04*N\n\rDiagnosticTag\x12\x1c\n\x18Unspecifi\
edDiagnosticTag\x10\0\x12\x0f\n\x0bUnnecessary\x10\x01\x12\x0e\n\nDeprec\
- ated\x10\x02*\x9b\n\n\x08Language\x12\x17\n\x13UnspecifiedLanguage\x10\0\
+ ated\x10\x02*\xa5\n\n\x08Language\x12\x17\n\x13UnspecifiedLanguage\x10\0\
\x12\x08\n\x04ABAP\x10<\x12\x08\n\x04Apex\x10`\x12\x07\n\x03APL\x101\x12\
\x07\n\x03Ada\x10'\x12\x08\n\x04Agda\x10-\x12\x0c\n\x08AsciiDoc\x10V\x12\
\x0c\n\x08Assembly\x10:\x12\x07\n\x03Awk\x10B\x12\x07\n\x03Bat\x10D\x12\
@@ -5542,222 +5548,222 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x10\x1b\x12\x07\n\x03Lua\x10\x0c\x12\x08\n\x04Luau\x10l\x12\x0c\n\x08Ma\
kefile\x10O\x12\x0c\n\x08Markdown\x10T\x12\n\n\x06Matlab\x104\x12\n\n\
\x06Nickel\x10n\x12\x07\n\x03Nix\x10M\x12\t\n\x05OCaml\x10)\x12\x0f\n\
- \x0bObjective_C\x10$\x12\x11\n\rObjective_CPP\x10%\x12\n\n\x06Pascal\x10\
- c\x12\x07\n\x03PHP\x10\x13\x12\t\n\x05PLSQL\x10F\x12\x08\n\x04Perl\x10\r\
- \x12\x0e\n\nPowerShell\x10C\x12\n\n\x06Prolog\x10G\x12\x0c\n\x08Protobuf\
- \x10d\x12\n\n\x06Python\x10\x0f\x12\x05\n\x01R\x106\x12\n\n\x06Racket\
- \x10\x0b\x12\x08\n\x04Raku\x10\x0e\x12\t\n\x05Razor\x10>\x12\t\n\x05Repr\
- o\x10f\x12\x08\n\x04ReST\x10U\x12\x08\n\x04Ruby\x10\x10\x12\x08\n\x04Rus\
- t\x10(\x12\x07\n\x03SAS\x10=\x12\x08\n\x04SCSS\x10\x1d\x12\x07\n\x03SML\
- \x10+\x12\x07\n\x03SQL\x10E\x12\x08\n\x04Sass\x10\x1c\x12\t\n\x05Scala\
- \x10\x05\x12\n\n\x06Scheme\x10\n\x12\x0f\n\x0bShellScript\x10@\x12\x0b\n\
- \x07Skylark\x10N\x12\t\n\x05Slang\x10k\x12\x0c\n\x08Solidity\x10_\x12\n\
- \n\x06Svelte\x10j\x12\t\n\x05Swift\x10\x02\x12\x07\n\x03Tcl\x10e\x12\x08\
- \n\x04TOML\x10I\x12\x07\n\x03TeX\x10R\x12\n\n\x06Thrift\x10g\x12\x0e\n\n\
- TypeScript\x10\x17\x12\x13\n\x0fTypeScriptReact\x10^\x12\x0b\n\x07Verilo\
- g\x10h\x12\x08\n\x04VHDL\x10i\x12\x0f\n\x0bVisualBasic\x10?\x12\x07\n\
- \x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\x07\n\x03XML\x10\x1f\x12\
- \x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\x12\x07\n\x03Zig\x10&BN\n\
- \x12org.scip_code.scipB\tScipProtoP\x01Z+github.com/scip-code/scip/bindi\
- ngs/go/scip/J\xc2\xd5\x02\n\x07\x12\x05\n\0\xc0\x07\x01\n\x82\x04\n\x01\
- \x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\x20contains\x20one\x20or\
- \x20more\x20pieces\x20of\x20information\x20about\x20a\x20given\x20piece\
- \x20of\n\x20source\x20code\x20or\x20software\x20artifact.\x20Complementa\
- ry\x20information\x20can\x20be\x20merged\n\x20together\x20from\x20multip\
- le\x20sources\x20to\x20provide\x20a\x20unified\x20code\x20intelligence\n\
- \x20experience.\n\n\x20Programs\x20producing\x20a\x20file\x20of\x20this\
- \x20format\x20is\x20an\x20\"indexer\"\x20and\x20may\x20operate\n\x20some\
- where\x20on\x20the\x20spectrum\x20between\x20precision,\x20such\x20as\
- \x20indexes\x20produced\x20by\n\x20compiler-backed\x20indexers,\x20and\
- \x20heurstics,\x20such\x20as\x20indexes\x20produced\x20by\x20local\n\x20\
- syntax-directed\x20analysis\x20for\x20scope\x20rules.\n\n\x08\n\x01\x02\
- \x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\0B\n\t\n\x02\x08\x0b\x12\
- \x03\x0e\0B\n\x08\n\x01\x08\x12\x03\x0f\0\"\n\t\n\x02\x08\n\x12\x03\x0f\
- \0\"\n\x08\n\x01\x08\x12\x03\x10\0*\n\t\n\x02\x08\x08\x12\x03\x10\0*\n\
- \x08\n\x01\x08\x12\x03\x11\0+\n\t\n\x02\x08\x01\x12\x03\x11\0+\n\xd0\x03\
- \n\x02\x04\0\x12\x04\x19\0&\x01\x1a\xc3\x03\x20Index\x20represents\x20a\
- \x20complete\x20SCIP\x20index\x20for\x20a\x20workspace\x20this\x20is\x20\
- rooted\x20at\x20a\n\x20single\x20directory.\x20An\x20Index\x20message\
- \x20payload\x20can\x20have\x20a\x20large\x20memory\x20footprint\n\x20and\
- \x20it's\x20therefore\x20recommended\x20to\x20emit\x20and\x20consume\x20\
- an\x20Index\x20payload\x20one\x20field\n\x20value\x20at\x20a\x20time.\
- \x20To\x20permit\x20streaming\x20consumption\x20of\x20an\x20Index\x20pay\
- load,\x20the\n\x20`metadata`\x20field\x20must\x20appear\x20at\x20the\x20\
- start\x20of\x20the\x20stream\x20and\x20must\x20only\x20appear\n\x20once\
- \x20in\x20the\x20stream.\x20Other\x20field\x20values\x20may\x20appear\
- \x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\x19\x08\r\n\x0c\n\
- \x05\x04\0\x02\0\x06\x12\x03\x1b\x02\n\n)\n\x04\x04\0\x02\0\x12\x03\x1b\
- \x02\x18\x1a\x1c\x20Metadata\x20about\x20this\x20index.\n\n\x0c\n\x05\
- \x04\0\x02\0\x01\x12\x03\x1b\x0b\x13\n\x0c\n\x05\x04\0\x02\0\x03\x12\x03\
- \x1b\x16\x17\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1d\x02\n\n3\n\x04\
- \x04\0\x02\x01\x12\x03\x1d\x02\"\x1a&\x20Documents\x20that\x20belong\x20\
- to\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\x03\x1d\x0b\x13\
- \n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1d\x14\x1d\n\x0c\n\x05\x04\0\x02\
- \x01\x03\x12\x03\x1d\x20!\n\x0c\n\x05\x04\0\x02\x02\x04\x12\x03#\x02\n\n\
- \xf6\x03\n\x04\x04\0\x02\x02\x12\x03#\x022\x1a\xe9\x02\x20(optional)\x20\
- Symbols\x20that\x20are\x20referenced\x20from\x20this\x20index\x20but\x20\
- are\x20defined\x20in\n\x20an\x20external\x20package\x20(a\x20separate\
- \x20`Index`\x20message).\x20Leave\x20this\x20field\x20empty\n\x20if\x20y\
- ou\x20assume\x20the\x20external\x20package\x20will\x20get\x20indexed\x20\
- separately.\x20If\x20the\n\x20external\x20package\x20won't\x20get\x20ind\
- exed\x20for\x20some\x20reason\x20then\x20you\x20can\x20use\x20this\n\x20\
- field\x20to\x20provide\x20hover\x20documentation\x20for\x20those\x20exte\
- rnal\x20symbols.\n\"}\x20IMPORTANT:\x20When\x20adding\x20a\x20new\x20fie\
- ld\x20to\x20`Index`\x20here,\x20add\x20a\x20matching\n\x20function\x20in\
- \x20`IndexVisitor`\x20and\x20update\x20`ParseStreaming`.\n\n\x0c\n\x05\
- \x04\0\x02\x02\x06\x12\x03#\x0b\x1c\n\x0c\n\x05\x04\0\x02\x02\x01\x12\
- \x03#\x1d-\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03#01\n\n\n\x02\x04\x01\
- \x12\x04(\05\x01\n\n\n\x03\x04\x01\x01\x12\x03(\x08\x10\n\x0c\n\x05\x04\
- \x01\x02\0\x06\x12\x03*\x02\x11\nN\n\x04\x04\x01\x02\0\x12\x03*\x02\x1e\
- \x1aA\x20Which\x20version\x20of\x20this\x20protocol\x20was\x20used\x20to\
- \x20generate\x20this\x20index?\n\n\x0c\n\x05\x04\x01\x02\0\x01\x12\x03*\
- \x12\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03*\x1c\x1d\n\x0c\n\x05\x04\
- \x01\x02\x01\x06\x12\x03,\x02\n\nC\n\x04\x04\x01\x02\x01\x12\x03,\x02\
- \x19\x1a6\x20Information\x20about\x20the\x20tool\x20that\x20produced\x20\
- this\x20index.\n\n\x0c\n\x05\x04\x01\x02\x01\x01\x12\x03,\x0b\x14\n\x0c\
- \n\x05\x04\x01\x02\x01\x03\x12\x03,\x17\x18\n\x0c\n\x05\x04\x01\x02\x02\
- \x05\x12\x030\x02\x08\n\xa2\x01\n\x04\x04\x01\x02\x02\x12\x030\x02\x1a\
- \x1a\x94\x01\x20URI-encoded\x20absolute\x20path\x20to\x20the\x20root\x20\
- directory\x20of\x20this\x20index.\x20All\n\x20documents\x20in\x20this\
- \x20index\x20must\x20appear\x20in\x20a\x20subdirectory\x20of\x20this\x20\
- root\n\x20directory.\n\n\x0c\n\x05\x04\x01\x02\x02\x01\x12\x030\t\x15\n\
- \x0c\n\x05\x04\x01\x02\x02\x03\x12\x030\x18\x19\n\x0c\n\x05\x04\x01\x02\
- \x03\x06\x12\x034\x02\x0e\n\xe0\x01\n\x04\x04\x01\x02\x03\x12\x034\x02*\
- \x1a\xd2\x01\x20Text\x20encoding\x20of\x20the\x20source\x20files\x20on\
- \x20disk\x20that\x20are\x20referenced\x20from\n\x20`Document.relative_pa\
- th`.\x20This\x20value\x20is\x20unrelated\x20to\x20the\x20`Document.text`\
- \n\x20field,\x20which\x20is\x20a\x20Protobuf\x20string\x20and\x20hence\
- \x20must\x20be\x20UTF-8\x20encoded.\n\n\x0c\n\x05\x04\x01\x02\x03\x01\
- \x12\x034\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x034()\n\n\n\x02\x05\
- \0\x12\x047\09\x01\n\n\n\x03\x05\0\x01\x12\x037\x05\x14\n\x0c\n\x05\x05\
- \0\x02\0\x01\x12\x038\x02\x1c\n\x0b\n\x04\x05\0\x02\0\x12\x038\x02!\n\
- \x0c\n\x05\x05\0\x02\0\x02\x12\x038\x1f\x20\n\n\n\x02\x05\x01\x12\x04;\0\
- ?\x01\n\n\n\x03\x05\x01\x01\x12\x03;\x05\x11\n\x0c\n\x05\x05\x01\x02\0\
- \x01\x12\x03<\x02\x19\n\x0b\n\x04\x05\x01\x02\0\x12\x03<\x02\x1e\n\x0c\n\
- \x05\x05\x01\x02\0\x02\x12\x03<\x1c\x1d\n\x0c\n\x05\x05\x01\x02\x01\x01\
- \x12\x03=\x02\x06\n\x0b\n\x04\x05\x01\x02\x01\x12\x03=\x02\x0b\n\x0c\n\
- \x05\x05\x01\x02\x01\x02\x12\x03=\t\n\n\x0c\n\x05\x05\x01\x02\x02\x01\
- \x12\x03>\x02\x07\n\x0b\n\x04\x05\x01\x02\x02\x12\x03>\x02\x0c\n\x0c\n\
- \x05\x05\x01\x02\x02\x02\x12\x03>\n\x0b\n\n\n\x02\x04\x02\x12\x04A\0H\
- \x01\n\n\n\x03\x04\x02\x01\x12\x03A\x08\x10\n\x0c\n\x05\x04\x02\x02\0\
- \x05\x12\x03C\x02\x08\n<\n\x04\x04\x02\x02\0\x12\x03C\x02\x12\x1a/\x20Na\
- me\x20of\x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\n\x0c\
- \n\x05\x04\x02\x02\0\x01\x12\x03C\t\r\n\x0c\n\x05\x04\x02\x02\0\x03\x12\
- \x03C\x10\x11\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03E\x02\x08\n?\n\x04\
- \x04\x02\x02\x01\x12\x03E\x02\x15\x1a2\x20Version\x20of\x20the\x20indexe\
- r\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x02\x02\x01\
- \x01\x12\x03E\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\x03E\x13\x14\n\
- \x0c\n\x05\x04\x02\x02\x02\x04\x12\x03G\x02\n\nL\n\x04\x04\x02\x02\x02\
- \x12\x03G\x02\x20\x1a?\x20Command-line\x20arguments\x20that\x20were\x20u\
- sed\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\n\x05\x04\x02\x02\x02\
- \x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\x12\x03G\x12\x1b\n\
- \x0c\n\x05\x04\x02\x02\x02\x03\x12\x03G\x1e\x1f\nH\n\x02\x04\x03\x12\x04\
- K\0v\x01\x1a<\x20Document\x20defines\x20the\x20metadata\x20about\x20a\
- \x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\x03\x01\x12\x03K\x08\
- \x10\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03P\x02\x08\n\xa5\x02\n\x04\x04\
- \x03\x02\0\x12\x03P\x02\x16\x1a\x97\x02\x20The\x20string\x20ID\x20for\
- \x20the\x20programming\x20language\x20this\x20file\x20is\x20written\x20i\
- n.\n\x20The\x20`Language`\x20enum\x20contains\x20the\x20names\x20of\x20m\
- ost\x20common\x20programming\x20languages.\n\x20This\x20field\x20is\x20t\
- yped\x20as\x20a\x20string\x20to\x20permit\x20any\x20programming\x20langu\
- age,\x20including\n\x20ones\x20that\x20are\x20not\x20specified\x20by\x20\
- the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\x02\0\x01\x12\x03P\t\
- \x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03P\x14\x15\n\x0c\n\x05\x04\x03\
- \x02\x01\x05\x12\x03Z\x02\x08\n\xb5\x03\n\x04\x04\x03\x02\x01\x12\x03Z\
- \x02\x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\x20to\x20the\x20tex\
- t\x20document.\n\n\x201.\x20The\x20path\x20must\x20be\x20relative\x20to\
- \x20the\x20directory\x20supplied\x20in\x20the\x20associated\n\x20\x20\
- \x20\x20`Metadata.project_root`.\n\x202.\x20The\x20path\x20must\x20not\
- \x20begin\x20with\x20a\x20leading\x20'/'.\n\x203.\x20The\x20path\x20must\
- \x20point\x20to\x20a\x20regular\x20file,\x20not\x20a\x20symbolic\x20link\
- .\n\x204.\x20The\x20path\x20must\x20use\x20'/'\x20as\x20the\x20separator\
- ,\x20including\x20on\x20Windows.\n\x205.\x20The\x20path\x20must\x20be\
- \x20canonical;\x20it\x20cannot\x20include\x20empty\x20components\x20('//\
- '),\n\x20\x20\x20\x20or\x20'.'\x20or\x20'..'.\n\n\x0c\n\x05\x04\x03\x02\
- \x01\x01\x12\x03Z\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03Z\x19\x1a\
- \n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x03\\\x02\n\n4\n\x04\x04\x03\x02\
- \x02\x12\x03\\\x02&\x1a'\x20Occurrences\x20that\x20appear\x20in\x20this\
- \x20file.\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03\\\x0b\x15\n\x0c\n\
- \x05\x04\x03\x02\x02\x01\x12\x03\\\x16!\n\x0c\n\x05\x04\x03\x02\x02\x03\
- \x12\x03\\$%\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x03b\x02\n\n\xea\x01\n\
- \x04\x04\x03\x02\x03\x12\x03b\x02)\x1a\xdc\x01\x20Symbols\x20that\x20are\
- \x20\"defined\"\x20within\x20this\x20document.\n\n\x20This\x20should\x20\
- include\x20symbols\x20which\x20technically\x20do\x20not\x20have\x20any\
- \x20definition,\n\x20but\x20have\x20a\x20reference\x20and\x20are\x20defi\
- ned\x20by\x20some\x20other\x20symbol\x20(see\n\x20Relationship.is_defini\
- tion).\n\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03b\x0b\x1c\n\x0c\n\x05\
- \x04\x03\x02\x03\x01\x12\x03b\x1d$\n\x0c\n\x05\x04\x03\x02\x03\x03\x12\
- \x03b'(\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03i\x02\x08\n\x80\x03\n\x04\
- \x04\x03\x02\x04\x12\x03i\x02\x12\x1a\xf2\x02\x20(optional)\x20Text\x20c\
- ontents\x20of\x20this\x20document.\x20Indexers\x20are\x20not\x20expected\
- \x20to\n\x20include\x20the\x20text\x20by\x20default.\x20It's\x20preferab\
- le\x20that\x20clients\x20read\x20the\x20text\n\x20contents\x20from\x20th\
- e\x20file\x20system\x20by\x20resolving\x20the\x20absolute\x20path\x20fro\
- m\x20joining\n\x20`Index.metadata.project_root`\x20and\x20`Document.rela\
- tive_path`.\x20This\x20field\n\x20can\x20be\x20useful\x20for\x20testing\
- \x20or\x20when\x20working\x20with\x20virtual/in-memory\x20documents.\n\n\
- \x0c\n\x05\x04\x03\x02\x04\x01\x12\x03i\t\r\n\x0c\n\x05\x04\x03\x02\x04\
- \x03\x12\x03i\x10\x11\n\x0c\n\x05\x04\x03\x02\x05\x06\x12\x03u\x02\x12\n\
- \xe7\x03\n\x04\x04\x03\x02\x05\x12\x03u\x02)\x1a\xd9\x03\x20Specifies\
- \x20the\x20encoding\x20used\x20for\x20source\x20ranges\x20in\x20this\x20\
- Document.\n\n\x20Usually,\x20this\x20will\x20match\x20the\x20type\x20use\
- d\x20to\x20index\x20the\x20string\x20type\n\x20in\x20the\x20indexer's\
- \x20implementation\x20language\x20in\x20O(1)\x20time.\n\x20-\x20For\x20a\
- n\x20indexer\x20implemented\x20in\x20JVM/.NET\x20language\x20or\x20JavaS\
- cript/TypeScript,\n\x20\x20\x20use\x20UTF16CodeUnitOffsetFromLineStart.\
- \n\x20-\x20For\x20an\x20indexer\x20implemented\x20in\x20Python,\n\x20\
- \x20\x20use\x20UTF32CodeUnitOffsetFromLineStart.\n\x20-\x20For\x20an\x20\
- indexer\x20implemented\x20in\x20Go,\x20Rust\x20or\x20C++,\n\x20\x20\x20u\
- se\x20UTF8ByteOffsetFromLineStart.\n\n\x0c\n\x05\x04\x03\x02\x05\x01\x12\
- \x03u\x13$\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03u'(\nQ\n\x02\x05\x02\
- \x12\x05y\0\x91\x01\x01\x1aD\x20Encoding\x20used\x20to\x20interpret\x20t\
- he\x20'character'\x20value\x20in\x20source\x20ranges.\n\n\n\n\x03\x05\
- \x02\x01\x12\x03y\x05\x15\n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03|\x02\x1d\
- \n\x93\x01\n\x04\x05\x02\x02\0\x12\x03|\x02\"\x1a\x85\x01\x20Default\x20\
- value.\x20This\x20value\x20should\x20not\x20be\x20used\x20by\x20new\x20S\
- CIP\x20indexers\n\x20so\x20that\x20a\x20consumer\x20can\x20process\x20th\
- e\x20SCIP\x20index\x20without\x20ambiguity.\n\n\x0c\n\x05\x05\x02\x02\0\
- \x02\x12\x03|\x20!\n\r\n\x05\x05\x02\x02\x01\x01\x12\x04\x83\x01\x02!\n\
- \xf7\x01\n\x04\x05\x02\x02\x01\x12\x04\x83\x01\x02&\x1a\xe8\x01\x20The\
- \x20'character'\x20value\x20is\x20interpreted\x20as\x20an\x20offset\x20i\
- n\x20terms\n\x20of\x20UTF-8\x20code\x20units\x20(i.e.\x20bytes).\n\n\x20\
- Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\"\x20in\
- \x20UTF-8,\x20the\x20bytes\x20are\n\x20[240,\x20159,\x20154,\x20128,\x20\
- 32,\x2087,\x20111,\x20111],\x20so\x20the\x20offset\x20for\x20'W'\n\x20wo\
- uld\x20be\x205.\n\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\x83\x01$%\n\r\n\
- \x05\x05\x02\x02\x02\x01\x12\x04\x8a\x01\x02\"\n\x82\x02\n\x04\x05\x02\
- \x02\x02\x12\x04\x8a\x01\x02'\x1a\xf3\x01\x20The\x20'character'\x20value\
- \x20is\x20interpreted\x20as\x20an\x20offset\x20in\x20terms\n\x20of\x20UT\
- F-16\x20code\x20units\x20(each\x20is\x202\x20bytes).\n\n\x20Example:\x20\
- For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20the\x20UTF-16\
- \x20code\x20units\x20are\n\x20['\\ud83d',\x20'\\ude80',\x20'\x20',\x20'W\
- ',\x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\n\x20would\x20b\
- e\x203.\n\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\x8a\x01%&\n\r\n\x05\x05\
- \x02\x02\x03\x01\x12\x04\x90\x01\x02\"\n\xf5\x01\n\x04\x05\x02\x02\x03\
- \x12\x04\x90\x01\x02'\x1a\xe6\x01\x20The\x20'character'\x20value\x20is\
- \x20interpreted\x20as\x20an\x20offset\x20in\x20terms\n\x20of\x20UTF-32\
- \x20code\x20units\x20(each\x20is\x204\x20bytes).\n\n\x20Example:\x20For\
- \x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20the\x20UTF-32\x20co\
- de\x20units\x20are\n\x20['\xf0\x9f\x9a\x80',\x20'\x20',\x20'W',\x20'o',\
- \x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\x20would\x20be\x202.\n\n\
- \r\n\x05\x05\x02\x02\x03\x02\x12\x04\x90\x01%&\n\xcc\x12\n\x02\x04\x04\
- \x12\x06\xbd\x01\0\xc1\x01\x01\x1a\xbd\x12\x20Symbol\x20is\x20similar\
- \x20to\x20a\x20URI,\x20it\x20identifies\x20a\x20class,\x20method,\x20or\
- \x20a\x20local\n\x20variable.\x20`SymbolInformation`\x20contains\x20rich\
- \x20metadata\x20about\x20symbols\x20such\x20as\n\x20the\x20docstring.\n\
- \n\x20Symbol\x20has\x20a\x20standardized\x20string\x20representation,\
- \x20which\x20can\x20be\x20used\n\x20interchangeably\x20with\x20`Symbol`.\
- \x20The\x20syntax\x20for\x20Symbol\x20is\x20the\x20following:\n\x20```\n\
- \x20#\x20()+\x20stands\x20for\x20one\x20or\x20more\x20repetitions\x20\
- of\x20\n\x20#\x20()?\x20stands\x20for\x20zero\x20or\x20one\x20occu\
- rrence\x20of\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\
- \x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\x20'\x20'\
- \x20()+\x20|\x20'local\x20'\x20\n\x20\x20\
- \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20\
- '\x20'\x20\x20'\x20'\x20\n\x20\x20\x20\
- \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UTF-8,\
- \x20escape\x20spaces\x20with\x20double\x20space.\x20Must\x20not\x20be\
- \x20empty\x20nor\x20start\x20with\x20'local'\n\x20\x20\x20\x20\
+ \x0bObjective_C\x10$\x12\x11\n\rObjective_CPP\x10%\x12\x08\n\x04Odin\x10\
+ o\x12\n\n\x06Pascal\x10c\x12\x07\n\x03PHP\x10\x13\x12\t\n\x05PLSQL\x10F\
+ \x12\x08\n\x04Perl\x10\r\x12\x0e\n\nPowerShell\x10C\x12\n\n\x06Prolog\
+ \x10G\x12\x0c\n\x08Protobuf\x10d\x12\n\n\x06Python\x10\x0f\x12\x05\n\x01\
+ R\x106\x12\n\n\x06Racket\x10\x0b\x12\x08\n\x04Raku\x10\x0e\x12\t\n\x05Ra\
+ zor\x10>\x12\t\n\x05Repro\x10f\x12\x08\n\x04ReST\x10U\x12\x08\n\x04Ruby\
+ \x10\x10\x12\x08\n\x04Rust\x10(\x12\x07\n\x03SAS\x10=\x12\x08\n\x04SCSS\
+ \x10\x1d\x12\x07\n\x03SML\x10+\x12\x07\n\x03SQL\x10E\x12\x08\n\x04Sass\
+ \x10\x1c\x12\t\n\x05Scala\x10\x05\x12\n\n\x06Scheme\x10\n\x12\x0f\n\x0bS\
+ hellScript\x10@\x12\x0b\n\x07Skylark\x10N\x12\t\n\x05Slang\x10k\x12\x0c\
+ \n\x08Solidity\x10_\x12\n\n\x06Svelte\x10j\x12\t\n\x05Swift\x10\x02\x12\
+ \x07\n\x03Tcl\x10e\x12\x08\n\x04TOML\x10I\x12\x07\n\x03TeX\x10R\x12\n\n\
+ \x06Thrift\x10g\x12\x0e\n\nTypeScript\x10\x17\x12\x13\n\x0fTypeScriptRea\
+ ct\x10^\x12\x0b\n\x07Verilog\x10h\x12\x08\n\x04VHDL\x10i\x12\x0f\n\x0bVi\
+ sualBasic\x10?\x12\x07\n\x03Vue\x10\x19\x12\x0b\n\x07Wolfram\x105\x12\
+ \x07\n\x03XML\x10\x1f\x12\x07\n\x03XSL\x10\x20\x12\x08\n\x04YAML\x10J\
+ \x12\x07\n\x03Zig\x10&BN\n\x12org.scip_code.scipB\tScipProtoP\x01Z+githu\
+ b.com/scip-code/scip/bindings/go/scip/J\x87\xd6\x02\n\x07\x12\x05\n\0\
+ \xc1\x07\x01\n\x82\x04\n\x01\x0c\x12\x03\n\0\x122\xf7\x03\x20An\x20index\
+ \x20contains\x20one\x20or\x20more\x20pieces\x20of\x20information\x20abou\
+ t\x20a\x20given\x20piece\x20of\n\x20source\x20code\x20or\x20software\x20\
+ artifact.\x20Complementary\x20information\x20can\x20be\x20merged\n\x20to\
+ gether\x20from\x20multiple\x20sources\x20to\x20provide\x20a\x20unified\
+ \x20code\x20intelligence\n\x20experience.\n\n\x20Programs\x20producing\
+ \x20a\x20file\x20of\x20this\x20format\x20is\x20an\x20\"indexer\"\x20and\
+ \x20may\x20operate\n\x20somewhere\x20on\x20the\x20spectrum\x20between\
+ \x20precision,\x20such\x20as\x20indexes\x20produced\x20by\n\x20compiler-\
+ backed\x20indexers,\x20and\x20heurstics,\x20such\x20as\x20indexes\x20pro\
+ duced\x20by\x20local\n\x20syntax-directed\x20analysis\x20for\x20scope\
+ \x20rules.\n\n\x08\n\x01\x02\x12\x03\x0c\0\r\n\x08\n\x01\x08\x12\x03\x0e\
+ \0B\n\t\n\x02\x08\x0b\x12\x03\x0e\0B\n\x08\n\x01\x08\x12\x03\x0f\0\"\n\t\
+ \n\x02\x08\n\x12\x03\x0f\0\"\n\x08\n\x01\x08\x12\x03\x10\0*\n\t\n\x02\
+ \x08\x08\x12\x03\x10\0*\n\x08\n\x01\x08\x12\x03\x11\0+\n\t\n\x02\x08\x01\
+ \x12\x03\x11\0+\n\xd0\x03\n\x02\x04\0\x12\x04\x19\0&\x01\x1a\xc3\x03\x20\
+ Index\x20represents\x20a\x20complete\x20SCIP\x20index\x20for\x20a\x20wor\
+ kspace\x20this\x20is\x20rooted\x20at\x20a\n\x20single\x20directory.\x20A\
+ n\x20Index\x20message\x20payload\x20can\x20have\x20a\x20large\x20memory\
+ \x20footprint\n\x20and\x20it's\x20therefore\x20recommended\x20to\x20emit\
+ \x20and\x20consume\x20an\x20Index\x20payload\x20one\x20field\n\x20value\
+ \x20at\x20a\x20time.\x20To\x20permit\x20streaming\x20consumption\x20of\
+ \x20an\x20Index\x20payload,\x20the\n\x20`metadata`\x20field\x20must\x20a\
+ ppear\x20at\x20the\x20start\x20of\x20the\x20stream\x20and\x20must\x20onl\
+ y\x20appear\n\x20once\x20in\x20the\x20stream.\x20Other\x20field\x20value\
+ s\x20may\x20appear\x20in\x20any\x20order.\n\n\n\n\x03\x04\0\x01\x12\x03\
+ \x19\x08\r\n\x0c\n\x05\x04\0\x02\0\x06\x12\x03\x1b\x02\n\n)\n\x04\x04\0\
+ \x02\0\x12\x03\x1b\x02\x18\x1a\x1c\x20Metadata\x20about\x20this\x20index\
+ .\n\n\x0c\n\x05\x04\0\x02\0\x01\x12\x03\x1b\x0b\x13\n\x0c\n\x05\x04\0\
+ \x02\0\x03\x12\x03\x1b\x16\x17\n\x0c\n\x05\x04\0\x02\x01\x04\x12\x03\x1d\
+ \x02\n\n3\n\x04\x04\0\x02\x01\x12\x03\x1d\x02\"\x1a&\x20Documents\x20tha\
+ t\x20belong\x20to\x20this\x20index.\n\n\x0c\n\x05\x04\0\x02\x01\x06\x12\
+ \x03\x1d\x0b\x13\n\x0c\n\x05\x04\0\x02\x01\x01\x12\x03\x1d\x14\x1d\n\x0c\
+ \n\x05\x04\0\x02\x01\x03\x12\x03\x1d\x20!\n\x0c\n\x05\x04\0\x02\x02\x04\
+ \x12\x03#\x02\n\n\xf6\x03\n\x04\x04\0\x02\x02\x12\x03#\x022\x1a\xe9\x02\
+ \x20(optional)\x20Symbols\x20that\x20are\x20referenced\x20from\x20this\
+ \x20index\x20but\x20are\x20defined\x20in\n\x20an\x20external\x20package\
+ \x20(a\x20separate\x20`Index`\x20message).\x20Leave\x20this\x20field\x20\
+ empty\n\x20if\x20you\x20assume\x20the\x20external\x20package\x20will\x20\
+ get\x20indexed\x20separately.\x20If\x20the\n\x20external\x20package\x20w\
+ on't\x20get\x20indexed\x20for\x20some\x20reason\x20then\x20you\x20can\
+ \x20use\x20this\n\x20field\x20to\x20provide\x20hover\x20documentation\
+ \x20for\x20those\x20external\x20symbols.\n\"}\x20IMPORTANT:\x20When\x20a\
+ dding\x20a\x20new\x20field\x20to\x20`Index`\x20here,\x20add\x20a\x20matc\
+ hing\n\x20function\x20in\x20`IndexVisitor`\x20and\x20update\x20`ParseStr\
+ eaming`.\n\n\x0c\n\x05\x04\0\x02\x02\x06\x12\x03#\x0b\x1c\n\x0c\n\x05\
+ \x04\0\x02\x02\x01\x12\x03#\x1d-\n\x0c\n\x05\x04\0\x02\x02\x03\x12\x03#0\
+ 1\n\n\n\x02\x04\x01\x12\x04(\05\x01\n\n\n\x03\x04\x01\x01\x12\x03(\x08\
+ \x10\n\x0c\n\x05\x04\x01\x02\0\x06\x12\x03*\x02\x11\nN\n\x04\x04\x01\x02\
+ \0\x12\x03*\x02\x1e\x1aA\x20Which\x20version\x20of\x20this\x20protocol\
+ \x20was\x20used\x20to\x20generate\x20this\x20index?\n\n\x0c\n\x05\x04\
+ \x01\x02\0\x01\x12\x03*\x12\x19\n\x0c\n\x05\x04\x01\x02\0\x03\x12\x03*\
+ \x1c\x1d\n\x0c\n\x05\x04\x01\x02\x01\x06\x12\x03,\x02\n\nC\n\x04\x04\x01\
+ \x02\x01\x12\x03,\x02\x19\x1a6\x20Information\x20about\x20the\x20tool\
+ \x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\x04\x01\x02\x01\x01\
+ \x12\x03,\x0b\x14\n\x0c\n\x05\x04\x01\x02\x01\x03\x12\x03,\x17\x18\n\x0c\
+ \n\x05\x04\x01\x02\x02\x05\x12\x030\x02\x08\n\xa2\x01\n\x04\x04\x01\x02\
+ \x02\x12\x030\x02\x1a\x1a\x94\x01\x20URI-encoded\x20absolute\x20path\x20\
+ to\x20the\x20root\x20directory\x20of\x20this\x20index.\x20All\n\x20docum\
+ ents\x20in\x20this\x20index\x20must\x20appear\x20in\x20a\x20subdirectory\
+ \x20of\x20this\x20root\n\x20directory.\n\n\x0c\n\x05\x04\x01\x02\x02\x01\
+ \x12\x030\t\x15\n\x0c\n\x05\x04\x01\x02\x02\x03\x12\x030\x18\x19\n\x0c\n\
+ \x05\x04\x01\x02\x03\x06\x12\x034\x02\x0e\n\xe0\x01\n\x04\x04\x01\x02\
+ \x03\x12\x034\x02*\x1a\xd2\x01\x20Text\x20encoding\x20of\x20the\x20sourc\
+ e\x20files\x20on\x20disk\x20that\x20are\x20referenced\x20from\n\x20`Docu\
+ ment.relative_path`.\x20This\x20value\x20is\x20unrelated\x20to\x20the\
+ \x20`Document.text`\n\x20field,\x20which\x20is\x20a\x20Protobuf\x20strin\
+ g\x20and\x20hence\x20must\x20be\x20UTF-8\x20encoded.\n\n\x0c\n\x05\x04\
+ \x01\x02\x03\x01\x12\x034\x0f%\n\x0c\n\x05\x04\x01\x02\x03\x03\x12\x034(\
+ )\n\n\n\x02\x05\0\x12\x047\09\x01\n\n\n\x03\x05\0\x01\x12\x037\x05\x14\n\
+ \x0c\n\x05\x05\0\x02\0\x01\x12\x038\x02\x1c\n\x0b\n\x04\x05\0\x02\0\x12\
+ \x038\x02!\n\x0c\n\x05\x05\0\x02\0\x02\x12\x038\x1f\x20\n\n\n\x02\x05\
+ \x01\x12\x04;\0?\x01\n\n\n\x03\x05\x01\x01\x12\x03;\x05\x11\n\x0c\n\x05\
+ \x05\x01\x02\0\x01\x12\x03<\x02\x19\n\x0b\n\x04\x05\x01\x02\0\x12\x03<\
+ \x02\x1e\n\x0c\n\x05\x05\x01\x02\0\x02\x12\x03<\x1c\x1d\n\x0c\n\x05\x05\
+ \x01\x02\x01\x01\x12\x03=\x02\x06\n\x0b\n\x04\x05\x01\x02\x01\x12\x03=\
+ \x02\x0b\n\x0c\n\x05\x05\x01\x02\x01\x02\x12\x03=\t\n\n\x0c\n\x05\x05\
+ \x01\x02\x02\x01\x12\x03>\x02\x07\n\x0b\n\x04\x05\x01\x02\x02\x12\x03>\
+ \x02\x0c\n\x0c\n\x05\x05\x01\x02\x02\x02\x12\x03>\n\x0b\n\n\n\x02\x04\
+ \x02\x12\x04A\0H\x01\n\n\n\x03\x04\x02\x01\x12\x03A\x08\x10\n\x0c\n\x05\
+ \x04\x02\x02\0\x05\x12\x03C\x02\x08\n<\n\x04\x04\x02\x02\0\x12\x03C\x02\
+ \x12\x1a/\x20Name\x20of\x20the\x20indexer\x20that\x20produced\x20this\
+ \x20index.\n\n\x0c\n\x05\x04\x02\x02\0\x01\x12\x03C\t\r\n\x0c\n\x05\x04\
+ \x02\x02\0\x03\x12\x03C\x10\x11\n\x0c\n\x05\x04\x02\x02\x01\x05\x12\x03E\
+ \x02\x08\n?\n\x04\x04\x02\x02\x01\x12\x03E\x02\x15\x1a2\x20Version\x20of\
+ \x20the\x20indexer\x20that\x20produced\x20this\x20index.\n\n\x0c\n\x05\
+ \x04\x02\x02\x01\x01\x12\x03E\t\x10\n\x0c\n\x05\x04\x02\x02\x01\x03\x12\
+ \x03E\x13\x14\n\x0c\n\x05\x04\x02\x02\x02\x04\x12\x03G\x02\n\nL\n\x04\
+ \x04\x02\x02\x02\x12\x03G\x02\x20\x1a?\x20Command-line\x20arguments\x20t\
+ hat\x20were\x20used\x20to\x20invoke\x20this\x20indexer.\n\n\x0c\n\x05\
+ \x04\x02\x02\x02\x05\x12\x03G\x0b\x11\n\x0c\n\x05\x04\x02\x02\x02\x01\
+ \x12\x03G\x12\x1b\n\x0c\n\x05\x04\x02\x02\x02\x03\x12\x03G\x1e\x1f\nH\n\
+ \x02\x04\x03\x12\x04K\0v\x01\x1a<\x20Document\x20defines\x20the\x20metad\
+ ata\x20about\x20a\x20source\x20file\x20on\x20disk.\n\n\n\n\x03\x04\x03\
+ \x01\x12\x03K\x08\x10\n\x0c\n\x05\x04\x03\x02\0\x05\x12\x03P\x02\x08\n\
+ \xa5\x02\n\x04\x04\x03\x02\0\x12\x03P\x02\x16\x1a\x97\x02\x20The\x20stri\
+ ng\x20ID\x20for\x20the\x20programming\x20language\x20this\x20file\x20is\
+ \x20written\x20in.\n\x20The\x20`Language`\x20enum\x20contains\x20the\x20\
+ names\x20of\x20most\x20common\x20programming\x20languages.\n\x20This\x20\
+ field\x20is\x20typed\x20as\x20a\x20string\x20to\x20permit\x20any\x20prog\
+ ramming\x20language,\x20including\n\x20ones\x20that\x20are\x20not\x20spe\
+ cified\x20by\x20the\x20`Language`\x20enum.\n\n\x0c\n\x05\x04\x03\x02\0\
+ \x01\x12\x03P\t\x11\n\x0c\n\x05\x04\x03\x02\0\x03\x12\x03P\x14\x15\n\x0c\
+ \n\x05\x04\x03\x02\x01\x05\x12\x03Z\x02\x08\n\xb5\x03\n\x04\x04\x03\x02\
+ \x01\x12\x03Z\x02\x1b\x1a\xa7\x03\x20(Required)\x20Unique\x20path\x20to\
+ \x20the\x20text\x20document.\n\n\x201.\x20The\x20path\x20must\x20be\x20r\
+ elative\x20to\x20the\x20directory\x20supplied\x20in\x20the\x20associated\
+ \n\x20\x20\x20\x20`Metadata.project_root`.\n\x202.\x20The\x20path\x20mus\
+ t\x20not\x20begin\x20with\x20a\x20leading\x20'/'.\n\x203.\x20The\x20path\
+ \x20must\x20point\x20to\x20a\x20regular\x20file,\x20not\x20a\x20symbolic\
+ \x20link.\n\x204.\x20The\x20path\x20must\x20use\x20'/'\x20as\x20the\x20s\
+ eparator,\x20including\x20on\x20Windows.\n\x205.\x20The\x20path\x20must\
+ \x20be\x20canonical;\x20it\x20cannot\x20include\x20empty\x20components\
+ \x20('//'),\n\x20\x20\x20\x20or\x20'.'\x20or\x20'..'.\n\n\x0c\n\x05\x04\
+ \x03\x02\x01\x01\x12\x03Z\t\x16\n\x0c\n\x05\x04\x03\x02\x01\x03\x12\x03Z\
+ \x19\x1a\n\x0c\n\x05\x04\x03\x02\x02\x04\x12\x03\\\x02\n\n4\n\x04\x04\
+ \x03\x02\x02\x12\x03\\\x02&\x1a'\x20Occurrences\x20that\x20appear\x20in\
+ \x20this\x20file.\n\n\x0c\n\x05\x04\x03\x02\x02\x06\x12\x03\\\x0b\x15\n\
+ \x0c\n\x05\x04\x03\x02\x02\x01\x12\x03\\\x16!\n\x0c\n\x05\x04\x03\x02\
+ \x02\x03\x12\x03\\$%\n\x0c\n\x05\x04\x03\x02\x03\x04\x12\x03b\x02\n\n\
+ \xea\x01\n\x04\x04\x03\x02\x03\x12\x03b\x02)\x1a\xdc\x01\x20Symbols\x20t\
+ hat\x20are\x20\"defined\"\x20within\x20this\x20document.\n\n\x20This\x20\
+ should\x20include\x20symbols\x20which\x20technically\x20do\x20not\x20hav\
+ e\x20any\x20definition,\n\x20but\x20have\x20a\x20reference\x20and\x20are\
+ \x20defined\x20by\x20some\x20other\x20symbol\x20(see\n\x20Relationship.i\
+ s_definition).\n\n\x0c\n\x05\x04\x03\x02\x03\x06\x12\x03b\x0b\x1c\n\x0c\
+ \n\x05\x04\x03\x02\x03\x01\x12\x03b\x1d$\n\x0c\n\x05\x04\x03\x02\x03\x03\
+ \x12\x03b'(\n\x0c\n\x05\x04\x03\x02\x04\x05\x12\x03i\x02\x08\n\x80\x03\n\
+ \x04\x04\x03\x02\x04\x12\x03i\x02\x12\x1a\xf2\x02\x20(optional)\x20Text\
+ \x20contents\x20of\x20this\x20document.\x20Indexers\x20are\x20not\x20exp\
+ ected\x20to\n\x20include\x20the\x20text\x20by\x20default.\x20It's\x20pre\
+ ferable\x20that\x20clients\x20read\x20the\x20text\n\x20contents\x20from\
+ \x20the\x20file\x20system\x20by\x20resolving\x20the\x20absolute\x20path\
+ \x20from\x20joining\n\x20`Index.metadata.project_root`\x20and\x20`Docume\
+ nt.relative_path`.\x20This\x20field\n\x20can\x20be\x20useful\x20for\x20t\
+ esting\x20or\x20when\x20working\x20with\x20virtual/in-memory\x20document\
+ s.\n\n\x0c\n\x05\x04\x03\x02\x04\x01\x12\x03i\t\r\n\x0c\n\x05\x04\x03\
+ \x02\x04\x03\x12\x03i\x10\x11\n\x0c\n\x05\x04\x03\x02\x05\x06\x12\x03u\
+ \x02\x12\n\xe7\x03\n\x04\x04\x03\x02\x05\x12\x03u\x02)\x1a\xd9\x03\x20Sp\
+ ecifies\x20the\x20encoding\x20used\x20for\x20source\x20ranges\x20in\x20t\
+ his\x20Document.\n\n\x20Usually,\x20this\x20will\x20match\x20the\x20type\
+ \x20used\x20to\x20index\x20the\x20string\x20type\n\x20in\x20the\x20index\
+ er's\x20implementation\x20language\x20in\x20O(1)\x20time.\n\x20-\x20For\
+ \x20an\x20indexer\x20implemented\x20in\x20JVM/.NET\x20language\x20or\x20\
+ JavaScript/TypeScript,\n\x20\x20\x20use\x20UTF16CodeUnitOffsetFromLineSt\
+ art.\n\x20-\x20For\x20an\x20indexer\x20implemented\x20in\x20Python,\n\
+ \x20\x20\x20use\x20UTF32CodeUnitOffsetFromLineStart.\n\x20-\x20For\x20an\
+ \x20indexer\x20implemented\x20in\x20Go,\x20Rust\x20or\x20C++,\n\x20\x20\
+ \x20use\x20UTF8ByteOffsetFromLineStart.\n\n\x0c\n\x05\x04\x03\x02\x05\
+ \x01\x12\x03u\x13$\n\x0c\n\x05\x04\x03\x02\x05\x03\x12\x03u'(\nQ\n\x02\
+ \x05\x02\x12\x05y\0\x91\x01\x01\x1aD\x20Encoding\x20used\x20to\x20interp\
+ ret\x20the\x20'character'\x20value\x20in\x20source\x20ranges.\n\n\n\n\
+ \x03\x05\x02\x01\x12\x03y\x05\x15\n\x0c\n\x05\x05\x02\x02\0\x01\x12\x03|\
+ \x02\x1d\n\x93\x01\n\x04\x05\x02\x02\0\x12\x03|\x02\"\x1a\x85\x01\x20Def\
+ ault\x20value.\x20This\x20value\x20should\x20not\x20be\x20used\x20by\x20\
+ new\x20SCIP\x20indexers\n\x20so\x20that\x20a\x20consumer\x20can\x20proce\
+ ss\x20the\x20SCIP\x20index\x20without\x20ambiguity.\n\n\x0c\n\x05\x05\
+ \x02\x02\0\x02\x12\x03|\x20!\n\r\n\x05\x05\x02\x02\x01\x01\x12\x04\x83\
+ \x01\x02!\n\xf7\x01\n\x04\x05\x02\x02\x01\x12\x04\x83\x01\x02&\x1a\xe8\
+ \x01\x20The\x20'character'\x20value\x20is\x20interpreted\x20as\x20an\x20\
+ offset\x20in\x20terms\n\x20of\x20UTF-8\x20code\x20units\x20(i.e.\x20byte\
+ s).\n\n\x20Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\
+ \"\x20in\x20UTF-8,\x20the\x20bytes\x20are\n\x20[240,\x20159,\x20154,\x20\
+ 128,\x2032,\x2087,\x20111,\x20111],\x20so\x20the\x20offset\x20for\x20'W'\
+ \n\x20would\x20be\x205.\n\n\r\n\x05\x05\x02\x02\x01\x02\x12\x04\x83\x01$\
+ %\n\r\n\x05\x05\x02\x02\x02\x01\x12\x04\x8a\x01\x02\"\n\x82\x02\n\x04\
+ \x05\x02\x02\x02\x12\x04\x8a\x01\x02'\x1a\xf3\x01\x20The\x20'character'\
+ \x20value\x20is\x20interpreted\x20as\x20an\x20offset\x20in\x20terms\n\
+ \x20of\x20UTF-16\x20code\x20units\x20(each\x20is\x202\x20bytes).\n\n\x20\
+ Example:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20the\
+ \x20UTF-16\x20code\x20units\x20are\n\x20['\\ud83d',\x20'\\ude80',\x20'\
+ \x20',\x20'W',\x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\n\
+ \x20would\x20be\x203.\n\n\r\n\x05\x05\x02\x02\x02\x02\x12\x04\x8a\x01%&\
+ \n\r\n\x05\x05\x02\x02\x03\x01\x12\x04\x90\x01\x02\"\n\xf5\x01\n\x04\x05\
+ \x02\x02\x03\x12\x04\x90\x01\x02'\x1a\xe6\x01\x20The\x20'character'\x20v\
+ alue\x20is\x20interpreted\x20as\x20an\x20offset\x20in\x20terms\n\x20of\
+ \x20UTF-32\x20code\x20units\x20(each\x20is\x204\x20bytes).\n\n\x20Exampl\
+ e:\x20For\x20the\x20string\x20\"\xf0\x9f\x9a\x80\x20Woo\",\x20the\x20UTF\
+ -32\x20code\x20units\x20are\n\x20['\xf0\x9f\x9a\x80',\x20'\x20',\x20'W',\
+ \x20'o',\x20'o'],\x20so\x20the\x20offset\x20for\x20'W'\x20would\x20be\
+ \x202.\n\n\r\n\x05\x05\x02\x02\x03\x02\x12\x04\x90\x01%&\n\xcc\x12\n\x02\
+ \x04\x04\x12\x06\xbd\x01\0\xc1\x01\x01\x1a\xbd\x12\x20Symbol\x20is\x20si\
+ milar\x20to\x20a\x20URI,\x20it\x20identifies\x20a\x20class,\x20method,\
+ \x20or\x20a\x20local\n\x20variable.\x20`SymbolInformation`\x20contains\
+ \x20rich\x20metadata\x20about\x20symbols\x20such\x20as\n\x20the\x20docst\
+ ring.\n\n\x20Symbol\x20has\x20a\x20standardized\x20string\x20representat\
+ ion,\x20which\x20can\x20be\x20used\n\x20interchangeably\x20with\x20`Symb\
+ ol`.\x20The\x20syntax\x20for\x20Symbol\x20is\x20the\x20following:\n\x20`\
+ ``\n\x20#\x20()+\x20stands\x20for\x20one\x20or\x20more\x20repetitions\
+ \x20of\x20\n\x20#\x20()?\x20stands\x20for\x20zero\x20or\x20one\x20\
+ occurrence\x20of\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\
+ \x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\x20'\
+ \x20'\x20()+\x20|\x20'local\x20'\x20\n\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20\x20'\x20'\x20\x20'\x20'\x20\n\x20\x20\
+ \x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UT\
+ F-8,\x20escape\x20spaces\x20with\x20double\x20space.\x20Must\x20not\x20b\
+ e\x20empty\x20nor\x20start\x20with\x20'local'\n\x20\x20\x20\x20\
\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20::=\x20any\x20UTF-8,\x20esca\
pe\x20spaces\x20with\x20double\x20space.\x20Use\x20the\x20placeholder\
\x20'.'\x20to\x20indicate\x20an\x20empty\x20value\n\x20\
@@ -6732,7 +6738,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x02\x12\x04\xc0\x06\x10\x11\n\r\n\x05\x05\x06\x02\x02\x01\x12\x04\xc1\
\x06\x02\x0c\n\x0c\n\x04\x05\x06\x02\x02\x12\x04\xc1\x06\x02\x11\n\r\n\
\x05\x05\x06\x02\x02\x02\x12\x04\xc1\x06\x0f\x10\n\xd0\x03\n\x02\x05\x07\
- \x12\x06\xca\x06\0\xc0\x07\x01\x1a\xc1\x03\x20Language\x20standardises\
+ \x12\x06\xca\x06\0\xc1\x07\x01\x1a\xc1\x03\x20Language\x20standardises\
\x20names\x20of\x20common\x20programming\x20languages\x20that\x20can\x20\
be\x20used\n\x20for\x20the\x20`Document.language`\x20field.\x20The\x20pr\
imary\x20purpose\x20of\x20this\x20enum\x20is\x20to\n\x20prevent\x20a\x20\
@@ -6887,109 +6893,111 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\n\r\n\x05\x05\x07\x02@\x02\x12\x04\x8b\x07\x10\x12\n\r\n\x05\x05\x07\
\x02A\x01\x12\x04\x8c\x07\x02\x0f\n\x0c\n\x04\x05\x07\x02A\x12\x04\x8c\
\x07\x02\x15\n\r\n\x05\x05\x07\x02A\x02\x12\x04\x8c\x07\x12\x14\n\r\n\
- \x05\x05\x07\x02B\x01\x12\x04\x8d\x07\x02\x08\n\x0c\n\x04\x05\x07\x02B\
- \x12\x04\x8d\x07\x02\x0e\n\r\n\x05\x05\x07\x02B\x02\x12\x04\x8d\x07\x0b\
- \r\n\r\n\x05\x05\x07\x02C\x01\x12\x04\x8e\x07\x02\x05\n\x0c\n\x04\x05\
- \x07\x02C\x12\x04\x8e\x07\x02\x0b\n\r\n\x05\x05\x07\x02C\x02\x12\x04\x8e\
- \x07\x08\n\n\r\n\x05\x05\x07\x02D\x01\x12\x04\x8f\x07\x02\x07\n\x0c\n\
- \x04\x05\x07\x02D\x12\x04\x8f\x07\x02\r\n\r\n\x05\x05\x07\x02D\x02\x12\
- \x04\x8f\x07\n\x0c\n\r\n\x05\x05\x07\x02E\x01\x12\x04\x90\x07\x02\x06\n\
- \x0c\n\x04\x05\x07\x02E\x12\x04\x90\x07\x02\x0c\n\r\n\x05\x05\x07\x02E\
- \x02\x12\x04\x90\x07\t\x0b\n\r\n\x05\x05\x07\x02F\x01\x12\x04\x91\x07\
- \x02\x0c\n\x0c\n\x04\x05\x07\x02F\x12\x04\x91\x07\x02\x12\n\r\n\x05\x05\
- \x07\x02F\x02\x12\x04\x91\x07\x0f\x11\n\r\n\x05\x05\x07\x02G\x01\x12\x04\
- \x92\x07\x02\x08\n\x0c\n\x04\x05\x07\x02G\x12\x04\x92\x07\x02\x0e\n\r\n\
- \x05\x05\x07\x02G\x02\x12\x04\x92\x07\x0b\r\n\r\n\x05\x05\x07\x02H\x01\
- \x12\x04\x93\x07\x02\n\n\x0c\n\x04\x05\x07\x02H\x12\x04\x93\x07\x02\x11\
- \n\r\n\x05\x05\x07\x02H\x02\x12\x04\x93\x07\r\x10\n\r\n\x05\x05\x07\x02I\
- \x01\x12\x04\x94\x07\x02\x08\n\x0c\n\x04\x05\x07\x02I\x12\x04\x94\x07\
- \x02\x0e\n\r\n\x05\x05\x07\x02I\x02\x12\x04\x94\x07\x0b\r\n\r\n\x05\x05\
- \x07\x02J\x01\x12\x04\x95\x07\x02\x03\n\x0c\n\x04\x05\x07\x02J\x12\x04\
- \x95\x07\x02\t\n\r\n\x05\x05\x07\x02J\x02\x12\x04\x95\x07\x06\x08\n\r\n\
- \x05\x05\x07\x02K\x01\x12\x04\x96\x07\x02\x08\n\x0c\n\x04\x05\x07\x02K\
- \x12\x04\x96\x07\x02\x0e\n\r\n\x05\x05\x07\x02K\x02\x12\x04\x96\x07\x0b\
- \r\n\r\n\x05\x05\x07\x02L\x01\x12\x04\x97\x07\x02\x06\n\x0c\n\x04\x05\
- \x07\x02L\x12\x04\x97\x07\x02\x0c\n\r\n\x05\x05\x07\x02L\x02\x12\x04\x97\
- \x07\t\x0b\n\r\n\x05\x05\x07\x02M\x01\x12\x04\x98\x07\x02\x07\n\x0c\n\
- \x04\x05\x07\x02M\x12\x04\x98\x07\x02\r\n\r\n\x05\x05\x07\x02M\x02\x12\
- \x04\x98\x07\n\x0c\n\r\n\x05\x05\x07\x02N\x01\x12\x04\x99\x07\x02\x07\n1\
- \n\x04\x05\x07\x02N\x12\x04\x99\x07\x02\x0e\"#\x20Internal\x20language\
- \x20for\x20testing\x20SCIP\n\r\n\x05\x05\x07\x02N\x02\x12\x04\x99\x07\n\
- \r\n\r\n\x05\x05\x07\x02O\x01\x12\x04\x9a\x07\x02\x06\n\x0c\n\x04\x05\
- \x07\x02O\x12\x04\x9a\x07\x02\x0c\n\r\n\x05\x05\x07\x02O\x02\x12\x04\x9a\
- \x07\t\x0b\n\r\n\x05\x05\x07\x02P\x01\x12\x04\x9b\x07\x02\x06\n\x0c\n\
- \x04\x05\x07\x02P\x12\x04\x9b\x07\x02\x0c\n\r\n\x05\x05\x07\x02P\x02\x12\
- \x04\x9b\x07\t\x0b\n\r\n\x05\x05\x07\x02Q\x01\x12\x04\x9c\x07\x02\x06\n\
- \x0c\n\x04\x05\x07\x02Q\x12\x04\x9c\x07\x02\x0c\n\r\n\x05\x05\x07\x02Q\
- \x02\x12\x04\x9c\x07\t\x0b\n\r\n\x05\x05\x07\x02R\x01\x12\x04\x9d\x07\
- \x02\x05\n\x0c\n\x04\x05\x07\x02R\x12\x04\x9d\x07\x02\x0b\n\r\n\x05\x05\
- \x07\x02R\x02\x12\x04\x9d\x07\x08\n\n\r\n\x05\x05\x07\x02S\x01\x12\x04\
- \x9e\x07\x02\x06\n\x0c\n\x04\x05\x07\x02S\x12\x04\x9e\x07\x02\x0c\n\r\n\
- \x05\x05\x07\x02S\x02\x12\x04\x9e\x07\t\x0b\n\r\n\x05\x05\x07\x02T\x01\
- \x12\x04\x9f\x07\x02\x05\n\x0c\n\x04\x05\x07\x02T\x12\x04\x9f\x07\x02\
- \x0b\n\r\n\x05\x05\x07\x02T\x02\x12\x04\x9f\x07\x08\n\n\r\n\x05\x05\x07\
- \x02U\x01\x12\x04\xa0\x07\x02\x05\n\x0c\n\x04\x05\x07\x02U\x12\x04\xa0\
- \x07\x02\x0b\n\r\n\x05\x05\x07\x02U\x02\x12\x04\xa0\x07\x08\n\n\r\n\x05\
- \x05\x07\x02V\x01\x12\x04\xa1\x07\x02\x06\n\x0c\n\x04\x05\x07\x02V\x12\
- \x04\xa1\x07\x02\x0c\n\r\n\x05\x05\x07\x02V\x02\x12\x04\xa1\x07\t\x0b\n\
- \r\n\x05\x05\x07\x02W\x01\x12\x04\xa2\x07\x02\x07\n\x0c\n\x04\x05\x07\
- \x02W\x12\x04\xa2\x07\x02\x0c\n\r\n\x05\x05\x07\x02W\x02\x12\x04\xa2\x07\
- \n\x0b\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xa3\x07\x02\x08\n\x0c\n\x04\
- \x05\x07\x02X\x12\x04\xa3\x07\x02\x0e\n\r\n\x05\x05\x07\x02X\x02\x12\x04\
- \xa3\x07\x0b\r\n\r\n\x05\x05\x07\x02Y\x01\x12\x04\xa4\x07\x02\r\n\x13\n\
- \x04\x05\x07\x02Y\x12\x04\xa4\x07\x02\x13\"\x05\x20Bash\n\r\n\x05\x05\
- \x07\x02Y\x02\x12\x04\xa4\x07\x10\x12\n\r\n\x05\x05\x07\x02Z\x01\x12\x04\
- \xa5\x07\x02\t\n\x0c\n\x04\x05\x07\x02Z\x12\x04\xa5\x07\x02\x0f\n\r\n\
- \x05\x05\x07\x02Z\x02\x12\x04\xa5\x07\x0c\x0e\n\r\n\x05\x05\x07\x02[\x01\
- \x12\x04\xa6\x07\x02\x07\n\x0c\n\x04\x05\x07\x02[\x12\x04\xa6\x07\x02\
- \x0e\n\r\n\x05\x05\x07\x02[\x02\x12\x04\xa6\x07\n\r\n\r\n\x05\x05\x07\
- \x02\\\x01\x12\x04\xa7\x07\x02\n\n\x0c\n\x04\x05\x07\x02\\\x12\x04\xa7\
- \x07\x02\x10\n\r\n\x05\x05\x07\x02\\\x02\x12\x04\xa7\x07\r\x0f\n\r\n\x05\
- \x05\x07\x02]\x01\x12\x04\xa8\x07\x02\x08\n\x0c\n\x04\x05\x07\x02]\x12\
- \x04\xa8\x07\x02\x0f\n\r\n\x05\x05\x07\x02]\x02\x12\x04\xa8\x07\x0b\x0e\
- \n\r\n\x05\x05\x07\x02^\x01\x12\x04\xa9\x07\x02\x07\n\x0c\n\x04\x05\x07\
- \x02^\x12\x04\xa9\x07\x02\x0c\n\r\n\x05\x05\x07\x02^\x02\x12\x04\xa9\x07\
- \n\x0b\n\r\n\x05\x05\x07\x02_\x01\x12\x04\xaa\x07\x02\x05\n\x0c\n\x04\
- \x05\x07\x02_\x12\x04\xaa\x07\x02\x0c\n\r\n\x05\x05\x07\x02_\x02\x12\x04\
- \xaa\x07\x08\x0b\n\r\n\x05\x05\x07\x02`\x01\x12\x04\xab\x07\x02\x06\n\
- \x0c\n\x04\x05\x07\x02`\x12\x04\xab\x07\x02\x0c\n\r\n\x05\x05\x07\x02`\
- \x02\x12\x04\xab\x07\t\x0b\n\r\n\x05\x05\x07\x02a\x01\x12\x04\xac\x07\
- \x02\x05\n\x0c\n\x04\x05\x07\x02a\x12\x04\xac\x07\x02\x0b\n\r\n\x05\x05\
- \x07\x02a\x02\x12\x04\xac\x07\x08\n\n\r\n\x05\x05\x07\x02b\x01\x12\x04\
- \xad\x07\x02\x08\n\x0c\n\x04\x05\x07\x02b\x12\x04\xad\x07\x02\x0f\n\r\n\
- \x05\x05\x07\x02b\x02\x12\x04\xad\x07\x0b\x0e\n\r\n\x05\x05\x07\x02c\x01\
- \x12\x04\xae\x07\x02\x0c\n\x0c\n\x04\x05\x07\x02c\x12\x04\xae\x07\x02\
- \x12\n\r\n\x05\x05\x07\x02c\x02\x12\x04\xae\x07\x0f\x11\n\r\n\x05\x05\
- \x07\x02d\x01\x12\x04\xaf\x07\x02\x11\n\x0c\n\x04\x05\x07\x02d\x12\x04\
- \xaf\x07\x02\x17\n\r\n\x05\x05\x07\x02d\x02\x12\x04\xaf\x07\x14\x16\n\r\
- \n\x05\x05\x07\x02e\x01\x12\x04\xb0\x07\x02\t\n\x0c\n\x04\x05\x07\x02e\
- \x12\x04\xb0\x07\x02\x10\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xb0\x07\x0c\
- \x0f\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xb1\x07\x02\x06\n\x0c\n\x04\x05\
- \x07\x02f\x12\x04\xb1\x07\x02\r\n\r\n\x05\x05\x07\x02f\x02\x12\x04\xb1\
- \x07\t\x0c\n\r\n\x05\x05\x07\x02g\x01\x12\x04\xb2\x07\x02\r\n\x0c\n\x04\
- \x05\x07\x02g\x12\x04\xb2\x07\x02\x13\n\r\n\x05\x05\x07\x02g\x02\x12\x04\
- \xb2\x07\x10\x12\n\r\n\x05\x05\x07\x02h\x01\x12\x04\xb3\x07\x02\x05\n\
- \x0c\n\x04\x05\x07\x02h\x12\x04\xb3\x07\x02\x0b\n\r\n\x05\x05\x07\x02h\
- \x02\x12\x04\xb3\x07\x08\n\n\r\n\x05\x05\x07\x02i\x01\x12\x04\xb4\x07\
- \x02\t\n\x0c\n\x04\x05\x07\x02i\x12\x04\xb4\x07\x02\x0f\n\r\n\x05\x05\
- \x07\x02i\x02\x12\x04\xb4\x07\x0c\x0e\n\r\n\x05\x05\x07\x02j\x01\x12\x04\
- \xb5\x07\x02\x05\n\x0c\n\x04\x05\x07\x02j\x12\x04\xb5\x07\x02\x0b\n\r\n\
- \x05\x05\x07\x02j\x02\x12\x04\xb5\x07\x08\n\n\r\n\x05\x05\x07\x02k\x01\
- \x12\x04\xb6\x07\x02\x05\n\x0c\n\x04\x05\x07\x02k\x12\x04\xb6\x07\x02\
- \x0b\n\r\n\x05\x05\x07\x02k\x02\x12\x04\xb6\x07\x08\n\n\r\n\x05\x05\x07\
- \x02l\x01\x12\x04\xb7\x07\x02\x06\n\x0c\n\x04\x05\x07\x02l\x12\x04\xb7\
- \x07\x02\x0c\n\r\n\x05\x05\x07\x02l\x02\x12\x04\xb7\x07\t\x0b\n\r\n\x05\
- \x05\x07\x02m\x01\x12\x04\xb8\x07\x02\x05\n\x93\x03\n\x04\x05\x07\x02m\
- \x12\x04\xb8\x07\x02\x0b\"\x84\x03\x20NextLanguage\x20=\x20111;\n\x20Ste\
- ps\x20add\x20a\x20new\x20language:\n\x201.\x20Copy-paste\x20the\x20\"Nex\
- tLanguage\x20=\x20N\"\x20line\x20above\n\x202.\x20Increment\x20\"NextLan\
- guage\x20=\x20N\"\x20to\x20\"NextLanguage\x20=\x20N+1\"\n\x203.\x20Repla\
- ce\x20\"NextLanguage\x20=\x20N\"\x20with\x20the\x20name\x20of\x20the\x20\
- new\x20language.\n\x204.\x20Move\x20the\x20new\x20language\x20to\x20the\
- \x20correct\x20line\x20above\x20using\x20alphabetical\x20order\n\x205.\
- \x20(optional)\x20Add\x20a\x20brief\x20comment\x20behind\x20the\x20langu\
- age\x20if\x20the\x20name\x20is\x20not\x20self-explanatory\n\n\r\n\x05\
- \x05\x07\x02m\x02\x12\x04\xb8\x07\x08\nb\x06proto3\
+ \x05\x05\x07\x02B\x01\x12\x04\x8d\x07\x02\x06\n%\n\x04\x05\x07\x02B\x12\
+ \x04\x8d\x07\x02\r\"\x17\x20https://odin-lang.org/\n\r\n\x05\x05\x07\x02\
+ B\x02\x12\x04\x8d\x07\t\x0c\n\r\n\x05\x05\x07\x02C\x01\x12\x04\x8e\x07\
+ \x02\x08\n\x0c\n\x04\x05\x07\x02C\x12\x04\x8e\x07\x02\x0e\n\r\n\x05\x05\
+ \x07\x02C\x02\x12\x04\x8e\x07\x0b\r\n\r\n\x05\x05\x07\x02D\x01\x12\x04\
+ \x8f\x07\x02\x05\n\x0c\n\x04\x05\x07\x02D\x12\x04\x8f\x07\x02\x0b\n\r\n\
+ \x05\x05\x07\x02D\x02\x12\x04\x8f\x07\x08\n\n\r\n\x05\x05\x07\x02E\x01\
+ \x12\x04\x90\x07\x02\x07\n\x0c\n\x04\x05\x07\x02E\x12\x04\x90\x07\x02\r\
+ \n\r\n\x05\x05\x07\x02E\x02\x12\x04\x90\x07\n\x0c\n\r\n\x05\x05\x07\x02F\
+ \x01\x12\x04\x91\x07\x02\x06\n\x0c\n\x04\x05\x07\x02F\x12\x04\x91\x07\
+ \x02\x0c\n\r\n\x05\x05\x07\x02F\x02\x12\x04\x91\x07\t\x0b\n\r\n\x05\x05\
+ \x07\x02G\x01\x12\x04\x92\x07\x02\x0c\n\x0c\n\x04\x05\x07\x02G\x12\x04\
+ \x92\x07\x02\x12\n\r\n\x05\x05\x07\x02G\x02\x12\x04\x92\x07\x0f\x11\n\r\
+ \n\x05\x05\x07\x02H\x01\x12\x04\x93\x07\x02\x08\n\x0c\n\x04\x05\x07\x02H\
+ \x12\x04\x93\x07\x02\x0e\n\r\n\x05\x05\x07\x02H\x02\x12\x04\x93\x07\x0b\
+ \r\n\r\n\x05\x05\x07\x02I\x01\x12\x04\x94\x07\x02\n\n\x0c\n\x04\x05\x07\
+ \x02I\x12\x04\x94\x07\x02\x11\n\r\n\x05\x05\x07\x02I\x02\x12\x04\x94\x07\
+ \r\x10\n\r\n\x05\x05\x07\x02J\x01\x12\x04\x95\x07\x02\x08\n\x0c\n\x04\
+ \x05\x07\x02J\x12\x04\x95\x07\x02\x0e\n\r\n\x05\x05\x07\x02J\x02\x12\x04\
+ \x95\x07\x0b\r\n\r\n\x05\x05\x07\x02K\x01\x12\x04\x96\x07\x02\x03\n\x0c\
+ \n\x04\x05\x07\x02K\x12\x04\x96\x07\x02\t\n\r\n\x05\x05\x07\x02K\x02\x12\
+ \x04\x96\x07\x06\x08\n\r\n\x05\x05\x07\x02L\x01\x12\x04\x97\x07\x02\x08\
+ \n\x0c\n\x04\x05\x07\x02L\x12\x04\x97\x07\x02\x0e\n\r\n\x05\x05\x07\x02L\
+ \x02\x12\x04\x97\x07\x0b\r\n\r\n\x05\x05\x07\x02M\x01\x12\x04\x98\x07\
+ \x02\x06\n\x0c\n\x04\x05\x07\x02M\x12\x04\x98\x07\x02\x0c\n\r\n\x05\x05\
+ \x07\x02M\x02\x12\x04\x98\x07\t\x0b\n\r\n\x05\x05\x07\x02N\x01\x12\x04\
+ \x99\x07\x02\x07\n\x0c\n\x04\x05\x07\x02N\x12\x04\x99\x07\x02\r\n\r\n\
+ \x05\x05\x07\x02N\x02\x12\x04\x99\x07\n\x0c\n\r\n\x05\x05\x07\x02O\x01\
+ \x12\x04\x9a\x07\x02\x07\n1\n\x04\x05\x07\x02O\x12\x04\x9a\x07\x02\x0e\"\
+ #\x20Internal\x20language\x20for\x20testing\x20SCIP\n\r\n\x05\x05\x07\
+ \x02O\x02\x12\x04\x9a\x07\n\r\n\r\n\x05\x05\x07\x02P\x01\x12\x04\x9b\x07\
+ \x02\x06\n\x0c\n\x04\x05\x07\x02P\x12\x04\x9b\x07\x02\x0c\n\r\n\x05\x05\
+ \x07\x02P\x02\x12\x04\x9b\x07\t\x0b\n\r\n\x05\x05\x07\x02Q\x01\x12\x04\
+ \x9c\x07\x02\x06\n\x0c\n\x04\x05\x07\x02Q\x12\x04\x9c\x07\x02\x0c\n\r\n\
+ \x05\x05\x07\x02Q\x02\x12\x04\x9c\x07\t\x0b\n\r\n\x05\x05\x07\x02R\x01\
+ \x12\x04\x9d\x07\x02\x06\n\x0c\n\x04\x05\x07\x02R\x12\x04\x9d\x07\x02\
+ \x0c\n\r\n\x05\x05\x07\x02R\x02\x12\x04\x9d\x07\t\x0b\n\r\n\x05\x05\x07\
+ \x02S\x01\x12\x04\x9e\x07\x02\x05\n\x0c\n\x04\x05\x07\x02S\x12\x04\x9e\
+ \x07\x02\x0b\n\r\n\x05\x05\x07\x02S\x02\x12\x04\x9e\x07\x08\n\n\r\n\x05\
+ \x05\x07\x02T\x01\x12\x04\x9f\x07\x02\x06\n\x0c\n\x04\x05\x07\x02T\x12\
+ \x04\x9f\x07\x02\x0c\n\r\n\x05\x05\x07\x02T\x02\x12\x04\x9f\x07\t\x0b\n\
+ \r\n\x05\x05\x07\x02U\x01\x12\x04\xa0\x07\x02\x05\n\x0c\n\x04\x05\x07\
+ \x02U\x12\x04\xa0\x07\x02\x0b\n\r\n\x05\x05\x07\x02U\x02\x12\x04\xa0\x07\
+ \x08\n\n\r\n\x05\x05\x07\x02V\x01\x12\x04\xa1\x07\x02\x05\n\x0c\n\x04\
+ \x05\x07\x02V\x12\x04\xa1\x07\x02\x0b\n\r\n\x05\x05\x07\x02V\x02\x12\x04\
+ \xa1\x07\x08\n\n\r\n\x05\x05\x07\x02W\x01\x12\x04\xa2\x07\x02\x06\n\x0c\
+ \n\x04\x05\x07\x02W\x12\x04\xa2\x07\x02\x0c\n\r\n\x05\x05\x07\x02W\x02\
+ \x12\x04\xa2\x07\t\x0b\n\r\n\x05\x05\x07\x02X\x01\x12\x04\xa3\x07\x02\
+ \x07\n\x0c\n\x04\x05\x07\x02X\x12\x04\xa3\x07\x02\x0c\n\r\n\x05\x05\x07\
+ \x02X\x02\x12\x04\xa3\x07\n\x0b\n\r\n\x05\x05\x07\x02Y\x01\x12\x04\xa4\
+ \x07\x02\x08\n\x0c\n\x04\x05\x07\x02Y\x12\x04\xa4\x07\x02\x0e\n\r\n\x05\
+ \x05\x07\x02Y\x02\x12\x04\xa4\x07\x0b\r\n\r\n\x05\x05\x07\x02Z\x01\x12\
+ \x04\xa5\x07\x02\r\n\x13\n\x04\x05\x07\x02Z\x12\x04\xa5\x07\x02\x13\"\
+ \x05\x20Bash\n\r\n\x05\x05\x07\x02Z\x02\x12\x04\xa5\x07\x10\x12\n\r\n\
+ \x05\x05\x07\x02[\x01\x12\x04\xa6\x07\x02\t\n\x0c\n\x04\x05\x07\x02[\x12\
+ \x04\xa6\x07\x02\x0f\n\r\n\x05\x05\x07\x02[\x02\x12\x04\xa6\x07\x0c\x0e\
+ \n\r\n\x05\x05\x07\x02\\\x01\x12\x04\xa7\x07\x02\x07\n\x0c\n\x04\x05\x07\
+ \x02\\\x12\x04\xa7\x07\x02\x0e\n\r\n\x05\x05\x07\x02\\\x02\x12\x04\xa7\
+ \x07\n\r\n\r\n\x05\x05\x07\x02]\x01\x12\x04\xa8\x07\x02\n\n\x0c\n\x04\
+ \x05\x07\x02]\x12\x04\xa8\x07\x02\x10\n\r\n\x05\x05\x07\x02]\x02\x12\x04\
+ \xa8\x07\r\x0f\n\r\n\x05\x05\x07\x02^\x01\x12\x04\xa9\x07\x02\x08\n\x0c\
+ \n\x04\x05\x07\x02^\x12\x04\xa9\x07\x02\x0f\n\r\n\x05\x05\x07\x02^\x02\
+ \x12\x04\xa9\x07\x0b\x0e\n\r\n\x05\x05\x07\x02_\x01\x12\x04\xaa\x07\x02\
+ \x07\n\x0c\n\x04\x05\x07\x02_\x12\x04\xaa\x07\x02\x0c\n\r\n\x05\x05\x07\
+ \x02_\x02\x12\x04\xaa\x07\n\x0b\n\r\n\x05\x05\x07\x02`\x01\x12\x04\xab\
+ \x07\x02\x05\n\x0c\n\x04\x05\x07\x02`\x12\x04\xab\x07\x02\x0c\n\r\n\x05\
+ \x05\x07\x02`\x02\x12\x04\xab\x07\x08\x0b\n\r\n\x05\x05\x07\x02a\x01\x12\
+ \x04\xac\x07\x02\x06\n\x0c\n\x04\x05\x07\x02a\x12\x04\xac\x07\x02\x0c\n\
+ \r\n\x05\x05\x07\x02a\x02\x12\x04\xac\x07\t\x0b\n\r\n\x05\x05\x07\x02b\
+ \x01\x12\x04\xad\x07\x02\x05\n\x0c\n\x04\x05\x07\x02b\x12\x04\xad\x07\
+ \x02\x0b\n\r\n\x05\x05\x07\x02b\x02\x12\x04\xad\x07\x08\n\n\r\n\x05\x05\
+ \x07\x02c\x01\x12\x04\xae\x07\x02\x08\n\x0c\n\x04\x05\x07\x02c\x12\x04\
+ \xae\x07\x02\x0f\n\r\n\x05\x05\x07\x02c\x02\x12\x04\xae\x07\x0b\x0e\n\r\
+ \n\x05\x05\x07\x02d\x01\x12\x04\xaf\x07\x02\x0c\n\x0c\n\x04\x05\x07\x02d\
+ \x12\x04\xaf\x07\x02\x12\n\r\n\x05\x05\x07\x02d\x02\x12\x04\xaf\x07\x0f\
+ \x11\n\r\n\x05\x05\x07\x02e\x01\x12\x04\xb0\x07\x02\x11\n\x0c\n\x04\x05\
+ \x07\x02e\x12\x04\xb0\x07\x02\x17\n\r\n\x05\x05\x07\x02e\x02\x12\x04\xb0\
+ \x07\x14\x16\n\r\n\x05\x05\x07\x02f\x01\x12\x04\xb1\x07\x02\t\n\x0c\n\
+ \x04\x05\x07\x02f\x12\x04\xb1\x07\x02\x10\n\r\n\x05\x05\x07\x02f\x02\x12\
+ \x04\xb1\x07\x0c\x0f\n\r\n\x05\x05\x07\x02g\x01\x12\x04\xb2\x07\x02\x06\
+ \n\x0c\n\x04\x05\x07\x02g\x12\x04\xb2\x07\x02\r\n\r\n\x05\x05\x07\x02g\
+ \x02\x12\x04\xb2\x07\t\x0c\n\r\n\x05\x05\x07\x02h\x01\x12\x04\xb3\x07\
+ \x02\r\n\x0c\n\x04\x05\x07\x02h\x12\x04\xb3\x07\x02\x13\n\r\n\x05\x05\
+ \x07\x02h\x02\x12\x04\xb3\x07\x10\x12\n\r\n\x05\x05\x07\x02i\x01\x12\x04\
+ \xb4\x07\x02\x05\n\x0c\n\x04\x05\x07\x02i\x12\x04\xb4\x07\x02\x0b\n\r\n\
+ \x05\x05\x07\x02i\x02\x12\x04\xb4\x07\x08\n\n\r\n\x05\x05\x07\x02j\x01\
+ \x12\x04\xb5\x07\x02\t\n\x0c\n\x04\x05\x07\x02j\x12\x04\xb5\x07\x02\x0f\
+ \n\r\n\x05\x05\x07\x02j\x02\x12\x04\xb5\x07\x0c\x0e\n\r\n\x05\x05\x07\
+ \x02k\x01\x12\x04\xb6\x07\x02\x05\n\x0c\n\x04\x05\x07\x02k\x12\x04\xb6\
+ \x07\x02\x0b\n\r\n\x05\x05\x07\x02k\x02\x12\x04\xb6\x07\x08\n\n\r\n\x05\
+ \x05\x07\x02l\x01\x12\x04\xb7\x07\x02\x05\n\x0c\n\x04\x05\x07\x02l\x12\
+ \x04\xb7\x07\x02\x0b\n\r\n\x05\x05\x07\x02l\x02\x12\x04\xb7\x07\x08\n\n\
+ \r\n\x05\x05\x07\x02m\x01\x12\x04\xb8\x07\x02\x06\n\x0c\n\x04\x05\x07\
+ \x02m\x12\x04\xb8\x07\x02\x0c\n\r\n\x05\x05\x07\x02m\x02\x12\x04\xb8\x07\
+ \t\x0b\n\r\n\x05\x05\x07\x02n\x01\x12\x04\xb9\x07\x02\x05\n\x93\x03\n\
+ \x04\x05\x07\x02n\x12\x04\xb9\x07\x02\x0b\"\x84\x03\x20NextLanguage\x20=\
+ \x20112;\n\x20Steps\x20add\x20a\x20new\x20language:\n\x201.\x20Copy-past\
+ e\x20the\x20\"NextLanguage\x20=\x20N\"\x20line\x20above\n\x202.\x20Incre\
+ ment\x20\"NextLanguage\x20=\x20N\"\x20to\x20\"NextLanguage\x20=\x20N+1\"\
+ \n\x203.\x20Replace\x20\"NextLanguage\x20=\x20N\"\x20with\x20the\x20name\
+ \x20of\x20the\x20new\x20language.\n\x204.\x20Move\x20the\x20new\x20langu\
+ age\x20to\x20the\x20correct\x20line\x20above\x20using\x20alphabetical\
+ \x20order\n\x205.\x20(optional)\x20Add\x20a\x20brief\x20comment\x20behin\
+ d\x20the\x20language\x20if\x20the\x20name\x20is\x20not\x20self-explanato\
+ ry\n\n\r\n\x05\x05\x07\x02n\x02\x12\x04\xb9\x07\x08\nb\x06proto3\
";
/// `FileDescriptorProto` object which was a source for this generated file
diff --git a/bindings/typescript/scip_pb.ts b/bindings/typescript/scip_pb.ts
index d0689e79..1e380183 100644
--- a/bindings/typescript/scip_pb.ts
+++ b/bindings/typescript/scip_pb.ts
@@ -20,7 +20,7 @@ import type { Message } from "@bufbuild/protobuf";
* Describes the file scip.proto.
*/
export const file_scip: GenFile = /*@__PURE__*/
- fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASJkCglTaWduYXR1cmUSEAoIbGFuZ3VhZ2UYBCABKAkSDAoEdGV4dBgFIAEoCRIlCgtvY2N1cnJlbmNlcxgCIAMoCzIQLnNjaXAuT2NjdXJyZW5jZUoECAEQAkoECAMQBEoECAYQByLxCwoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSKQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwEioKBGtpbmQYBSABKA4yHC5zY2lwLlN5bWJvbEluZm9ybWF0aW9uLktpbmQSFAoMZGlzcGxheV9uYW1lGAYgASgJEjAKF3NpZ25hdHVyZV9kb2N1bWVudGF0aW9uGAcgASgLMg8uc2NpcC5TaWduYXR1cmUSGAoQZW5jbG9zaW5nX3N5bWJvbBgIIAEoCSL7CQoES2luZBITCg9VbnNwZWNpZmllZEtpbmQQABISCg5BYnN0cmFjdE1ldGhvZBBCEgwKCEFjY2Vzc29yEEgSCQoFQXJyYXkQARINCglBc3NlcnRpb24QAhISCg5Bc3NvY2lhdGVkVHlwZRADEg0KCUF0dHJpYnV0ZRAEEgkKBUF4aW9tEAUSCwoHQm9vbGVhbhAGEgkKBUNsYXNzEAcSCwoHQ29uY2VwdBBWEgwKCENvbnN0YW50EAgSDwoLQ29uc3RydWN0b3IQCRIMCghDb250cmFjdBA+Eg4KCkRhdGFGYW1pbHkQChIMCghEZWxlZ2F0ZRBJEggKBEVudW0QCxIOCgpFbnVtTWVtYmVyEAwSCQoFRXJyb3IQPxIJCgVFdmVudBANEg0KCUV4dGVuc2lvbhBUEggKBEZhY3QQDhIJCgVGaWVsZBAPEggKBEZpbGUQEBIMCghGdW5jdGlvbhAREgoKBkdldHRlchASEgsKB0dyYW1tYXIQExIMCghJbnN0YW5jZRAUEg0KCUludGVyZmFjZRAVEgcKA0tleRAWEggKBExhbmcQFxIJCgVMZW1tYRAYEgsKB0xpYnJhcnkQQBIJCgVNYWNybxAZEgoKBk1ldGhvZBAaEg8KC01ldGhvZEFsaWFzEEoSEgoOTWV0aG9kUmVjZWl2ZXIQGxIXChNNZXRob2RTcGVjaWZpY2F0aW9uEEMSCwoHTWVzc2FnZRAcEgkKBU1peGluEFUSDAoITW9kaWZpZXIQQRIKCgZNb2R1bGUQHRINCglOYW1lc3BhY2UQHhIICgROdWxsEB8SCgoGTnVtYmVyECASCgoGT2JqZWN0ECESDAoIT3BlcmF0b3IQIhILCgdQYWNrYWdlECMSEQoNUGFja2FnZU9iamVjdBAkEg0KCVBhcmFtZXRlchAlEhIKDlBhcmFtZXRlckxhYmVsECYSCwoHUGF0dGVybhAnEg0KCVByZWRpY2F0ZRAoEgwKCFByb3BlcnR5ECkSDAoIUHJvdG9jb2wQKhISCg5Qcm90b2NvbE1ldGhvZBBEEhUKEVB1cmVWaXJ0dWFsTWV0aG9kEEUSDwoLUXVhc2lxdW90ZXIQKxIRCg1TZWxmUGFyYW1ldGVyECwSCgoGU2V0dGVyEC0SDQoJU2lnbmF0dXJlEC4SEgoOU2luZ2xldG9uQ2xhc3MQSxITCg9TaW5nbGV0b25NZXRob2QQTBIUChBTdGF0aWNEYXRhTWVtYmVyEE0SDwoLU3RhdGljRXZlbnQQThIPCgtTdGF0aWNGaWVsZBBPEhAKDFN0YXRpY01ldGhvZBBQEhIKDlN0YXRpY1Byb3BlcnR5EFESEgoOU3RhdGljVmFyaWFibGUQUhIKCgZTdHJpbmcQMBIKCgZTdHJ1Y3QQMRINCglTdWJzY3JpcHQQLxIKCgZUYWN0aWMQMhILCgdUaGVvcmVtEDMSEQoNVGhpc1BhcmFtZXRlchA0EgkKBVRyYWl0EDUSDwoLVHJhaXRNZXRob2QQRhIICgRUeXBlEDYSDQoJVHlwZUFsaWFzEDcSDQoJVHlwZUNsYXNzEDgSEwoPVHlwZUNsYXNzTWV0aG9kEEcSDgoKVHlwZUZhbWlseRA5EhEKDVR5cGVQYXJhbWV0ZXIQOhIJCgVVbmlvbhA7EgkKBVZhbHVlEDwSDAoIVmFyaWFibGUQPSKCAQoMUmVsYXRpb25zaGlwEg4KBnN5bWJvbBgBIAEoCRIUCgxpc19yZWZlcmVuY2UYAiABKAgSGQoRaXNfaW1wbGVtZW50YXRpb24YAyABKAgSGgoSaXNfdHlwZV9kZWZpbml0aW9uGAQgASgIEhUKDWlzX2RlZmluaXRpb24YBSABKAgiTwoPU2luZ2xlTGluZVJhbmdlEgwKBGxpbmUYASABKAUSFwoPc3RhcnRfY2hhcmFjdGVyGAIgASgFEhUKDWVuZF9jaGFyYWN0ZXIYAyABKAUiZgoOTXVsdGlMaW5lUmFuZ2USEgoKc3RhcnRfbGluZRgBIAEoBRIXCg9zdGFydF9jaGFyYWN0ZXIYAiABKAUSEAoIZW5kX2xpbmUYAyABKAUSFQoNZW5kX2NoYXJhY3RlchgEIAEoBSLYAwoKT2NjdXJyZW5jZRIRCgVyYW5nZRgBIAMoBUICGAESMgoRc2luZ2xlX2xpbmVfcmFuZ2UYCCABKAsyFS5zY2lwLlNpbmdsZUxpbmVSYW5nZUgAEjAKEG11bHRpX2xpbmVfcmFuZ2UYCSABKAsyFC5zY2lwLk11bHRpTGluZVJhbmdlSAASDgoGc3ltYm9sGAIgASgJEhQKDHN5bWJvbF9yb2xlcxgDIAEoBRIeChZvdmVycmlkZV9kb2N1bWVudGF0aW9uGAQgAygJEiUKC3N5bnRheF9raW5kGAUgASgOMhAuc2NpcC5TeW50YXhLaW5kEiUKC2RpYWdub3N0aWNzGAYgAygLMhAuc2NpcC5EaWFnbm9zdGljEhsKD2VuY2xvc2luZ19yYW5nZRgHIAMoBUICGAESPAobc2luZ2xlX2xpbmVfZW5jbG9zaW5nX3JhbmdlGAogASgLMhUuc2NpcC5TaW5nbGVMaW5lUmFuZ2VIARI6ChptdWx0aV9saW5lX2VuY2xvc2luZ19yYW5nZRgLIAEoCzIULnNjaXAuTXVsdGlMaW5lUmFuZ2VIAUINCgt0eXBlZF9yYW5nZUIXChV0eXBlZF9lbmNsb3NpbmdfcmFuZ2UigAEKCkRpYWdub3N0aWMSIAoIc2V2ZXJpdHkYASABKA4yDi5zY2lwLlNldmVyaXR5EgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIOCgZzb3VyY2UYBCABKAkSIQoEdGFncxgFIAMoDjITLnNjaXAuRGlhZ25vc3RpY1RhZyoxCg9Qcm90b2NvbFZlcnNpb24SHgoaVW5zcGVjaWZpZWRQcm90b2NvbFZlcnNpb24QACpACgxUZXh0RW5jb2RpbmcSGwoXVW5zcGVjaWZpZWRUZXh0RW5jb2RpbmcQABIICgRVVEY4EAESCQoFVVRGMTYQAiqkAQoQUG9zaXRpb25FbmNvZGluZxIfChtVbnNwZWNpZmllZFBvc2l0aW9uRW5jb2RpbmcQABIjCh9VVEY4Q29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAESJAogVVRGMTZDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQAhIkCiBVVEYzMkNvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBADKpQBCgpTeW1ib2xSb2xlEhkKFVVuc3BlY2lmaWVkU3ltYm9sUm9sZRAAEg4KCkRlZmluaXRpb24QARIKCgZJbXBvcnQQAhIPCgtXcml0ZUFjY2VzcxAEEg4KClJlYWRBY2Nlc3MQCBINCglHZW5lcmF0ZWQQEBIICgRUZXN0ECASFQoRRm9yd2FyZERlZmluaXRpb24QQCrqBgoKU3ludGF4S2luZBIZChVVbnNwZWNpZmllZFN5bnRheEtpbmQQABILCgdDb21tZW50EAESGAoUUHVuY3R1YXRpb25EZWxpbWl0ZXIQAhIWChJQdW5jdHVhdGlvbkJyYWNrZXQQAxILCgdLZXl3b3JkEAQSGQoRSWRlbnRpZmllcktleXdvcmQQBBoCCAESFgoSSWRlbnRpZmllck9wZXJhdG9yEAUSDgoKSWRlbnRpZmllchAGEhUKEUlkZW50aWZpZXJCdWlsdGluEAcSEgoOSWRlbnRpZmllck51bGwQCBIWChJJZGVudGlmaWVyQ29uc3RhbnQQCRIbChdJZGVudGlmaWVyTXV0YWJsZUdsb2JhbBAKEhcKE0lkZW50aWZpZXJQYXJhbWV0ZXIQCxITCg9JZGVudGlmaWVyTG9jYWwQDBIWChJJZGVudGlmaWVyU2hhZG93ZWQQDRIXChNJZGVudGlmaWVyTmFtZXNwYWNlEA4SGAoQSWRlbnRpZmllck1vZHVsZRAOGgIIARIWChJJZGVudGlmaWVyRnVuY3Rpb24QDxIgChxJZGVudGlmaWVyRnVuY3Rpb25EZWZpbml0aW9uEBASEwoPSWRlbnRpZmllck1hY3JvEBESHQoZSWRlbnRpZmllck1hY3JvRGVmaW5pdGlvbhASEhIKDklkZW50aWZpZXJUeXBlEBMSGQoVSWRlbnRpZmllckJ1aWx0aW5UeXBlEBQSFwoTSWRlbnRpZmllckF0dHJpYnV0ZRAVEg8KC1JlZ2V4RXNjYXBlEBYSEQoNUmVnZXhSZXBlYXRlZBAXEhEKDVJlZ2V4V2lsZGNhcmQQGBISCg5SZWdleERlbGltaXRlchAZEg0KCVJlZ2V4Sm9pbhAaEhEKDVN0cmluZ0xpdGVyYWwQGxIXChNTdHJpbmdMaXRlcmFsRXNjYXBlEBwSGAoUU3RyaW5nTGl0ZXJhbFNwZWNpYWwQHRIUChBTdHJpbmdMaXRlcmFsS2V5EB4SFAoQQ2hhcmFjdGVyTGl0ZXJhbBAfEhIKDk51bWVyaWNMaXRlcmFsECASEgoOQm9vbGVhbkxpdGVyYWwQIRIHCgNUYWcQIhIQCgxUYWdBdHRyaWJ1dGUQIxIQCgxUYWdEZWxpbWl0ZXIQJBoCEAEqVgoIU2V2ZXJpdHkSFwoTVW5zcGVjaWZpZWRTZXZlcml0eRAAEgkKBUVycm9yEAESCwoHV2FybmluZxACEg8KC0luZm9ybWF0aW9uEAMSCAoESGludBAEKk4KDURpYWdub3N0aWNUYWcSHAoYVW5zcGVjaWZpZWREaWFnbm9zdGljVGFnEAASDwoLVW5uZWNlc3NhcnkQARIOCgpEZXByZWNhdGVkEAIqmwoKCExhbmd1YWdlEhcKE1Vuc3BlY2lmaWVkTGFuZ3VhZ2UQABIICgRBQkFQEDwSCAoEQXBleBBgEgcKA0FQTBAxEgcKA0FkYRAnEggKBEFnZGEQLRIMCghBc2NpaURvYxBWEgwKCEFzc2VtYmx5EDoSBwoDQXdrEEISBwoDQmF0EEQSCgoGQmliVGVYEFESBQoBQxAiEgkKBUNPQk9MEDsSBwoDQ1BQECMSBwoDQ1NTEBoSCgoGQ1NoYXJwEAESCwoHQ2xvanVyZRAIEhAKDENvZmZlZXNjcmlwdBAVEg4KCkNvbW1vbkxpc3AQCRIHCgNDb3EQLxIICgRDVURBEGESCAoERGFydBADEgoKBkRlbHBoaRA5EggKBERpZmYQWBIOCgpEb2NrZXJmaWxlEFASCgoGRHlhbG9nEDISCgoGRWxpeGlyEBESCgoGRXJsYW5nEBISCgoGRlNoYXJwECoSCAoERmlzaBBBEggKBEZsb3cQGBILCgdGb3J0cmFuEDgSDgoKR2l0X0NvbW1pdBBbEg4KCkdpdF9Db25maWcQWRIOCgpHaXRfUmViYXNlEFwSBgoCR28QIRILCgdHcmFwaFFMEGISCgoGR3Jvb3Z5EAcSCAoESFRNTBAeEggKBEhhY2sQFBIOCgpIYW5kbGViYXJzEFoSCwoHSGFza2VsbBAsEgkKBUlkcmlzEC4SBwoDSW5pEEgSBQoBShAzEggKBEpTT04QSxIICgRKYXZhEAYSDgoKSmF2YVNjcmlwdBAWEhMKD0phdmFTY3JpcHRSZWFjdBBdEgsKB0pzb25uZXQQTBIJCgVKdWxpYRA3EgwKCEp1c3RmaWxlEG0SCgoGS290bGluEAQSCQoFTGFUZVgQUxIICgRMZWFuEDASCAoETGVzcxAbEgcKA0x1YRAMEggKBEx1YXUQbBIMCghNYWtlZmlsZRBPEgwKCE1hcmtkb3duEFQSCgoGTWF0bGFiEDQSCgoGTmlja2VsEG4SBwoDTml4EE0SCQoFT0NhbWwQKRIPCgtPYmplY3RpdmVfQxAkEhEKDU9iamVjdGl2ZV9DUFAQJRIKCgZQYXNjYWwQYxIHCgNQSFAQExIJCgVQTFNRTBBGEggKBFBlcmwQDRIOCgpQb3dlclNoZWxsEEMSCgoGUHJvbG9nEEcSDAoIUHJvdG9idWYQZBIKCgZQeXRob24QDxIFCgFSEDYSCgoGUmFja2V0EAsSCAoEUmFrdRAOEgkKBVJhem9yED4SCQoFUmVwcm8QZhIICgRSZVNUEFUSCAoEUnVieRAQEggKBFJ1c3QQKBIHCgNTQVMQPRIICgRTQ1NTEB0SBwoDU01MECsSBwoDU1FMEEUSCAoEU2FzcxAcEgkKBVNjYWxhEAUSCgoGU2NoZW1lEAoSDwoLU2hlbGxTY3JpcHQQQBILCgdTa3lsYXJrEE4SCQoFU2xhbmcQaxIMCghTb2xpZGl0eRBfEgoKBlN2ZWx0ZRBqEgkKBVN3aWZ0EAISBwoDVGNsEGUSCAoEVE9NTBBJEgcKA1RlWBBSEgoKBlRocmlmdBBnEg4KClR5cGVTY3JpcHQQFxITCg9UeXBlU2NyaXB0UmVhY3QQXhILCgdWZXJpbG9nEGgSCAoEVkhETBBpEg8KC1Zpc3VhbEJhc2ljED8SBwoDVnVlEBkSCwoHV29sZnJhbRA1EgcKA1hNTBAfEgcKA1hTTBAgEggKBFlBTUwQShIHCgNaaWcQJkJOChJvcmcuc2NpcF9jb2RlLnNjaXBCCVNjaXBQcm90b1ABWitnaXRodWIuY29tL3NjaXAtY29kZS9zY2lwL2JpbmRpbmdzL2dvL3NjaXAvYgZwcm90bzM");
+ fileDesc("CgpzY2lwLnByb3RvEgRzY2lwIn8KBUluZGV4EiAKCG1ldGFkYXRhGAEgASgLMg4uc2NpcC5NZXRhZGF0YRIhCglkb2N1bWVudHMYAiADKAsyDi5zY2lwLkRvY3VtZW50EjEKEGV4dGVybmFsX3N5bWJvbHMYAyADKAsyFy5zY2lwLlN5bWJvbEluZm9ybWF0aW9uIp8BCghNZXRhZGF0YRImCgd2ZXJzaW9uGAEgASgOMhUuc2NpcC5Qcm90b2NvbFZlcnNpb24SIQoJdG9vbF9pbmZvGAIgASgLMg4uc2NpcC5Ub29sSW5mbxIUCgxwcm9qZWN0X3Jvb3QYAyABKAkSMgoWdGV4dF9kb2N1bWVudF9lbmNvZGluZxgEIAEoDjISLnNjaXAuVGV4dEVuY29kaW5nIjwKCFRvb2xJbmZvEgwKBG5hbWUYASABKAkSDwoHdmVyc2lvbhgCIAEoCRIRCglhcmd1bWVudHMYAyADKAkixQEKCERvY3VtZW50EhAKCGxhbmd1YWdlGAQgASgJEhUKDXJlbGF0aXZlX3BhdGgYASABKAkSJQoLb2NjdXJyZW5jZXMYAiADKAsyEC5zY2lwLk9jY3VycmVuY2USKAoHc3ltYm9scxgDIAMoCzIXLnNjaXAuU3ltYm9sSW5mb3JtYXRpb24SDAoEdGV4dBgFIAEoCRIxChFwb3NpdGlvbl9lbmNvZGluZxgGIAEoDjIWLnNjaXAuUG9zaXRpb25FbmNvZGluZyJfCgZTeW1ib2wSDgoGc2NoZW1lGAEgASgJEh4KB3BhY2thZ2UYAiABKAsyDS5zY2lwLlBhY2thZ2USJQoLZGVzY3JpcHRvcnMYAyADKAsyEC5zY2lwLkRlc2NyaXB0b3IiOQoHUGFja2FnZRIPCgdtYW5hZ2VyGAEgASgJEgwKBG5hbWUYAiABKAkSDwoHdmVyc2lvbhgDIAEoCSKCAgoKRGVzY3JpcHRvchIMCgRuYW1lGAEgASgJEhUKDWRpc2FtYmlndWF0b3IYAiABKAkSJwoGc3VmZml4GAMgASgOMhcuc2NpcC5EZXNjcmlwdG9yLlN1ZmZpeCKlAQoGU3VmZml4EhUKEVVuc3BlY2lmaWVkU3VmZml4EAASDQoJTmFtZXNwYWNlEAESDwoHUGFja2FnZRABGgIIARIICgRUeXBlEAISCAoEVGVybRADEgoKBk1ldGhvZBAEEhEKDVR5cGVQYXJhbWV0ZXIQBRINCglQYXJhbWV0ZXIQBhIICgRNZXRhEAcSCQoFTG9jYWwQCBIJCgVNYWNybxAJGgIQASJkCglTaWduYXR1cmUSEAoIbGFuZ3VhZ2UYBCABKAkSDAoEdGV4dBgFIAEoCRIlCgtvY2N1cnJlbmNlcxgCIAMoCzIQLnNjaXAuT2NjdXJyZW5jZUoECAEQAkoECAMQBEoECAYQByLxCwoRU3ltYm9sSW5mb3JtYXRpb24SDgoGc3ltYm9sGAEgASgJEhUKDWRvY3VtZW50YXRpb24YAyADKAkSKQoNcmVsYXRpb25zaGlwcxgEIAMoCzISLnNjaXAuUmVsYXRpb25zaGlwEioKBGtpbmQYBSABKA4yHC5zY2lwLlN5bWJvbEluZm9ybWF0aW9uLktpbmQSFAoMZGlzcGxheV9uYW1lGAYgASgJEjAKF3NpZ25hdHVyZV9kb2N1bWVudGF0aW9uGAcgASgLMg8uc2NpcC5TaWduYXR1cmUSGAoQZW5jbG9zaW5nX3N5bWJvbBgIIAEoCSL7CQoES2luZBITCg9VbnNwZWNpZmllZEtpbmQQABISCg5BYnN0cmFjdE1ldGhvZBBCEgwKCEFjY2Vzc29yEEgSCQoFQXJyYXkQARINCglBc3NlcnRpb24QAhISCg5Bc3NvY2lhdGVkVHlwZRADEg0KCUF0dHJpYnV0ZRAEEgkKBUF4aW9tEAUSCwoHQm9vbGVhbhAGEgkKBUNsYXNzEAcSCwoHQ29uY2VwdBBWEgwKCENvbnN0YW50EAgSDwoLQ29uc3RydWN0b3IQCRIMCghDb250cmFjdBA+Eg4KCkRhdGFGYW1pbHkQChIMCghEZWxlZ2F0ZRBJEggKBEVudW0QCxIOCgpFbnVtTWVtYmVyEAwSCQoFRXJyb3IQPxIJCgVFdmVudBANEg0KCUV4dGVuc2lvbhBUEggKBEZhY3QQDhIJCgVGaWVsZBAPEggKBEZpbGUQEBIMCghGdW5jdGlvbhAREgoKBkdldHRlchASEgsKB0dyYW1tYXIQExIMCghJbnN0YW5jZRAUEg0KCUludGVyZmFjZRAVEgcKA0tleRAWEggKBExhbmcQFxIJCgVMZW1tYRAYEgsKB0xpYnJhcnkQQBIJCgVNYWNybxAZEgoKBk1ldGhvZBAaEg8KC01ldGhvZEFsaWFzEEoSEgoOTWV0aG9kUmVjZWl2ZXIQGxIXChNNZXRob2RTcGVjaWZpY2F0aW9uEEMSCwoHTWVzc2FnZRAcEgkKBU1peGluEFUSDAoITW9kaWZpZXIQQRIKCgZNb2R1bGUQHRINCglOYW1lc3BhY2UQHhIICgROdWxsEB8SCgoGTnVtYmVyECASCgoGT2JqZWN0ECESDAoIT3BlcmF0b3IQIhILCgdQYWNrYWdlECMSEQoNUGFja2FnZU9iamVjdBAkEg0KCVBhcmFtZXRlchAlEhIKDlBhcmFtZXRlckxhYmVsECYSCwoHUGF0dGVybhAnEg0KCVByZWRpY2F0ZRAoEgwKCFByb3BlcnR5ECkSDAoIUHJvdG9jb2wQKhISCg5Qcm90b2NvbE1ldGhvZBBEEhUKEVB1cmVWaXJ0dWFsTWV0aG9kEEUSDwoLUXVhc2lxdW90ZXIQKxIRCg1TZWxmUGFyYW1ldGVyECwSCgoGU2V0dGVyEC0SDQoJU2lnbmF0dXJlEC4SEgoOU2luZ2xldG9uQ2xhc3MQSxITCg9TaW5nbGV0b25NZXRob2QQTBIUChBTdGF0aWNEYXRhTWVtYmVyEE0SDwoLU3RhdGljRXZlbnQQThIPCgtTdGF0aWNGaWVsZBBPEhAKDFN0YXRpY01ldGhvZBBQEhIKDlN0YXRpY1Byb3BlcnR5EFESEgoOU3RhdGljVmFyaWFibGUQUhIKCgZTdHJpbmcQMBIKCgZTdHJ1Y3QQMRINCglTdWJzY3JpcHQQLxIKCgZUYWN0aWMQMhILCgdUaGVvcmVtEDMSEQoNVGhpc1BhcmFtZXRlchA0EgkKBVRyYWl0EDUSDwoLVHJhaXRNZXRob2QQRhIICgRUeXBlEDYSDQoJVHlwZUFsaWFzEDcSDQoJVHlwZUNsYXNzEDgSEwoPVHlwZUNsYXNzTWV0aG9kEEcSDgoKVHlwZUZhbWlseRA5EhEKDVR5cGVQYXJhbWV0ZXIQOhIJCgVVbmlvbhA7EgkKBVZhbHVlEDwSDAoIVmFyaWFibGUQPSKCAQoMUmVsYXRpb25zaGlwEg4KBnN5bWJvbBgBIAEoCRIUCgxpc19yZWZlcmVuY2UYAiABKAgSGQoRaXNfaW1wbGVtZW50YXRpb24YAyABKAgSGgoSaXNfdHlwZV9kZWZpbml0aW9uGAQgASgIEhUKDWlzX2RlZmluaXRpb24YBSABKAgiTwoPU2luZ2xlTGluZVJhbmdlEgwKBGxpbmUYASABKAUSFwoPc3RhcnRfY2hhcmFjdGVyGAIgASgFEhUKDWVuZF9jaGFyYWN0ZXIYAyABKAUiZgoOTXVsdGlMaW5lUmFuZ2USEgoKc3RhcnRfbGluZRgBIAEoBRIXCg9zdGFydF9jaGFyYWN0ZXIYAiABKAUSEAoIZW5kX2xpbmUYAyABKAUSFQoNZW5kX2NoYXJhY3RlchgEIAEoBSLYAwoKT2NjdXJyZW5jZRIRCgVyYW5nZRgBIAMoBUICGAESMgoRc2luZ2xlX2xpbmVfcmFuZ2UYCCABKAsyFS5zY2lwLlNpbmdsZUxpbmVSYW5nZUgAEjAKEG11bHRpX2xpbmVfcmFuZ2UYCSABKAsyFC5zY2lwLk11bHRpTGluZVJhbmdlSAASDgoGc3ltYm9sGAIgASgJEhQKDHN5bWJvbF9yb2xlcxgDIAEoBRIeChZvdmVycmlkZV9kb2N1bWVudGF0aW9uGAQgAygJEiUKC3N5bnRheF9raW5kGAUgASgOMhAuc2NpcC5TeW50YXhLaW5kEiUKC2RpYWdub3N0aWNzGAYgAygLMhAuc2NpcC5EaWFnbm9zdGljEhsKD2VuY2xvc2luZ19yYW5nZRgHIAMoBUICGAESPAobc2luZ2xlX2xpbmVfZW5jbG9zaW5nX3JhbmdlGAogASgLMhUuc2NpcC5TaW5nbGVMaW5lUmFuZ2VIARI6ChptdWx0aV9saW5lX2VuY2xvc2luZ19yYW5nZRgLIAEoCzIULnNjaXAuTXVsdGlMaW5lUmFuZ2VIAUINCgt0eXBlZF9yYW5nZUIXChV0eXBlZF9lbmNsb3NpbmdfcmFuZ2UigAEKCkRpYWdub3N0aWMSIAoIc2V2ZXJpdHkYASABKA4yDi5zY2lwLlNldmVyaXR5EgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIOCgZzb3VyY2UYBCABKAkSIQoEdGFncxgFIAMoDjITLnNjaXAuRGlhZ25vc3RpY1RhZyoxCg9Qcm90b2NvbFZlcnNpb24SHgoaVW5zcGVjaWZpZWRQcm90b2NvbFZlcnNpb24QACpACgxUZXh0RW5jb2RpbmcSGwoXVW5zcGVjaWZpZWRUZXh0RW5jb2RpbmcQABIICgRVVEY4EAESCQoFVVRGMTYQAiqkAQoQUG9zaXRpb25FbmNvZGluZxIfChtVbnNwZWNpZmllZFBvc2l0aW9uRW5jb2RpbmcQABIjCh9VVEY4Q29kZVVuaXRPZmZzZXRGcm9tTGluZVN0YXJ0EAESJAogVVRGMTZDb2RlVW5pdE9mZnNldEZyb21MaW5lU3RhcnQQAhIkCiBVVEYzMkNvZGVVbml0T2Zmc2V0RnJvbUxpbmVTdGFydBADKpQBCgpTeW1ib2xSb2xlEhkKFVVuc3BlY2lmaWVkU3ltYm9sUm9sZRAAEg4KCkRlZmluaXRpb24QARIKCgZJbXBvcnQQAhIPCgtXcml0ZUFjY2VzcxAEEg4KClJlYWRBY2Nlc3MQCBINCglHZW5lcmF0ZWQQEBIICgRUZXN0ECASFQoRRm9yd2FyZERlZmluaXRpb24QQCrqBgoKU3ludGF4S2luZBIZChVVbnNwZWNpZmllZFN5bnRheEtpbmQQABILCgdDb21tZW50EAESGAoUUHVuY3R1YXRpb25EZWxpbWl0ZXIQAhIWChJQdW5jdHVhdGlvbkJyYWNrZXQQAxILCgdLZXl3b3JkEAQSGQoRSWRlbnRpZmllcktleXdvcmQQBBoCCAESFgoSSWRlbnRpZmllck9wZXJhdG9yEAUSDgoKSWRlbnRpZmllchAGEhUKEUlkZW50aWZpZXJCdWlsdGluEAcSEgoOSWRlbnRpZmllck51bGwQCBIWChJJZGVudGlmaWVyQ29uc3RhbnQQCRIbChdJZGVudGlmaWVyTXV0YWJsZUdsb2JhbBAKEhcKE0lkZW50aWZpZXJQYXJhbWV0ZXIQCxITCg9JZGVudGlmaWVyTG9jYWwQDBIWChJJZGVudGlmaWVyU2hhZG93ZWQQDRIXChNJZGVudGlmaWVyTmFtZXNwYWNlEA4SGAoQSWRlbnRpZmllck1vZHVsZRAOGgIIARIWChJJZGVudGlmaWVyRnVuY3Rpb24QDxIgChxJZGVudGlmaWVyRnVuY3Rpb25EZWZpbml0aW9uEBASEwoPSWRlbnRpZmllck1hY3JvEBESHQoZSWRlbnRpZmllck1hY3JvRGVmaW5pdGlvbhASEhIKDklkZW50aWZpZXJUeXBlEBMSGQoVSWRlbnRpZmllckJ1aWx0aW5UeXBlEBQSFwoTSWRlbnRpZmllckF0dHJpYnV0ZRAVEg8KC1JlZ2V4RXNjYXBlEBYSEQoNUmVnZXhSZXBlYXRlZBAXEhEKDVJlZ2V4V2lsZGNhcmQQGBISCg5SZWdleERlbGltaXRlchAZEg0KCVJlZ2V4Sm9pbhAaEhEKDVN0cmluZ0xpdGVyYWwQGxIXChNTdHJpbmdMaXRlcmFsRXNjYXBlEBwSGAoUU3RyaW5nTGl0ZXJhbFNwZWNpYWwQHRIUChBTdHJpbmdMaXRlcmFsS2V5EB4SFAoQQ2hhcmFjdGVyTGl0ZXJhbBAfEhIKDk51bWVyaWNMaXRlcmFsECASEgoOQm9vbGVhbkxpdGVyYWwQIRIHCgNUYWcQIhIQCgxUYWdBdHRyaWJ1dGUQIxIQCgxUYWdEZWxpbWl0ZXIQJBoCEAEqVgoIU2V2ZXJpdHkSFwoTVW5zcGVjaWZpZWRTZXZlcml0eRAAEgkKBUVycm9yEAESCwoHV2FybmluZxACEg8KC0luZm9ybWF0aW9uEAMSCAoESGludBAEKk4KDURpYWdub3N0aWNUYWcSHAoYVW5zcGVjaWZpZWREaWFnbm9zdGljVGFnEAASDwoLVW5uZWNlc3NhcnkQARIOCgpEZXByZWNhdGVkEAIqpQoKCExhbmd1YWdlEhcKE1Vuc3BlY2lmaWVkTGFuZ3VhZ2UQABIICgRBQkFQEDwSCAoEQXBleBBgEgcKA0FQTBAxEgcKA0FkYRAnEggKBEFnZGEQLRIMCghBc2NpaURvYxBWEgwKCEFzc2VtYmx5EDoSBwoDQXdrEEISBwoDQmF0EEQSCgoGQmliVGVYEFESBQoBQxAiEgkKBUNPQk9MEDsSBwoDQ1BQECMSBwoDQ1NTEBoSCgoGQ1NoYXJwEAESCwoHQ2xvanVyZRAIEhAKDENvZmZlZXNjcmlwdBAVEg4KCkNvbW1vbkxpc3AQCRIHCgNDb3EQLxIICgRDVURBEGESCAoERGFydBADEgoKBkRlbHBoaRA5EggKBERpZmYQWBIOCgpEb2NrZXJmaWxlEFASCgoGRHlhbG9nEDISCgoGRWxpeGlyEBESCgoGRXJsYW5nEBISCgoGRlNoYXJwECoSCAoERmlzaBBBEggKBEZsb3cQGBILCgdGb3J0cmFuEDgSDgoKR2l0X0NvbW1pdBBbEg4KCkdpdF9Db25maWcQWRIOCgpHaXRfUmViYXNlEFwSBgoCR28QIRILCgdHcmFwaFFMEGISCgoGR3Jvb3Z5EAcSCAoESFRNTBAeEggKBEhhY2sQFBIOCgpIYW5kbGViYXJzEFoSCwoHSGFza2VsbBAsEgkKBUlkcmlzEC4SBwoDSW5pEEgSBQoBShAzEggKBEpTT04QSxIICgRKYXZhEAYSDgoKSmF2YVNjcmlwdBAWEhMKD0phdmFTY3JpcHRSZWFjdBBdEgsKB0pzb25uZXQQTBIJCgVKdWxpYRA3EgwKCEp1c3RmaWxlEG0SCgoGS290bGluEAQSCQoFTGFUZVgQUxIICgRMZWFuEDASCAoETGVzcxAbEgcKA0x1YRAMEggKBEx1YXUQbBIMCghNYWtlZmlsZRBPEgwKCE1hcmtkb3duEFQSCgoGTWF0bGFiEDQSCgoGTmlja2VsEG4SBwoDTml4EE0SCQoFT0NhbWwQKRIPCgtPYmplY3RpdmVfQxAkEhEKDU9iamVjdGl2ZV9DUFAQJRIICgRPZGluEG8SCgoGUGFzY2FsEGMSBwoDUEhQEBMSCQoFUExTUUwQRhIICgRQZXJsEA0SDgoKUG93ZXJTaGVsbBBDEgoKBlByb2xvZxBHEgwKCFByb3RvYnVmEGQSCgoGUHl0aG9uEA8SBQoBUhA2EgoKBlJhY2tldBALEggKBFJha3UQDhIJCgVSYXpvchA+EgkKBVJlcHJvEGYSCAoEUmVTVBBVEggKBFJ1YnkQEBIICgRSdXN0ECgSBwoDU0FTED0SCAoEU0NTUxAdEgcKA1NNTBArEgcKA1NRTBBFEggKBFNhc3MQHBIJCgVTY2FsYRAFEgoKBlNjaGVtZRAKEg8KC1NoZWxsU2NyaXB0EEASCwoHU2t5bGFyaxBOEgkKBVNsYW5nEGsSDAoIU29saWRpdHkQXxIKCgZTdmVsdGUQahIJCgVTd2lmdBACEgcKA1RjbBBlEggKBFRPTUwQSRIHCgNUZVgQUhIKCgZUaHJpZnQQZxIOCgpUeXBlU2NyaXB0EBcSEwoPVHlwZVNjcmlwdFJlYWN0EF4SCwoHVmVyaWxvZxBoEggKBFZIREwQaRIPCgtWaXN1YWxCYXNpYxA/EgcKA1Z1ZRAZEgsKB1dvbGZyYW0QNRIHCgNYTUwQHxIHCgNYU0wQIBIICgRZQU1MEEoSBwoDWmlnECZCTgoSb3JnLnNjaXBfY29kZS5zY2lwQglTY2lwUHJvdG9QAVorZ2l0aHViLmNvbS9zY2lwLWNvZGUvc2NpcC9iaW5kaW5ncy9nby9zY2lwL2IGcHJvdG8z");
/**
* Index represents a complete SCIP index for a workspace this is rooted at a
@@ -2434,6 +2434,13 @@ export enum Language {
*/
Objective_CPP = 37,
+ /**
+ * https://odin-lang.org/
+ *
+ * @generated from enum value: Odin = 111;
+ */
+ Odin = 111,
+
/**
* @generated from enum value: Pascal = 99;
*/
@@ -2654,7 +2661,7 @@ export enum Language {
YAML = 74,
/**
- * NextLanguage = 111;
+ * NextLanguage = 112;
* Steps add a new language:
* 1. Copy-paste the "NextLanguage = N" line above
* 2. Increment "NextLanguage = N" to "NextLanguage = N+1"
diff --git a/docs/scip.md b/docs/scip.md
index 49dfd030..01c46896 100644
--- a/docs/scip.md
+++ b/docs/scip.md
@@ -647,6 +647,7 @@ Feel free to send a pull-request to add missing programming languages.
| 41 | OCaml |
| 36 | Objective_C |
| 37 | Objective_CPP |
+| 111 | Odin | https://odin-lang.org/
| 99 | Pascal |
| 19 | PHP |
| 70 | PLSQL |
@@ -690,7 +691,7 @@ Feel free to send a pull-request to add missing programming languages.
| 31 | XML |
| 32 | XSL |
| 74 | YAML |
-| 38 | Zig | NextLanguage = 111; Steps add a new language: 1. Copy-paste the "NextLanguage = N" line above 2. Increment "NextLanguage = N" to "NextLanguage = N+1" 3. Replace "NextLanguage = N" with the name of the new language. 4. Move the new language to the correct line above using alphabetical order 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
+| 38 | Zig | NextLanguage = 112; Steps add a new language: 1. Copy-paste the "NextLanguage = N" line above 2. Increment "NextLanguage = N" to "NextLanguage = N+1" 3. Replace "NextLanguage = N" with the name of the new language. 4. Move the new language to the correct line above using alphabetical order 5. (optional) Add a brief comment behind the language if the name is not self-explanatory
### PositionEncoding
diff --git a/scip.proto b/scip.proto
index 16362e2d..9ae8c963 100644
--- a/scip.proto
+++ b/scip.proto
@@ -907,6 +907,7 @@ enum Language {
OCaml = 41;
Objective_C = 36;
Objective_CPP = 37;
+ Odin = 111; // https://odin-lang.org/
Pascal = 99;
PHP = 19;
PLSQL = 70;
@@ -951,7 +952,7 @@ enum Language {
XSL = 32;
YAML = 74;
Zig = 38;
- // NextLanguage = 111;
+ // NextLanguage = 112;
// Steps add a new language:
// 1. Copy-paste the "NextLanguage = N" line above
// 2. Increment "NextLanguage = N" to "NextLanguage = N+1"