packages feed

scip (empty) → 0.8.0

raw patch · 5 files changed

+10152/−0 lines, 5 filesdep +basedep +proto-lens-runtime

Dependencies added: base, proto-lens-runtime

Files

+ LICENSE view
@@ -0,0 +1,201 @@+                                 Apache License+                           Version 2.0, January 2004+                        http://www.apache.org/licenses/++   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION++   1. Definitions.++      "License" shall mean the terms and conditions for use, reproduction,+      and distribution as defined by Sections 1 through 9 of this document.++      "Licensor" shall mean the copyright owner or entity authorized by+      the copyright owner that is granting the License.++      "Legal Entity" shall mean the union of the acting entity and all+      other entities that control, are controlled by, or are under common+      control with that entity. For the purposes of this definition,+      "control" means (i) the power, direct or indirect, to cause the+      direction or management of such entity, whether by contract or+      otherwise, or (ii) ownership of fifty percent (50%) or more of the+      outstanding shares, or (iii) beneficial ownership of such entity.++      "You" (or "Your") shall mean an individual or Legal Entity+      exercising permissions granted by this License.++      "Source" form shall mean the preferred form for making modifications,+      including but not limited to software source code, documentation+      source, and configuration files.++      "Object" form shall mean any form resulting from mechanical+      transformation or translation of a Source form, including but+      not limited to compiled object code, generated documentation,+      and conversions to other media types.++      "Work" shall mean the work of authorship, whether in Source or+      Object form, made available under the License, as indicated by a+      copyright notice that is included in or attached to the work+      (an example is provided in the Appendix below).++      "Derivative Works" shall mean any work, whether in Source or Object+      form, that is based on (or derived from) the Work and for which the+      editorial revisions, annotations, elaborations, or other modifications+      represent, as a whole, an original work of authorship. For the purposes+      of this License, Derivative Works shall not include works that remain+      separable from, or merely link (or bind by name) to the interfaces of,+      the Work and Derivative Works thereof.++      "Contribution" shall mean any work of authorship, including+      the original version of the Work and any modifications or additions+      to that Work or Derivative Works thereof, that is intentionally+      submitted to Licensor for inclusion in the Work by the copyright owner+      or by an individual or Legal Entity authorized to submit on behalf of+      the copyright owner. For the purposes of this definition, "submitted"+      means any form of electronic, verbal, or written communication sent+      to the Licensor or its representatives, including but not limited to+      communication on electronic mailing lists, source code control systems,+      and issue tracking systems that are managed by, or on behalf of, the+      Licensor for the purpose of discussing and improving the Work, but+      excluding communication that is conspicuously marked or otherwise+      designated in writing by the copyright owner as "Not a Contribution."++      "Contributor" shall mean Licensor and any individual or Legal Entity+      on behalf of whom a Contribution has been received by Licensor and+      subsequently incorporated within the Work.++   2. Grant of Copyright License. Subject to the terms and conditions of+      this License, each Contributor hereby grants to You a perpetual,+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable+      copyright license to reproduce, prepare Derivative Works of,+      publicly display, publicly perform, sublicense, and distribute the+      Work and such Derivative Works in Source or Object form.++   3. Grant of Patent License. Subject to the terms and conditions of+      this License, each Contributor hereby grants to You a perpetual,+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable+      (except as stated in this section) patent license to make, have made,+      use, offer to sell, sell, import, and otherwise transfer the Work,+      where such license applies only to those patent claims licensable+      by such Contributor that are necessarily infringed by their+      Contribution(s) alone or by combination of their Contribution(s)+      with the Work to which such Contribution(s) was submitted. If You+      institute patent litigation against any entity (including a+      cross-claim or counterclaim in a lawsuit) alleging that the Work+      or a Contribution incorporated within the Work constitutes direct+      or contributory patent infringement, then any patent licenses+      granted to You under this License for that Work shall terminate+      as of the date such litigation is filed.++   4. Redistribution. You may reproduce and distribute copies of the+      Work or Derivative Works thereof in any medium, with or without+      modifications, and in Source or Object form, provided that You+      meet the following conditions:++      (a) You must give any other recipients of the Work or+          Derivative Works a copy of this License; and++      (b) You must cause any modified files to carry prominent notices+          stating that You changed the files; and++      (c) You must retain, in the Source form of any Derivative Works+          that You distribute, all copyright, patent, trademark, and+          attribution notices from the Source form of the Work,+          excluding those notices that do not pertain to any part of+          the Derivative Works; and++      (d) If the Work includes a "NOTICE" text file as part of its+          distribution, then any Derivative Works that You distribute must+          include a readable copy of the attribution notices contained+          within such NOTICE file, excluding those notices that do not+          pertain to any part of the Derivative Works, in at least one+          of the following places: within a NOTICE text file distributed+          as part of the Derivative Works; within the Source form or+          documentation, if provided along with the Derivative Works; or,+          within a display generated by the Derivative Works, if and+          wherever such third-party notices normally appear. The contents+          of the NOTICE file are for informational purposes only and+          do not modify the License. You may add Your own attribution+          notices within Derivative Works that You distribute, alongside+          or as an addendum to the NOTICE text from the Work, provided+          that such additional attribution notices cannot be construed+          as modifying the License.++      You may add Your own copyright statement to Your modifications and+      may provide additional or different license terms and conditions+      for use, reproduction, or distribution of Your modifications, or+      for any such Derivative Works as a whole, provided Your use,+      reproduction, and distribution of the Work otherwise complies with+      the conditions stated in this License.++   5. Submission of Contributions. Unless You explicitly state otherwise,+      any Contribution intentionally submitted for inclusion in the Work+      by You to the Licensor shall be under the terms and conditions of+      this License, without any additional terms or conditions.+      Notwithstanding the above, nothing herein shall supersede or modify+      the terms of any separate license agreement you may have executed+      with Licensor regarding such Contributions.++   6. Trademarks. This License does not grant permission to use the trade+      names, trademarks, service marks, or product names of the Licensor,+      except as required for reasonable and customary use in describing the+      origin of the Work and reproducing the content of the NOTICE file.++   7. Disclaimer of Warranty. Unless required by applicable law or+      agreed to in writing, Licensor provides the Work (and each+      Contributor provides its Contributions) on an "AS IS" BASIS,+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or+      implied, including, without limitation, any warranties or conditions+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A+      PARTICULAR PURPOSE. You are solely responsible for determining the+      appropriateness of using or redistributing the Work and assume any+      risks associated with Your exercise of permissions under this License.++   8. Limitation of Liability. In no event and under no legal theory,+      whether in tort (including negligence), contract, or otherwise,+      unless required by applicable law (such as deliberate and grossly+      negligent acts) or agreed to in writing, shall any Contributor be+      liable to You for damages, including any direct, indirect, special,+      incidental, or consequential damages of any character arising as a+      result of this License or out of the use or inability to use the+      Work (including but not limited to damages for loss of goodwill,+      work stoppage, computer failure or malfunction, or any and all+      other commercial damages or losses), even if such Contributor+      has been advised of the possibility of such damages.++   9. Accepting Warranty or Additional Liability. While redistributing+      the Work or Derivative Works thereof, You may choose to offer,+      and charge a fee for, acceptance of support, warranty, indemnity,+      or other liability obligations and/or rights consistent with this+      License. However, in accepting such obligations, You may act only+      on Your own behalf and on Your sole responsibility, not on behalf+      of any other Contributor, and only if You agree to indemnify,+      defend, and hold each Contributor harmless for any liability+      incurred by, or claims asserted against, such Contributor by reason+      of your accepting any such warranty or additional liability.++   END OF TERMS AND CONDITIONS++   APPENDIX: How to apply the Apache License to your work.++      To apply the Apache License to your work, attach the following+      boilerplate notice, with the fields enclosed by brackets "[]"+      replaced with your own identifying information. (Don't include+      the brackets!)  The text should be enclosed in the appropriate+      comment syntax for the file format. We also recommend that a+      file or class name and description of purpose be included on the+      same "printed page" as the copyright notice for easier+      identification within third-party archives.++   Copyright [yyyy] [name of copyright owner]++   Licensed under the Apache License, Version 2.0 (the "License");+   you may not use this file except in compliance with the License.+   You may obtain a copy of the License at++       http://www.apache.org/licenses/LICENSE-2.0++   Unless required by applicable law or agreed to in writing, software+   distributed under the License is distributed on an "AS IS" BASIS,+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.+   See the License for the specific language governing permissions and+   limitations under the License.
+ README.md view
@@ -0,0 +1,30 @@+# scip --- Haskell bindings for SCIP++[SCIP] (pronounced "skip") is a language-agnostic protocol for indexing source+code. This package exposes Haskell types and lenses generated from+[`scip.proto`] via [`proto-lens`].++## Usage++```haskell+import Data.ProtoLens (decodeMessage)+import qualified Data.ByteString as BS+import qualified Proto.Scip as Scip+import           Proto.Scip_Fields (documents, occurrences, symbol)+import           Lens.Family2 ((^.))++main :: IO ()+main = do+  bytes <- BS.readFile "index.scip"+  case decodeMessage bytes :: Either String Scip.Index of+    Left  err -> putStrLn $ "parse error: " ++ err+    Right idx -> mapM_ print+      [ occ ^. symbol+      | doc <- idx ^. documents+      , occ <- doc ^. occurrences+      ]+```++[SCIP]: https://github.com/scip-code/scip+[`scip.proto`]: https://github.com/scip-code/scip/blob/main/scip.proto+[`proto-lens`]: https://github.com/google/proto-lens
+ scip.cabal view
@@ -0,0 +1,38 @@+cabal-version:      3.12++name:               scip+version:            0.8.0+synopsis:           Haskell bindings for the SCIP code intelligence protocol+description:+    SCIP (pronounced "skip") is a language-agnostic protocol for+    indexing source code, used to power code navigation functionality+    such as go-to-definition, find-references, and find-implementations.+    .+    This package provides Haskell bindings generated from the SCIP+    protobuf schema via @proto-lens@.+license:            Apache-2.0+license-file:       LICENSE+author:             SCIP Maintainers+maintainer:         code-intel@sourcegraph.com+homepage:           https://github.com/scip-code/scip+bug-reports:        https://github.com/scip-code/scip/issues+category:           Language+build-type:         Simple+extra-doc-files:    README.md+tested-with:        GHC == 9.10.3++source-repository head+    type:     git+    location: https://github.com/scip-code/scip.git+    subdir:   bindings/haskell++library+    ghc-options:      -Wall+    exposed-modules:+        Proto.Scip,+        Proto.Scip_Fields+    hs-source-dirs:   src+    default-language: GHC2024+    build-depends:+        proto-lens-runtime ^>= 0.7.0.0,+        base               >= 4.20 && < 5
+ src/Proto/Scip.hs view
@@ -0,0 +1,9502 @@+{- This file was auto-generated from scip.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Scip (+        Descriptor(), Descriptor'Suffix(..),+        Descriptor'Suffix(Descriptor'Package),+        Descriptor'Suffix'UnrecognizedValue, Diagnostic(),+        DiagnosticTag(..), DiagnosticTag(),+        DiagnosticTag'UnrecognizedValue, Document(), Index(), Language(..),+        Language(), Language'UnrecognizedValue, Metadata(), Occurrence(),+        Package(), PositionEncoding(..), PositionEncoding(),+        PositionEncoding'UnrecognizedValue, ProtocolVersion(..),+        ProtocolVersion(), ProtocolVersion'UnrecognizedValue,+        Relationship(), Severity(..), Severity(),+        Severity'UnrecognizedValue, Signature(), Symbol(),+        SymbolInformation(), SymbolInformation'Kind(..),+        SymbolInformation'Kind(), SymbolInformation'Kind'UnrecognizedValue,+        SymbolRole(..), SymbolRole(), SymbolRole'UnrecognizedValue,+        SyntaxKind(..), SyntaxKind(IdentifierKeyword, IdentifierModule),+        SyntaxKind'UnrecognizedValue, TextEncoding(..), TextEncoding(),+        TextEncoding'UnrecognizedValue, ToolInfo()+    ) where+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+{- | Fields :+     +         * 'Proto.Scip_Fields.name' @:: Lens' Descriptor Data.Text.Text@+         * 'Proto.Scip_Fields.disambiguator' @:: Lens' Descriptor Data.Text.Text@+         * 'Proto.Scip_Fields.suffix' @:: Lens' Descriptor Descriptor'Suffix@ -}+data Descriptor+  = Descriptor'_constructor {_Descriptor'name :: !Data.Text.Text,+                             _Descriptor'disambiguator :: !Data.Text.Text,+                             _Descriptor'suffix :: !Descriptor'Suffix,+                             _Descriptor'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Descriptor where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Descriptor "name" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Descriptor'name (\ x__ y__ -> x__ {_Descriptor'name = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Descriptor "disambiguator" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Descriptor'disambiguator+           (\ x__ y__ -> x__ {_Descriptor'disambiguator = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Descriptor "suffix" Descriptor'Suffix where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Descriptor'suffix (\ x__ y__ -> x__ {_Descriptor'suffix = y__}))+        Prelude.id+instance Data.ProtoLens.Message Descriptor where+  messageName _ = Data.Text.pack "scip.Descriptor"+  packedMessageDescriptor _+    = "\n\+      \\n\+      \Descriptor\DC2\DC2\n\+      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2$\n\+      \\rdisambiguator\CAN\STX \SOH(\tR\rdisambiguator\DC2/\n\+      \\ACKsuffix\CAN\ETX \SOH(\SO2\ETB.scip.Descriptor.SuffixR\ACKsuffix\"\165\SOH\n\+      \\ACKSuffix\DC2\NAK\n\+      \\DC1UnspecifiedSuffix\DLE\NUL\DC2\r\n\+      \\tNamespace\DLE\SOH\DC2\SI\n\+      \\aPackage\DLE\SOH\SUB\STX\b\SOH\DC2\b\n\+      \\EOTType\DLE\STX\DC2\b\n\+      \\EOTTerm\DLE\ETX\DC2\n\+      \\n\+      \\ACKMethod\DLE\EOT\DC2\DC1\n\+      \\rTypeParameter\DLE\ENQ\DC2\r\n\+      \\tParameter\DLE\ACK\DC2\b\n\+      \\EOTMeta\DLE\a\DC2\t\n\+      \\ENQLocal\DLE\b\DC2\t\n\+      \\ENQMacro\DLE\t\SUB\STX\DLE\SOH"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        name__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "name"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::+              Data.ProtoLens.FieldDescriptor Descriptor+        disambiguator__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "disambiguator"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"disambiguator")) ::+              Data.ProtoLens.FieldDescriptor Descriptor+        suffix__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "suffix"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor Descriptor'Suffix)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"suffix")) ::+              Data.ProtoLens.FieldDescriptor Descriptor+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, name__field_descriptor),+           (Data.ProtoLens.Tag 2, disambiguator__field_descriptor),+           (Data.ProtoLens.Tag 3, suffix__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Descriptor'_unknownFields+        (\ x__ y__ -> x__ {_Descriptor'_unknownFields = y__})+  defMessage+    = Descriptor'_constructor+        {_Descriptor'name = Data.ProtoLens.fieldDefault,+         _Descriptor'disambiguator = Data.ProtoLens.fieldDefault,+         _Descriptor'suffix = Data.ProtoLens.fieldDefault,+         _Descriptor'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Descriptor -> Data.ProtoLens.Encoding.Bytes.Parser Descriptor+        loop x+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "name"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "disambiguator"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"disambiguator") y x)+                        24+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "suffix"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"suffix") y x)+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do loop Data.ProtoLens.defMessage) "Descriptor"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let+                   _v+                     = Lens.Family2.view+                         (Data.ProtoLens.Field.field @"disambiguator") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (let+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"suffix") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+                            ((Prelude..)+                               ((Prelude..)+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                               Prelude.fromEnum _v))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData Descriptor where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Descriptor'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Descriptor'name x__)+                (Control.DeepSeq.deepseq+                   (_Descriptor'disambiguator x__)+                   (Control.DeepSeq.deepseq (_Descriptor'suffix x__) ())))+newtype Descriptor'Suffix'UnrecognizedValue+  = Descriptor'Suffix'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data Descriptor'Suffix+  = Descriptor'UnspecifiedSuffix |+    Descriptor'Namespace |+    Descriptor'Type |+    Descriptor'Term |+    Descriptor'Method |+    Descriptor'TypeParameter |+    Descriptor'Parameter |+    Descriptor'Meta |+    Descriptor'Local |+    Descriptor'Macro |+    Descriptor'Suffix'Unrecognized !Descriptor'Suffix'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum Descriptor'Suffix where+  maybeToEnum 0 = Prelude.Just Descriptor'UnspecifiedSuffix+  maybeToEnum 1 = Prelude.Just Descriptor'Namespace+  maybeToEnum 2 = Prelude.Just Descriptor'Type+  maybeToEnum 3 = Prelude.Just Descriptor'Term+  maybeToEnum 4 = Prelude.Just Descriptor'Method+  maybeToEnum 5 = Prelude.Just Descriptor'TypeParameter+  maybeToEnum 6 = Prelude.Just Descriptor'Parameter+  maybeToEnum 7 = Prelude.Just Descriptor'Meta+  maybeToEnum 8 = Prelude.Just Descriptor'Local+  maybeToEnum 9 = Prelude.Just Descriptor'Macro+  maybeToEnum k+    = Prelude.Just+        (Descriptor'Suffix'Unrecognized+           (Descriptor'Suffix'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum Descriptor'UnspecifiedSuffix = "UnspecifiedSuffix"+  showEnum Descriptor'Namespace = "Namespace"+  showEnum Descriptor'Type = "Type"+  showEnum Descriptor'Term = "Term"+  showEnum Descriptor'Method = "Method"+  showEnum Descriptor'TypeParameter = "TypeParameter"+  showEnum Descriptor'Parameter = "Parameter"+  showEnum Descriptor'Meta = "Meta"+  showEnum Descriptor'Local = "Local"+  showEnum Descriptor'Macro = "Macro"+  showEnum+    (Descriptor'Suffix'Unrecognized (Descriptor'Suffix'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedSuffix"+    = Prelude.Just Descriptor'UnspecifiedSuffix+    | (Prelude.==) k "Namespace" = Prelude.Just Descriptor'Namespace+    | (Prelude.==) k "Package" = Prelude.Just Descriptor'Package+    | (Prelude.==) k "Type" = Prelude.Just Descriptor'Type+    | (Prelude.==) k "Term" = Prelude.Just Descriptor'Term+    | (Prelude.==) k "Method" = Prelude.Just Descriptor'Method+    | (Prelude.==) k "TypeParameter"+    = Prelude.Just Descriptor'TypeParameter+    | (Prelude.==) k "Parameter" = Prelude.Just Descriptor'Parameter+    | (Prelude.==) k "Meta" = Prelude.Just Descriptor'Meta+    | (Prelude.==) k "Local" = Prelude.Just Descriptor'Local+    | (Prelude.==) k "Macro" = Prelude.Just Descriptor'Macro+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded Descriptor'Suffix where+  minBound = Descriptor'UnspecifiedSuffix+  maxBound = Descriptor'Macro+instance Prelude.Enum Descriptor'Suffix where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum Suffix: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum Descriptor'UnspecifiedSuffix = 0+  fromEnum Descriptor'Namespace = 1+  fromEnum Descriptor'Type = 2+  fromEnum Descriptor'Term = 3+  fromEnum Descriptor'Method = 4+  fromEnum Descriptor'TypeParameter = 5+  fromEnum Descriptor'Parameter = 6+  fromEnum Descriptor'Meta = 7+  fromEnum Descriptor'Local = 8+  fromEnum Descriptor'Macro = 9+  fromEnum+    (Descriptor'Suffix'Unrecognized (Descriptor'Suffix'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ Descriptor'Macro+    = Prelude.error+        "Descriptor'Suffix.succ: bad argument Descriptor'Macro. This value would be out of bounds."+  succ Descriptor'UnspecifiedSuffix = Descriptor'Namespace+  succ Descriptor'Namespace = Descriptor'Type+  succ Descriptor'Type = Descriptor'Term+  succ Descriptor'Term = Descriptor'Method+  succ Descriptor'Method = Descriptor'TypeParameter+  succ Descriptor'TypeParameter = Descriptor'Parameter+  succ Descriptor'Parameter = Descriptor'Meta+  succ Descriptor'Meta = Descriptor'Local+  succ Descriptor'Local = Descriptor'Macro+  succ (Descriptor'Suffix'Unrecognized _)+    = Prelude.error+        "Descriptor'Suffix.succ: bad argument: unrecognized value"+  pred Descriptor'UnspecifiedSuffix+    = Prelude.error+        "Descriptor'Suffix.pred: bad argument Descriptor'UnspecifiedSuffix. This value would be out of bounds."+  pred Descriptor'Namespace = Descriptor'UnspecifiedSuffix+  pred Descriptor'Type = Descriptor'Namespace+  pred Descriptor'Term = Descriptor'Type+  pred Descriptor'Method = Descriptor'Term+  pred Descriptor'TypeParameter = Descriptor'Method+  pred Descriptor'Parameter = Descriptor'TypeParameter+  pred Descriptor'Meta = Descriptor'Parameter+  pred Descriptor'Local = Descriptor'Meta+  pred Descriptor'Macro = Descriptor'Local+  pred (Descriptor'Suffix'Unrecognized _)+    = Prelude.error+        "Descriptor'Suffix.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault Descriptor'Suffix where+  fieldDefault = Descriptor'UnspecifiedSuffix+instance Control.DeepSeq.NFData Descriptor'Suffix where+  rnf x__ = Prelude.seq x__ ()+pattern Descriptor'Package :: Descriptor'Suffix+pattern Descriptor'Package = Descriptor'Namespace+{- | Fields :+     +         * 'Proto.Scip_Fields.severity' @:: Lens' Diagnostic Severity@+         * 'Proto.Scip_Fields.code' @:: Lens' Diagnostic Data.Text.Text@+         * 'Proto.Scip_Fields.message' @:: Lens' Diagnostic Data.Text.Text@+         * 'Proto.Scip_Fields.source' @:: Lens' Diagnostic Data.Text.Text@+         * 'Proto.Scip_Fields.tags' @:: Lens' Diagnostic [DiagnosticTag]@+         * 'Proto.Scip_Fields.vec'tags' @:: Lens' Diagnostic (Data.Vector.Vector DiagnosticTag)@ -}+data Diagnostic+  = Diagnostic'_constructor {_Diagnostic'severity :: !Severity,+                             _Diagnostic'code :: !Data.Text.Text,+                             _Diagnostic'message :: !Data.Text.Text,+                             _Diagnostic'source :: !Data.Text.Text,+                             _Diagnostic'tags :: !(Data.Vector.Vector DiagnosticTag),+                             _Diagnostic'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Diagnostic where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Diagnostic "severity" Severity where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'severity+           (\ x__ y__ -> x__ {_Diagnostic'severity = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Diagnostic "code" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'code (\ x__ y__ -> x__ {_Diagnostic'code = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Diagnostic "message" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'message (\ x__ y__ -> x__ {_Diagnostic'message = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Diagnostic "source" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'source (\ x__ y__ -> x__ {_Diagnostic'source = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Diagnostic "tags" [DiagnosticTag] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'tags (\ x__ y__ -> x__ {_Diagnostic'tags = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Diagnostic "vec'tags" (Data.Vector.Vector DiagnosticTag) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Diagnostic'tags (\ x__ y__ -> x__ {_Diagnostic'tags = y__}))+        Prelude.id+instance Data.ProtoLens.Message Diagnostic where+  messageName _ = Data.Text.pack "scip.Diagnostic"+  packedMessageDescriptor _+    = "\n\+      \\n\+      \Diagnostic\DC2*\n\+      \\bseverity\CAN\SOH \SOH(\SO2\SO.scip.SeverityR\bseverity\DC2\DC2\n\+      \\EOTcode\CAN\STX \SOH(\tR\EOTcode\DC2\CAN\n\+      \\amessage\CAN\ETX \SOH(\tR\amessage\DC2\SYN\n\+      \\ACKsource\CAN\EOT \SOH(\tR\ACKsource\DC2'\n\+      \\EOTtags\CAN\ENQ \ETX(\SO2\DC3.scip.DiagnosticTagR\EOTtags"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        severity__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "severity"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor Severity)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"severity")) ::+              Data.ProtoLens.FieldDescriptor Diagnostic+        code__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "code"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"code")) ::+              Data.ProtoLens.FieldDescriptor Diagnostic+        message__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "message"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"message")) ::+              Data.ProtoLens.FieldDescriptor Diagnostic+        source__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "source"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"source")) ::+              Data.ProtoLens.FieldDescriptor Diagnostic+        tags__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "tags"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor DiagnosticTag)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"tags")) ::+              Data.ProtoLens.FieldDescriptor Diagnostic+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, severity__field_descriptor),+           (Data.ProtoLens.Tag 2, code__field_descriptor),+           (Data.ProtoLens.Tag 3, message__field_descriptor),+           (Data.ProtoLens.Tag 4, source__field_descriptor),+           (Data.ProtoLens.Tag 5, tags__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Diagnostic'_unknownFields+        (\ x__ y__ -> x__ {_Diagnostic'_unknownFields = y__})+  defMessage+    = Diagnostic'_constructor+        {_Diagnostic'severity = Data.ProtoLens.fieldDefault,+         _Diagnostic'code = Data.ProtoLens.fieldDefault,+         _Diagnostic'message = Data.ProtoLens.fieldDefault,+         _Diagnostic'source = Data.ProtoLens.fieldDefault,+         _Diagnostic'tags = Data.Vector.Generic.empty,+         _Diagnostic'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Diagnostic+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld DiagnosticTag+             -> Data.ProtoLens.Encoding.Bytes.Parser Diagnostic+        loop x mutable'tags+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'tags)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'tags") frozen'tags x))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "severity"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"severity") y x)+                                  mutable'tags+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "code"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"code") y x)+                                  mutable'tags+                        26+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "message"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"message") y x)+                                  mutable'tags+                        34+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "source"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"source") y x)+                                  mutable'tags+                        40+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (Prelude.fmap+                                           Prelude.toEnum+                                           (Prelude.fmap+                                              Prelude.fromIntegral+                                              Data.ProtoLens.Encoding.Bytes.getVarInt))+                                        "tags"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append mutable'tags y)+                                loop x v+                        42+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                        Data.ProtoLens.Encoding.Bytes.isolate+                                          (Prelude.fromIntegral len)+                                          ((let+                                              ploop qs+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+                                                     if packedEnd then+                                                         Prelude.return qs+                                                     else+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                                                    (Prelude.fmap+                                                                       Prelude.toEnum+                                                                       (Prelude.fmap+                                                                          Prelude.fromIntegral+                                                                          Data.ProtoLens.Encoding.Bytes.getVarInt))+                                                                    "tags"+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                                     (Data.ProtoLens.Encoding.Growing.append+                                                                        qs q)+                                                            ploop qs'+                                            in ploop)+                                             mutable'tags)+                                loop x y+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'tags+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'tags <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                Data.ProtoLens.Encoding.Growing.new+              loop Data.ProtoLens.defMessage mutable'tags)+          "Diagnostic"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"severity") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+                      ((Prelude..)+                         ((Prelude..)+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                         Prelude.fromEnum _v))+             ((Data.Monoid.<>)+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"code") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (let+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"message") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                            ((Prelude..)+                               (\ bs+                                  -> (Data.Monoid.<>)+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                               Data.Text.Encoding.encodeUtf8 _v))+                   ((Data.Monoid.<>)+                      (let+                         _v = Lens.Family2.view (Data.ProtoLens.Field.field @"source") _x+                       in+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                             Data.Monoid.mempty+                         else+                             (Data.Monoid.<>)+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+                               ((Prelude..)+                                  (\ bs+                                     -> (Data.Monoid.<>)+                                          (Data.ProtoLens.Encoding.Bytes.putVarInt+                                             (Prelude.fromIntegral (Data.ByteString.length bs)))+                                          (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                  Data.Text.Encoding.encodeUtf8 _v))+                      ((Data.Monoid.<>)+                         (let+                            p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'tags") _x+                          in+                            if Data.Vector.Generic.null p then+                                Data.Monoid.mempty+                            else+                                (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+                                  ((\ bs+                                      -> (Data.Monoid.<>)+                                           (Data.ProtoLens.Encoding.Bytes.putVarInt+                                              (Prelude.fromIntegral (Data.ByteString.length bs)))+                                           (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                     (Data.ProtoLens.Encoding.Bytes.runBuilder+                                        (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                                           ((Prelude..)+                                              ((Prelude..)+                                                 Data.ProtoLens.Encoding.Bytes.putVarInt+                                                 Prelude.fromIntegral)+                                              Prelude.fromEnum)+                                           p))))+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData Diagnostic where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Diagnostic'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Diagnostic'severity x__)+                (Control.DeepSeq.deepseq+                   (_Diagnostic'code x__)+                   (Control.DeepSeq.deepseq+                      (_Diagnostic'message x__)+                      (Control.DeepSeq.deepseq+                         (_Diagnostic'source x__)+                         (Control.DeepSeq.deepseq (_Diagnostic'tags x__) ())))))+newtype DiagnosticTag'UnrecognizedValue+  = DiagnosticTag'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data DiagnosticTag+  = UnspecifiedDiagnosticTag |+    Unnecessary |+    Deprecated |+    DiagnosticTag'Unrecognized !DiagnosticTag'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum DiagnosticTag where+  maybeToEnum 0 = Prelude.Just UnspecifiedDiagnosticTag+  maybeToEnum 1 = Prelude.Just Unnecessary+  maybeToEnum 2 = Prelude.Just Deprecated+  maybeToEnum k+    = Prelude.Just+        (DiagnosticTag'Unrecognized+           (DiagnosticTag'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedDiagnosticTag = "UnspecifiedDiagnosticTag"+  showEnum Unnecessary = "Unnecessary"+  showEnum Deprecated = "Deprecated"+  showEnum+    (DiagnosticTag'Unrecognized (DiagnosticTag'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedDiagnosticTag"+    = Prelude.Just UnspecifiedDiagnosticTag+    | (Prelude.==) k "Unnecessary" = Prelude.Just Unnecessary+    | (Prelude.==) k "Deprecated" = Prelude.Just Deprecated+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded DiagnosticTag where+  minBound = UnspecifiedDiagnosticTag+  maxBound = Deprecated+instance Prelude.Enum DiagnosticTag where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum DiagnosticTag: "+              (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedDiagnosticTag = 0+  fromEnum Unnecessary = 1+  fromEnum Deprecated = 2+  fromEnum+    (DiagnosticTag'Unrecognized (DiagnosticTag'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ Deprecated+    = Prelude.error+        "DiagnosticTag.succ: bad argument Deprecated. This value would be out of bounds."+  succ UnspecifiedDiagnosticTag = Unnecessary+  succ Unnecessary = Deprecated+  succ (DiagnosticTag'Unrecognized _)+    = Prelude.error+        "DiagnosticTag.succ: bad argument: unrecognized value"+  pred UnspecifiedDiagnosticTag+    = Prelude.error+        "DiagnosticTag.pred: bad argument UnspecifiedDiagnosticTag. This value would be out of bounds."+  pred Unnecessary = UnspecifiedDiagnosticTag+  pred Deprecated = Unnecessary+  pred (DiagnosticTag'Unrecognized _)+    = Prelude.error+        "DiagnosticTag.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault DiagnosticTag where+  fieldDefault = UnspecifiedDiagnosticTag+instance Control.DeepSeq.NFData DiagnosticTag where+  rnf x__ = Prelude.seq x__ ()+{- | Fields :+     +         * 'Proto.Scip_Fields.language' @:: Lens' Document Data.Text.Text@+         * 'Proto.Scip_Fields.relativePath' @:: Lens' Document Data.Text.Text@+         * 'Proto.Scip_Fields.occurrences' @:: Lens' Document [Occurrence]@+         * 'Proto.Scip_Fields.vec'occurrences' @:: Lens' Document (Data.Vector.Vector Occurrence)@+         * 'Proto.Scip_Fields.symbols' @:: Lens' Document [SymbolInformation]@+         * 'Proto.Scip_Fields.vec'symbols' @:: Lens' Document (Data.Vector.Vector SymbolInformation)@+         * 'Proto.Scip_Fields.text' @:: Lens' Document Data.Text.Text@+         * 'Proto.Scip_Fields.positionEncoding' @:: Lens' Document PositionEncoding@ -}+data Document+  = Document'_constructor {_Document'language :: !Data.Text.Text,+                           _Document'relativePath :: !Data.Text.Text,+                           _Document'occurrences :: !(Data.Vector.Vector Occurrence),+                           _Document'symbols :: !(Data.Vector.Vector SymbolInformation),+                           _Document'text :: !Data.Text.Text,+                           _Document'positionEncoding :: !PositionEncoding,+                           _Document'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Document where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Document "language" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'language (\ x__ y__ -> x__ {_Document'language = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Document "relativePath" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'relativePath+           (\ x__ y__ -> x__ {_Document'relativePath = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Document "occurrences" [Occurrence] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'occurrences+           (\ x__ y__ -> x__ {_Document'occurrences = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Document "vec'occurrences" (Data.Vector.Vector Occurrence) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'occurrences+           (\ x__ y__ -> x__ {_Document'occurrences = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Document "symbols" [SymbolInformation] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'symbols (\ x__ y__ -> x__ {_Document'symbols = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Document "vec'symbols" (Data.Vector.Vector SymbolInformation) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'symbols (\ x__ y__ -> x__ {_Document'symbols = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Document "text" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'text (\ x__ y__ -> x__ {_Document'text = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Document "positionEncoding" PositionEncoding where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Document'positionEncoding+           (\ x__ y__ -> x__ {_Document'positionEncoding = y__}))+        Prelude.id+instance Data.ProtoLens.Message Document where+  messageName _ = Data.Text.pack "scip.Document"+  packedMessageDescriptor _+    = "\n\+      \\bDocument\DC2\SUB\n\+      \\blanguage\CAN\EOT \SOH(\tR\blanguage\DC2#\n\+      \\rrelative_path\CAN\SOH \SOH(\tR\frelativePath\DC22\n\+      \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrences\DC21\n\+      \\asymbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\asymbols\DC2\DC2\n\+      \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC2C\n\+      \\DC1position_encoding\CAN\ACK \SOH(\SO2\SYN.scip.PositionEncodingR\DLEpositionEncoding"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        language__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "language"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"language")) ::+              Data.ProtoLens.FieldDescriptor Document+        relativePath__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "relative_path"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"relativePath")) ::+              Data.ProtoLens.FieldDescriptor Document+        occurrences__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "occurrences"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Occurrence)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"occurrences")) ::+              Data.ProtoLens.FieldDescriptor Document+        symbols__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "symbols"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor SymbolInformation)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"symbols")) ::+              Data.ProtoLens.FieldDescriptor Document+        text__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "text"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"text")) ::+              Data.ProtoLens.FieldDescriptor Document+        positionEncoding__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "position_encoding"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor PositionEncoding)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"positionEncoding")) ::+              Data.ProtoLens.FieldDescriptor Document+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 4, language__field_descriptor),+           (Data.ProtoLens.Tag 1, relativePath__field_descriptor),+           (Data.ProtoLens.Tag 2, occurrences__field_descriptor),+           (Data.ProtoLens.Tag 3, symbols__field_descriptor),+           (Data.ProtoLens.Tag 5, text__field_descriptor),+           (Data.ProtoLens.Tag 6, positionEncoding__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Document'_unknownFields+        (\ x__ y__ -> x__ {_Document'_unknownFields = y__})+  defMessage+    = Document'_constructor+        {_Document'language = Data.ProtoLens.fieldDefault,+         _Document'relativePath = Data.ProtoLens.fieldDefault,+         _Document'occurrences = Data.Vector.Generic.empty,+         _Document'symbols = Data.Vector.Generic.empty,+         _Document'text = Data.ProtoLens.fieldDefault,+         _Document'positionEncoding = Data.ProtoLens.fieldDefault,+         _Document'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Document+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Occurrence+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SymbolInformation+                -> Data.ProtoLens.Encoding.Bytes.Parser Document+        loop x mutable'occurrences mutable'symbols+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'occurrences <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                 mutable'occurrences)+                      frozen'symbols <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                          (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                             mutable'symbols)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'occurrences") frozen'occurrences+                              (Lens.Family2.set+                                 (Data.ProtoLens.Field.field @"vec'symbols") frozen'symbols x)))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        34+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "language"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x)+                                  mutable'occurrences mutable'symbols+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "relative_path"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"relativePath") y x)+                                  mutable'occurrences mutable'symbols+                        18+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "occurrences"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'occurrences y)+                                loop x v mutable'symbols+                        26+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "symbols"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append mutable'symbols y)+                                loop x mutable'occurrences v+                        42+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "text"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x)+                                  mutable'occurrences mutable'symbols+                        48+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "position_encoding"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"positionEncoding") y x)+                                  mutable'occurrences mutable'symbols+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'occurrences mutable'symbols+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'occurrences <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       Data.ProtoLens.Encoding.Growing.new+              mutable'symbols <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                   Data.ProtoLens.Encoding.Growing.new+              loop Data.ProtoLens.defMessage mutable'occurrences mutable'symbols)+          "Document"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"language") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let+                   _v+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"relativePath") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.ProtoLens.encodeMessage _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'occurrences") _x))+                   ((Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                         (\ _v+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                                 ((Prelude..)+                                    (\ bs+                                       -> (Data.Monoid.<>)+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                    Data.ProtoLens.encodeMessage _v))+                         (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'symbols") _x))+                      ((Data.Monoid.<>)+                         (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"text") _x+                          in+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                Data.Monoid.mempty+                            else+                                (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+                                  ((Prelude..)+                                     (\ bs+                                        -> (Data.Monoid.<>)+                                             (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                (Prelude.fromIntegral (Data.ByteString.length bs)))+                                             (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                     Data.Text.Encoding.encodeUtf8 _v))+                         ((Data.Monoid.<>)+                            (let+                               _v+                                 = Lens.Family2.view+                                     (Data.ProtoLens.Field.field @"positionEncoding") _x+                             in+                               if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                   Data.Monoid.mempty+                               else+                                   (Data.Monoid.<>)+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt 48)+                                     ((Prelude..)+                                        ((Prelude..)+                                           Data.ProtoLens.Encoding.Bytes.putVarInt+                                           Prelude.fromIntegral)+                                        Prelude.fromEnum _v))+                            (Data.ProtoLens.Encoding.Wire.buildFieldSet+                               (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))+instance Control.DeepSeq.NFData Document where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Document'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Document'language x__)+                (Control.DeepSeq.deepseq+                   (_Document'relativePath x__)+                   (Control.DeepSeq.deepseq+                      (_Document'occurrences x__)+                      (Control.DeepSeq.deepseq+                         (_Document'symbols x__)+                         (Control.DeepSeq.deepseq+                            (_Document'text x__)+                            (Control.DeepSeq.deepseq (_Document'positionEncoding x__) ()))))))+{- | Fields :+     +         * 'Proto.Scip_Fields.metadata' @:: Lens' Index Metadata@+         * 'Proto.Scip_Fields.maybe'metadata' @:: Lens' Index (Prelude.Maybe Metadata)@+         * 'Proto.Scip_Fields.documents' @:: Lens' Index [Document]@+         * 'Proto.Scip_Fields.vec'documents' @:: Lens' Index (Data.Vector.Vector Document)@+         * 'Proto.Scip_Fields.externalSymbols' @:: Lens' Index [SymbolInformation]@+         * 'Proto.Scip_Fields.vec'externalSymbols' @:: Lens' Index (Data.Vector.Vector SymbolInformation)@ -}+data Index+  = Index'_constructor {_Index'metadata :: !(Prelude.Maybe Metadata),+                        _Index'documents :: !(Data.Vector.Vector Document),+                        _Index'externalSymbols :: !(Data.Vector.Vector SymbolInformation),+                        _Index'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Index where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Index "metadata" Metadata where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'metadata (\ x__ y__ -> x__ {_Index'metadata = y__}))+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField Index "maybe'metadata" (Prelude.Maybe Metadata) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'metadata (\ x__ y__ -> x__ {_Index'metadata = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Index "documents" [Document] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'documents (\ x__ y__ -> x__ {_Index'documents = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Index "vec'documents" (Data.Vector.Vector Document) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'documents (\ x__ y__ -> x__ {_Index'documents = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Index "externalSymbols" [SymbolInformation] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'externalSymbols+           (\ x__ y__ -> x__ {_Index'externalSymbols = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Index "vec'externalSymbols" (Data.Vector.Vector SymbolInformation) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Index'externalSymbols+           (\ x__ y__ -> x__ {_Index'externalSymbols = y__}))+        Prelude.id+instance Data.ProtoLens.Message Index where+  messageName _ = Data.Text.pack "scip.Index"+  packedMessageDescriptor _+    = "\n\+      \\ENQIndex\DC2*\n\+      \\bmetadata\CAN\SOH \SOH(\v2\SO.scip.MetadataR\bmetadata\DC2,\n\+      \\tdocuments\CAN\STX \ETX(\v2\SO.scip.DocumentR\tdocuments\DC2B\n\+      \\DLEexternal_symbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\SIexternalSymbols"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        metadata__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "metadata"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Metadata)+              (Data.ProtoLens.OptionalField+                 (Data.ProtoLens.Field.field @"maybe'metadata")) ::+              Data.ProtoLens.FieldDescriptor Index+        documents__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "documents"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Document)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"documents")) ::+              Data.ProtoLens.FieldDescriptor Index+        externalSymbols__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "external_symbols"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor SymbolInformation)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"externalSymbols")) ::+              Data.ProtoLens.FieldDescriptor Index+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, metadata__field_descriptor),+           (Data.ProtoLens.Tag 2, documents__field_descriptor),+           (Data.ProtoLens.Tag 3, externalSymbols__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Index'_unknownFields+        (\ x__ y__ -> x__ {_Index'_unknownFields = y__})+  defMessage+    = Index'_constructor+        {_Index'metadata = Prelude.Nothing,+         _Index'documents = Data.Vector.Generic.empty,+         _Index'externalSymbols = Data.Vector.Generic.empty,+         _Index'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Index+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Document+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld SymbolInformation+                -> Data.ProtoLens.Encoding.Bytes.Parser Index+        loop x mutable'documents mutable'externalSymbols+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'documents <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                               mutable'documents)+                      frozen'externalSymbols <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                  (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                     mutable'externalSymbols)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'documents") frozen'documents+                              (Lens.Family2.set+                                 (Data.ProtoLens.Field.field @"vec'externalSymbols")+                                 frozen'externalSymbols x)))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.isolate+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+                                       "metadata"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"metadata") y x)+                                  mutable'documents mutable'externalSymbols+                        18+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "documents"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append mutable'documents y)+                                loop x v mutable'externalSymbols+                        26+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "external_symbols"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'externalSymbols y)+                                loop x mutable'documents v+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'documents mutable'externalSymbols+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'documents <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                     Data.ProtoLens.Encoding.Growing.new+              mutable'externalSymbols <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                           Data.ProtoLens.Encoding.Growing.new+              loop+                Data.ProtoLens.defMessage mutable'documents+                mutable'externalSymbols)+          "Index"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (case+                  Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'metadata") _x+              of+                Prelude.Nothing -> Data.Monoid.mempty+                (Prelude.Just _v)+                  -> (Data.Monoid.<>)+                       (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                       ((Prelude..)+                          (\ bs+                             -> (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt+                                     (Prelude.fromIntegral (Data.ByteString.length bs)))+                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                          Data.ProtoLens.encodeMessage _v))+             ((Data.Monoid.<>)+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                   (\ _v+                      -> (Data.Monoid.<>)+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                           ((Prelude..)+                              (\ bs+                                 -> (Data.Monoid.<>)+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                              Data.ProtoLens.encodeMessage _v))+                   (Lens.Family2.view+                      (Data.ProtoLens.Field.field @"vec'documents") _x))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.ProtoLens.encodeMessage _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'externalSymbols") _x))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData Index where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Index'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Index'metadata x__)+                (Control.DeepSeq.deepseq+                   (_Index'documents x__)+                   (Control.DeepSeq.deepseq (_Index'externalSymbols x__) ())))+newtype Language'UnrecognizedValue+  = Language'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data Language+  = UnspecifiedLanguage |+    CSharp |+    Swift |+    Dart |+    Kotlin |+    Scala |+    Java |+    Groovy |+    Clojure |+    CommonLisp |+    Scheme |+    Racket |+    Lua |+    Perl |+    Raku |+    Python |+    Ruby |+    Elixir |+    Erlang |+    PHP |+    Hack |+    Coffeescript |+    JavaScript |+    TypeScript |+    Flow |+    Vue |+    CSS |+    Less |+    Sass |+    SCSS |+    HTML |+    XML |+    XSL |+    Go |+    C |+    CPP |+    Objective_C |+    Objective_CPP |+    Zig |+    Ada |+    Rust |+    OCaml |+    FSharp |+    SML |+    Haskell |+    Agda |+    Idris |+    Coq |+    Lean |+    APL |+    Dyalog |+    J |+    Matlab |+    Wolfram |+    R |+    Julia |+    Fortran |+    Delphi |+    Assembly |+    COBOL |+    ABAP |+    SAS |+    Razor |+    VisualBasic |+    ShellScript |+    Fish |+    Awk |+    PowerShell |+    Bat |+    SQL |+    PLSQL |+    Prolog |+    Ini |+    TOML |+    YAML |+    JSON |+    Jsonnet |+    Nix |+    Skylark |+    Makefile |+    Dockerfile |+    BibTeX |+    TeX |+    LaTeX |+    Markdown |+    ReST |+    AsciiDoc |+    Diff |+    Git_Config |+    Handlebars |+    Git_Commit |+    Git_Rebase |+    JavaScriptReact |+    TypeScriptReact |+    Solidity |+    Apex |+    CUDA |+    GraphQL |+    Pascal |+    Protobuf |+    Tcl |+    Repro |+    Thrift |+    Verilog |+    VHDL |+    Svelte |+    Slang |+    Luau |+    Justfile |+    Nickel |+    Language'Unrecognized !Language'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum Language where+  maybeToEnum 0 = Prelude.Just UnspecifiedLanguage+  maybeToEnum 1 = Prelude.Just CSharp+  maybeToEnum 2 = Prelude.Just Swift+  maybeToEnum 3 = Prelude.Just Dart+  maybeToEnum 4 = Prelude.Just Kotlin+  maybeToEnum 5 = Prelude.Just Scala+  maybeToEnum 6 = Prelude.Just Java+  maybeToEnum 7 = Prelude.Just Groovy+  maybeToEnum 8 = Prelude.Just Clojure+  maybeToEnum 9 = Prelude.Just CommonLisp+  maybeToEnum 10 = Prelude.Just Scheme+  maybeToEnum 11 = Prelude.Just Racket+  maybeToEnum 12 = Prelude.Just Lua+  maybeToEnum 13 = Prelude.Just Perl+  maybeToEnum 14 = Prelude.Just Raku+  maybeToEnum 15 = Prelude.Just Python+  maybeToEnum 16 = Prelude.Just Ruby+  maybeToEnum 17 = Prelude.Just Elixir+  maybeToEnum 18 = Prelude.Just Erlang+  maybeToEnum 19 = Prelude.Just PHP+  maybeToEnum 20 = Prelude.Just Hack+  maybeToEnum 21 = Prelude.Just Coffeescript+  maybeToEnum 22 = Prelude.Just JavaScript+  maybeToEnum 23 = Prelude.Just TypeScript+  maybeToEnum 24 = Prelude.Just Flow+  maybeToEnum 25 = Prelude.Just Vue+  maybeToEnum 26 = Prelude.Just CSS+  maybeToEnum 27 = Prelude.Just Less+  maybeToEnum 28 = Prelude.Just Sass+  maybeToEnum 29 = Prelude.Just SCSS+  maybeToEnum 30 = Prelude.Just HTML+  maybeToEnum 31 = Prelude.Just XML+  maybeToEnum 32 = Prelude.Just XSL+  maybeToEnum 33 = Prelude.Just Go+  maybeToEnum 34 = Prelude.Just C+  maybeToEnum 35 = Prelude.Just CPP+  maybeToEnum 36 = Prelude.Just Objective_C+  maybeToEnum 37 = Prelude.Just Objective_CPP+  maybeToEnum 38 = Prelude.Just Zig+  maybeToEnum 39 = Prelude.Just Ada+  maybeToEnum 40 = Prelude.Just Rust+  maybeToEnum 41 = Prelude.Just OCaml+  maybeToEnum 42 = Prelude.Just FSharp+  maybeToEnum 43 = Prelude.Just SML+  maybeToEnum 44 = Prelude.Just Haskell+  maybeToEnum 45 = Prelude.Just Agda+  maybeToEnum 46 = Prelude.Just Idris+  maybeToEnum 47 = Prelude.Just Coq+  maybeToEnum 48 = Prelude.Just Lean+  maybeToEnum 49 = Prelude.Just APL+  maybeToEnum 50 = Prelude.Just Dyalog+  maybeToEnum 51 = Prelude.Just J+  maybeToEnum 52 = Prelude.Just Matlab+  maybeToEnum 53 = Prelude.Just Wolfram+  maybeToEnum 54 = Prelude.Just R+  maybeToEnum 55 = Prelude.Just Julia+  maybeToEnum 56 = Prelude.Just Fortran+  maybeToEnum 57 = Prelude.Just Delphi+  maybeToEnum 58 = Prelude.Just Assembly+  maybeToEnum 59 = Prelude.Just COBOL+  maybeToEnum 60 = Prelude.Just ABAP+  maybeToEnum 61 = Prelude.Just SAS+  maybeToEnum 62 = Prelude.Just Razor+  maybeToEnum 63 = Prelude.Just VisualBasic+  maybeToEnum 64 = Prelude.Just ShellScript+  maybeToEnum 65 = Prelude.Just Fish+  maybeToEnum 66 = Prelude.Just Awk+  maybeToEnum 67 = Prelude.Just PowerShell+  maybeToEnum 68 = Prelude.Just Bat+  maybeToEnum 69 = Prelude.Just SQL+  maybeToEnum 70 = Prelude.Just PLSQL+  maybeToEnum 71 = Prelude.Just Prolog+  maybeToEnum 72 = Prelude.Just Ini+  maybeToEnum 73 = Prelude.Just TOML+  maybeToEnum 74 = Prelude.Just YAML+  maybeToEnum 75 = Prelude.Just JSON+  maybeToEnum 76 = Prelude.Just Jsonnet+  maybeToEnum 77 = Prelude.Just Nix+  maybeToEnum 78 = Prelude.Just Skylark+  maybeToEnum 79 = Prelude.Just Makefile+  maybeToEnum 80 = Prelude.Just Dockerfile+  maybeToEnum 81 = Prelude.Just BibTeX+  maybeToEnum 82 = Prelude.Just TeX+  maybeToEnum 83 = Prelude.Just LaTeX+  maybeToEnum 84 = Prelude.Just Markdown+  maybeToEnum 85 = Prelude.Just ReST+  maybeToEnum 86 = Prelude.Just AsciiDoc+  maybeToEnum 88 = Prelude.Just Diff+  maybeToEnum 89 = Prelude.Just Git_Config+  maybeToEnum 90 = Prelude.Just Handlebars+  maybeToEnum 91 = Prelude.Just Git_Commit+  maybeToEnum 92 = Prelude.Just Git_Rebase+  maybeToEnum 93 = Prelude.Just JavaScriptReact+  maybeToEnum 94 = Prelude.Just TypeScriptReact+  maybeToEnum 95 = Prelude.Just Solidity+  maybeToEnum 96 = Prelude.Just Apex+  maybeToEnum 97 = Prelude.Just CUDA+  maybeToEnum 98 = Prelude.Just GraphQL+  maybeToEnum 99 = Prelude.Just Pascal+  maybeToEnum 100 = Prelude.Just Protobuf+  maybeToEnum 101 = Prelude.Just Tcl+  maybeToEnum 102 = Prelude.Just Repro+  maybeToEnum 103 = Prelude.Just Thrift+  maybeToEnum 104 = Prelude.Just Verilog+  maybeToEnum 105 = Prelude.Just VHDL+  maybeToEnum 106 = Prelude.Just Svelte+  maybeToEnum 107 = Prelude.Just Slang+  maybeToEnum 108 = Prelude.Just Luau+  maybeToEnum 109 = Prelude.Just Justfile+  maybeToEnum 110 = Prelude.Just Nickel+  maybeToEnum k+    = Prelude.Just+        (Language'Unrecognized+           (Language'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedLanguage = "UnspecifiedLanguage"+  showEnum ABAP = "ABAP"+  showEnum Apex = "Apex"+  showEnum APL = "APL"+  showEnum Ada = "Ada"+  showEnum Agda = "Agda"+  showEnum AsciiDoc = "AsciiDoc"+  showEnum Assembly = "Assembly"+  showEnum Awk = "Awk"+  showEnum Bat = "Bat"+  showEnum BibTeX = "BibTeX"+  showEnum C = "C"+  showEnum COBOL = "COBOL"+  showEnum CPP = "CPP"+  showEnum CSS = "CSS"+  showEnum CSharp = "CSharp"+  showEnum Clojure = "Clojure"+  showEnum Coffeescript = "Coffeescript"+  showEnum CommonLisp = "CommonLisp"+  showEnum Coq = "Coq"+  showEnum CUDA = "CUDA"+  showEnum Dart = "Dart"+  showEnum Delphi = "Delphi"+  showEnum Diff = "Diff"+  showEnum Dockerfile = "Dockerfile"+  showEnum Dyalog = "Dyalog"+  showEnum Elixir = "Elixir"+  showEnum Erlang = "Erlang"+  showEnum FSharp = "FSharp"+  showEnum Fish = "Fish"+  showEnum Flow = "Flow"+  showEnum Fortran = "Fortran"+  showEnum Git_Commit = "Git_Commit"+  showEnum Git_Config = "Git_Config"+  showEnum Git_Rebase = "Git_Rebase"+  showEnum Go = "Go"+  showEnum GraphQL = "GraphQL"+  showEnum Groovy = "Groovy"+  showEnum HTML = "HTML"+  showEnum Hack = "Hack"+  showEnum Handlebars = "Handlebars"+  showEnum Haskell = "Haskell"+  showEnum Idris = "Idris"+  showEnum Ini = "Ini"+  showEnum J = "J"+  showEnum JSON = "JSON"+  showEnum Java = "Java"+  showEnum JavaScript = "JavaScript"+  showEnum JavaScriptReact = "JavaScriptReact"+  showEnum Jsonnet = "Jsonnet"+  showEnum Julia = "Julia"+  showEnum Justfile = "Justfile"+  showEnum Kotlin = "Kotlin"+  showEnum LaTeX = "LaTeX"+  showEnum Lean = "Lean"+  showEnum Less = "Less"+  showEnum Lua = "Lua"+  showEnum Luau = "Luau"+  showEnum Makefile = "Makefile"+  showEnum Markdown = "Markdown"+  showEnum Matlab = "Matlab"+  showEnum Nickel = "Nickel"+  showEnum Nix = "Nix"+  showEnum OCaml = "OCaml"+  showEnum Objective_C = "Objective_C"+  showEnum Objective_CPP = "Objective_CPP"+  showEnum Pascal = "Pascal"+  showEnum PHP = "PHP"+  showEnum PLSQL = "PLSQL"+  showEnum Perl = "Perl"+  showEnum PowerShell = "PowerShell"+  showEnum Prolog = "Prolog"+  showEnum Protobuf = "Protobuf"+  showEnum Python = "Python"+  showEnum R = "R"+  showEnum Racket = "Racket"+  showEnum Raku = "Raku"+  showEnum Razor = "Razor"+  showEnum Repro = "Repro"+  showEnum ReST = "ReST"+  showEnum Ruby = "Ruby"+  showEnum Rust = "Rust"+  showEnum SAS = "SAS"+  showEnum SCSS = "SCSS"+  showEnum SML = "SML"+  showEnum SQL = "SQL"+  showEnum Sass = "Sass"+  showEnum Scala = "Scala"+  showEnum Scheme = "Scheme"+  showEnum ShellScript = "ShellScript"+  showEnum Skylark = "Skylark"+  showEnum Slang = "Slang"+  showEnum Solidity = "Solidity"+  showEnum Svelte = "Svelte"+  showEnum Swift = "Swift"+  showEnum Tcl = "Tcl"+  showEnum TOML = "TOML"+  showEnum TeX = "TeX"+  showEnum Thrift = "Thrift"+  showEnum TypeScript = "TypeScript"+  showEnum TypeScriptReact = "TypeScriptReact"+  showEnum Verilog = "Verilog"+  showEnum VHDL = "VHDL"+  showEnum VisualBasic = "VisualBasic"+  showEnum Vue = "Vue"+  showEnum Wolfram = "Wolfram"+  showEnum XML = "XML"+  showEnum XSL = "XSL"+  showEnum YAML = "YAML"+  showEnum Zig = "Zig"+  showEnum (Language'Unrecognized (Language'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedLanguage"+    = Prelude.Just UnspecifiedLanguage+    | (Prelude.==) k "ABAP" = Prelude.Just ABAP+    | (Prelude.==) k "Apex" = Prelude.Just Apex+    | (Prelude.==) k "APL" = Prelude.Just APL+    | (Prelude.==) k "Ada" = Prelude.Just Ada+    | (Prelude.==) k "Agda" = Prelude.Just Agda+    | (Prelude.==) k "AsciiDoc" = Prelude.Just AsciiDoc+    | (Prelude.==) k "Assembly" = Prelude.Just Assembly+    | (Prelude.==) k "Awk" = Prelude.Just Awk+    | (Prelude.==) k "Bat" = Prelude.Just Bat+    | (Prelude.==) k "BibTeX" = Prelude.Just BibTeX+    | (Prelude.==) k "C" = Prelude.Just C+    | (Prelude.==) k "COBOL" = Prelude.Just COBOL+    | (Prelude.==) k "CPP" = Prelude.Just CPP+    | (Prelude.==) k "CSS" = Prelude.Just CSS+    | (Prelude.==) k "CSharp" = Prelude.Just CSharp+    | (Prelude.==) k "Clojure" = Prelude.Just Clojure+    | (Prelude.==) k "Coffeescript" = Prelude.Just Coffeescript+    | (Prelude.==) k "CommonLisp" = Prelude.Just CommonLisp+    | (Prelude.==) k "Coq" = Prelude.Just Coq+    | (Prelude.==) k "CUDA" = Prelude.Just CUDA+    | (Prelude.==) k "Dart" = Prelude.Just Dart+    | (Prelude.==) k "Delphi" = Prelude.Just Delphi+    | (Prelude.==) k "Diff" = Prelude.Just Diff+    | (Prelude.==) k "Dockerfile" = Prelude.Just Dockerfile+    | (Prelude.==) k "Dyalog" = Prelude.Just Dyalog+    | (Prelude.==) k "Elixir" = Prelude.Just Elixir+    | (Prelude.==) k "Erlang" = Prelude.Just Erlang+    | (Prelude.==) k "FSharp" = Prelude.Just FSharp+    | (Prelude.==) k "Fish" = Prelude.Just Fish+    | (Prelude.==) k "Flow" = Prelude.Just Flow+    | (Prelude.==) k "Fortran" = Prelude.Just Fortran+    | (Prelude.==) k "Git_Commit" = Prelude.Just Git_Commit+    | (Prelude.==) k "Git_Config" = Prelude.Just Git_Config+    | (Prelude.==) k "Git_Rebase" = Prelude.Just Git_Rebase+    | (Prelude.==) k "Go" = Prelude.Just Go+    | (Prelude.==) k "GraphQL" = Prelude.Just GraphQL+    | (Prelude.==) k "Groovy" = Prelude.Just Groovy+    | (Prelude.==) k "HTML" = Prelude.Just HTML+    | (Prelude.==) k "Hack" = Prelude.Just Hack+    | (Prelude.==) k "Handlebars" = Prelude.Just Handlebars+    | (Prelude.==) k "Haskell" = Prelude.Just Haskell+    | (Prelude.==) k "Idris" = Prelude.Just Idris+    | (Prelude.==) k "Ini" = Prelude.Just Ini+    | (Prelude.==) k "J" = Prelude.Just J+    | (Prelude.==) k "JSON" = Prelude.Just JSON+    | (Prelude.==) k "Java" = Prelude.Just Java+    | (Prelude.==) k "JavaScript" = Prelude.Just JavaScript+    | (Prelude.==) k "JavaScriptReact" = Prelude.Just JavaScriptReact+    | (Prelude.==) k "Jsonnet" = Prelude.Just Jsonnet+    | (Prelude.==) k "Julia" = Prelude.Just Julia+    | (Prelude.==) k "Justfile" = Prelude.Just Justfile+    | (Prelude.==) k "Kotlin" = Prelude.Just Kotlin+    | (Prelude.==) k "LaTeX" = Prelude.Just LaTeX+    | (Prelude.==) k "Lean" = Prelude.Just Lean+    | (Prelude.==) k "Less" = Prelude.Just Less+    | (Prelude.==) k "Lua" = Prelude.Just Lua+    | (Prelude.==) k "Luau" = Prelude.Just Luau+    | (Prelude.==) k "Makefile" = Prelude.Just Makefile+    | (Prelude.==) k "Markdown" = Prelude.Just Markdown+    | (Prelude.==) k "Matlab" = Prelude.Just Matlab+    | (Prelude.==) k "Nickel" = Prelude.Just Nickel+    | (Prelude.==) k "Nix" = Prelude.Just Nix+    | (Prelude.==) k "OCaml" = Prelude.Just OCaml+    | (Prelude.==) k "Objective_C" = Prelude.Just Objective_C+    | (Prelude.==) k "Objective_CPP" = Prelude.Just Objective_CPP+    | (Prelude.==) k "Pascal" = Prelude.Just Pascal+    | (Prelude.==) k "PHP" = Prelude.Just PHP+    | (Prelude.==) k "PLSQL" = Prelude.Just PLSQL+    | (Prelude.==) k "Perl" = Prelude.Just Perl+    | (Prelude.==) k "PowerShell" = Prelude.Just PowerShell+    | (Prelude.==) k "Prolog" = Prelude.Just Prolog+    | (Prelude.==) k "Protobuf" = Prelude.Just Protobuf+    | (Prelude.==) k "Python" = Prelude.Just Python+    | (Prelude.==) k "R" = Prelude.Just R+    | (Prelude.==) k "Racket" = Prelude.Just Racket+    | (Prelude.==) k "Raku" = Prelude.Just Raku+    | (Prelude.==) k "Razor" = Prelude.Just Razor+    | (Prelude.==) k "Repro" = Prelude.Just Repro+    | (Prelude.==) k "ReST" = Prelude.Just ReST+    | (Prelude.==) k "Ruby" = Prelude.Just Ruby+    | (Prelude.==) k "Rust" = Prelude.Just Rust+    | (Prelude.==) k "SAS" = Prelude.Just SAS+    | (Prelude.==) k "SCSS" = Prelude.Just SCSS+    | (Prelude.==) k "SML" = Prelude.Just SML+    | (Prelude.==) k "SQL" = Prelude.Just SQL+    | (Prelude.==) k "Sass" = Prelude.Just Sass+    | (Prelude.==) k "Scala" = Prelude.Just Scala+    | (Prelude.==) k "Scheme" = Prelude.Just Scheme+    | (Prelude.==) k "ShellScript" = Prelude.Just ShellScript+    | (Prelude.==) k "Skylark" = Prelude.Just Skylark+    | (Prelude.==) k "Slang" = Prelude.Just Slang+    | (Prelude.==) k "Solidity" = Prelude.Just Solidity+    | (Prelude.==) k "Svelte" = Prelude.Just Svelte+    | (Prelude.==) k "Swift" = Prelude.Just Swift+    | (Prelude.==) k "Tcl" = Prelude.Just Tcl+    | (Prelude.==) k "TOML" = Prelude.Just TOML+    | (Prelude.==) k "TeX" = Prelude.Just TeX+    | (Prelude.==) k "Thrift" = Prelude.Just Thrift+    | (Prelude.==) k "TypeScript" = Prelude.Just TypeScript+    | (Prelude.==) k "TypeScriptReact" = Prelude.Just TypeScriptReact+    | (Prelude.==) k "Verilog" = Prelude.Just Verilog+    | (Prelude.==) k "VHDL" = Prelude.Just VHDL+    | (Prelude.==) k "VisualBasic" = Prelude.Just VisualBasic+    | (Prelude.==) k "Vue" = Prelude.Just Vue+    | (Prelude.==) k "Wolfram" = Prelude.Just Wolfram+    | (Prelude.==) k "XML" = Prelude.Just XML+    | (Prelude.==) k "XSL" = Prelude.Just XSL+    | (Prelude.==) k "YAML" = Prelude.Just YAML+    | (Prelude.==) k "Zig" = Prelude.Just Zig+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded Language where+  minBound = UnspecifiedLanguage+  maxBound = Nickel+instance Prelude.Enum Language where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum Language: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedLanguage = 0+  fromEnum CSharp = 1+  fromEnum Swift = 2+  fromEnum Dart = 3+  fromEnum Kotlin = 4+  fromEnum Scala = 5+  fromEnum Java = 6+  fromEnum Groovy = 7+  fromEnum Clojure = 8+  fromEnum CommonLisp = 9+  fromEnum Scheme = 10+  fromEnum Racket = 11+  fromEnum Lua = 12+  fromEnum Perl = 13+  fromEnum Raku = 14+  fromEnum Python = 15+  fromEnum Ruby = 16+  fromEnum Elixir = 17+  fromEnum Erlang = 18+  fromEnum PHP = 19+  fromEnum Hack = 20+  fromEnum Coffeescript = 21+  fromEnum JavaScript = 22+  fromEnum TypeScript = 23+  fromEnum Flow = 24+  fromEnum Vue = 25+  fromEnum CSS = 26+  fromEnum Less = 27+  fromEnum Sass = 28+  fromEnum SCSS = 29+  fromEnum HTML = 30+  fromEnum XML = 31+  fromEnum XSL = 32+  fromEnum Go = 33+  fromEnum C = 34+  fromEnum CPP = 35+  fromEnum Objective_C = 36+  fromEnum Objective_CPP = 37+  fromEnum Zig = 38+  fromEnum Ada = 39+  fromEnum Rust = 40+  fromEnum OCaml = 41+  fromEnum FSharp = 42+  fromEnum SML = 43+  fromEnum Haskell = 44+  fromEnum Agda = 45+  fromEnum Idris = 46+  fromEnum Coq = 47+  fromEnum Lean = 48+  fromEnum APL = 49+  fromEnum Dyalog = 50+  fromEnum J = 51+  fromEnum Matlab = 52+  fromEnum Wolfram = 53+  fromEnum R = 54+  fromEnum Julia = 55+  fromEnum Fortran = 56+  fromEnum Delphi = 57+  fromEnum Assembly = 58+  fromEnum COBOL = 59+  fromEnum ABAP = 60+  fromEnum SAS = 61+  fromEnum Razor = 62+  fromEnum VisualBasic = 63+  fromEnum ShellScript = 64+  fromEnum Fish = 65+  fromEnum Awk = 66+  fromEnum PowerShell = 67+  fromEnum Bat = 68+  fromEnum SQL = 69+  fromEnum PLSQL = 70+  fromEnum Prolog = 71+  fromEnum Ini = 72+  fromEnum TOML = 73+  fromEnum YAML = 74+  fromEnum JSON = 75+  fromEnum Jsonnet = 76+  fromEnum Nix = 77+  fromEnum Skylark = 78+  fromEnum Makefile = 79+  fromEnum Dockerfile = 80+  fromEnum BibTeX = 81+  fromEnum TeX = 82+  fromEnum LaTeX = 83+  fromEnum Markdown = 84+  fromEnum ReST = 85+  fromEnum AsciiDoc = 86+  fromEnum Diff = 88+  fromEnum Git_Config = 89+  fromEnum Handlebars = 90+  fromEnum Git_Commit = 91+  fromEnum Git_Rebase = 92+  fromEnum JavaScriptReact = 93+  fromEnum TypeScriptReact = 94+  fromEnum Solidity = 95+  fromEnum Apex = 96+  fromEnum CUDA = 97+  fromEnum GraphQL = 98+  fromEnum Pascal = 99+  fromEnum Protobuf = 100+  fromEnum Tcl = 101+  fromEnum Repro = 102+  fromEnum Thrift = 103+  fromEnum Verilog = 104+  fromEnum VHDL = 105+  fromEnum Svelte = 106+  fromEnum Slang = 107+  fromEnum Luau = 108+  fromEnum Justfile = 109+  fromEnum Nickel = 110+  fromEnum (Language'Unrecognized (Language'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ Nickel+    = Prelude.error+        "Language.succ: bad argument Nickel. This value would be out of bounds."+  succ UnspecifiedLanguage = CSharp+  succ CSharp = Swift+  succ Swift = Dart+  succ Dart = Kotlin+  succ Kotlin = Scala+  succ Scala = Java+  succ Java = Groovy+  succ Groovy = Clojure+  succ Clojure = CommonLisp+  succ CommonLisp = Scheme+  succ Scheme = Racket+  succ Racket = Lua+  succ Lua = Perl+  succ Perl = Raku+  succ Raku = Python+  succ Python = Ruby+  succ Ruby = Elixir+  succ Elixir = Erlang+  succ Erlang = PHP+  succ PHP = Hack+  succ Hack = Coffeescript+  succ Coffeescript = JavaScript+  succ JavaScript = TypeScript+  succ TypeScript = Flow+  succ Flow = Vue+  succ Vue = CSS+  succ CSS = Less+  succ Less = Sass+  succ Sass = SCSS+  succ SCSS = HTML+  succ HTML = XML+  succ XML = XSL+  succ XSL = Go+  succ Go = C+  succ C = CPP+  succ CPP = Objective_C+  succ Objective_C = Objective_CPP+  succ Objective_CPP = Zig+  succ Zig = Ada+  succ Ada = Rust+  succ Rust = OCaml+  succ OCaml = FSharp+  succ FSharp = SML+  succ SML = Haskell+  succ Haskell = Agda+  succ Agda = Idris+  succ Idris = Coq+  succ Coq = Lean+  succ Lean = APL+  succ APL = Dyalog+  succ Dyalog = J+  succ J = Matlab+  succ Matlab = Wolfram+  succ Wolfram = R+  succ R = Julia+  succ Julia = Fortran+  succ Fortran = Delphi+  succ Delphi = Assembly+  succ Assembly = COBOL+  succ COBOL = ABAP+  succ ABAP = SAS+  succ SAS = Razor+  succ Razor = VisualBasic+  succ VisualBasic = ShellScript+  succ ShellScript = Fish+  succ Fish = Awk+  succ Awk = PowerShell+  succ PowerShell = Bat+  succ Bat = SQL+  succ SQL = PLSQL+  succ PLSQL = Prolog+  succ Prolog = Ini+  succ Ini = TOML+  succ TOML = YAML+  succ YAML = JSON+  succ JSON = Jsonnet+  succ Jsonnet = Nix+  succ Nix = Skylark+  succ Skylark = Makefile+  succ Makefile = Dockerfile+  succ Dockerfile = BibTeX+  succ BibTeX = TeX+  succ TeX = LaTeX+  succ LaTeX = Markdown+  succ Markdown = ReST+  succ ReST = AsciiDoc+  succ AsciiDoc = Diff+  succ Diff = Git_Config+  succ Git_Config = Handlebars+  succ Handlebars = Git_Commit+  succ Git_Commit = Git_Rebase+  succ Git_Rebase = JavaScriptReact+  succ JavaScriptReact = TypeScriptReact+  succ TypeScriptReact = Solidity+  succ Solidity = Apex+  succ Apex = CUDA+  succ CUDA = GraphQL+  succ GraphQL = Pascal+  succ Pascal = Protobuf+  succ Protobuf = Tcl+  succ Tcl = Repro+  succ Repro = Thrift+  succ Thrift = Verilog+  succ Verilog = VHDL+  succ VHDL = Svelte+  succ Svelte = Slang+  succ Slang = Luau+  succ Luau = Justfile+  succ Justfile = Nickel+  succ (Language'Unrecognized _)+    = Prelude.error "Language.succ: bad argument: unrecognized value"+  pred UnspecifiedLanguage+    = Prelude.error+        "Language.pred: bad argument UnspecifiedLanguage. This value would be out of bounds."+  pred CSharp = UnspecifiedLanguage+  pred Swift = CSharp+  pred Dart = Swift+  pred Kotlin = Dart+  pred Scala = Kotlin+  pred Java = Scala+  pred Groovy = Java+  pred Clojure = Groovy+  pred CommonLisp = Clojure+  pred Scheme = CommonLisp+  pred Racket = Scheme+  pred Lua = Racket+  pred Perl = Lua+  pred Raku = Perl+  pred Python = Raku+  pred Ruby = Python+  pred Elixir = Ruby+  pred Erlang = Elixir+  pred PHP = Erlang+  pred Hack = PHP+  pred Coffeescript = Hack+  pred JavaScript = Coffeescript+  pred TypeScript = JavaScript+  pred Flow = TypeScript+  pred Vue = Flow+  pred CSS = Vue+  pred Less = CSS+  pred Sass = Less+  pred SCSS = Sass+  pred HTML = SCSS+  pred XML = HTML+  pred XSL = XML+  pred Go = XSL+  pred C = Go+  pred CPP = C+  pred Objective_C = CPP+  pred Objective_CPP = Objective_C+  pred Zig = Objective_CPP+  pred Ada = Zig+  pred Rust = Ada+  pred OCaml = Rust+  pred FSharp = OCaml+  pred SML = FSharp+  pred Haskell = SML+  pred Agda = Haskell+  pred Idris = Agda+  pred Coq = Idris+  pred Lean = Coq+  pred APL = Lean+  pred Dyalog = APL+  pred J = Dyalog+  pred Matlab = J+  pred Wolfram = Matlab+  pred R = Wolfram+  pred Julia = R+  pred Fortran = Julia+  pred Delphi = Fortran+  pred Assembly = Delphi+  pred COBOL = Assembly+  pred ABAP = COBOL+  pred SAS = ABAP+  pred Razor = SAS+  pred VisualBasic = Razor+  pred ShellScript = VisualBasic+  pred Fish = ShellScript+  pred Awk = Fish+  pred PowerShell = Awk+  pred Bat = PowerShell+  pred SQL = Bat+  pred PLSQL = SQL+  pred Prolog = PLSQL+  pred Ini = Prolog+  pred TOML = Ini+  pred YAML = TOML+  pred JSON = YAML+  pred Jsonnet = JSON+  pred Nix = Jsonnet+  pred Skylark = Nix+  pred Makefile = Skylark+  pred Dockerfile = Makefile+  pred BibTeX = Dockerfile+  pred TeX = BibTeX+  pred LaTeX = TeX+  pred Markdown = LaTeX+  pred ReST = Markdown+  pred AsciiDoc = ReST+  pred Diff = AsciiDoc+  pred Git_Config = Diff+  pred Handlebars = Git_Config+  pred Git_Commit = Handlebars+  pred Git_Rebase = Git_Commit+  pred JavaScriptReact = Git_Rebase+  pred TypeScriptReact = JavaScriptReact+  pred Solidity = TypeScriptReact+  pred Apex = Solidity+  pred CUDA = Apex+  pred GraphQL = CUDA+  pred Pascal = GraphQL+  pred Protobuf = Pascal+  pred Tcl = Protobuf+  pred Repro = Tcl+  pred Thrift = Repro+  pred Verilog = Thrift+  pred VHDL = Verilog+  pred Svelte = VHDL+  pred Slang = Svelte+  pred Luau = Slang+  pred Justfile = Luau+  pred Nickel = Justfile+  pred (Language'Unrecognized _)+    = Prelude.error "Language.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault Language where+  fieldDefault = UnspecifiedLanguage+instance Control.DeepSeq.NFData Language where+  rnf x__ = Prelude.seq x__ ()+{- | Fields :+     +         * 'Proto.Scip_Fields.version' @:: Lens' Metadata ProtocolVersion@+         * 'Proto.Scip_Fields.toolInfo' @:: Lens' Metadata ToolInfo@+         * 'Proto.Scip_Fields.maybe'toolInfo' @:: Lens' Metadata (Prelude.Maybe ToolInfo)@+         * 'Proto.Scip_Fields.projectRoot' @:: Lens' Metadata Data.Text.Text@+         * 'Proto.Scip_Fields.textDocumentEncoding' @:: Lens' Metadata TextEncoding@ -}+data Metadata+  = Metadata'_constructor {_Metadata'version :: !ProtocolVersion,+                           _Metadata'toolInfo :: !(Prelude.Maybe ToolInfo),+                           _Metadata'projectRoot :: !Data.Text.Text,+                           _Metadata'textDocumentEncoding :: !TextEncoding,+                           _Metadata'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Metadata where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Metadata "version" ProtocolVersion where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Metadata'version (\ x__ y__ -> x__ {_Metadata'version = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Metadata "toolInfo" ToolInfo where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Metadata'toolInfo (\ x__ y__ -> x__ {_Metadata'toolInfo = y__}))+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField Metadata "maybe'toolInfo" (Prelude.Maybe ToolInfo) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Metadata'toolInfo (\ x__ y__ -> x__ {_Metadata'toolInfo = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Metadata "projectRoot" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Metadata'projectRoot+           (\ x__ y__ -> x__ {_Metadata'projectRoot = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Metadata "textDocumentEncoding" TextEncoding where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Metadata'textDocumentEncoding+           (\ x__ y__ -> x__ {_Metadata'textDocumentEncoding = y__}))+        Prelude.id+instance Data.ProtoLens.Message Metadata where+  messageName _ = Data.Text.pack "scip.Metadata"+  packedMessageDescriptor _+    = "\n\+      \\bMetadata\DC2/\n\+      \\aversion\CAN\SOH \SOH(\SO2\NAK.scip.ProtocolVersionR\aversion\DC2+\n\+      \\ttool_info\CAN\STX \SOH(\v2\SO.scip.ToolInfoR\btoolInfo\DC2!\n\+      \\fproject_root\CAN\ETX \SOH(\tR\vprojectRoot\DC2H\n\+      \\SYNtext_document_encoding\CAN\EOT \SOH(\SO2\DC2.scip.TextEncodingR\DC4textDocumentEncoding"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        version__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "version"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor ProtocolVersion)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"version")) ::+              Data.ProtoLens.FieldDescriptor Metadata+        toolInfo__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "tool_info"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor ToolInfo)+              (Data.ProtoLens.OptionalField+                 (Data.ProtoLens.Field.field @"maybe'toolInfo")) ::+              Data.ProtoLens.FieldDescriptor Metadata+        projectRoot__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "project_root"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"projectRoot")) ::+              Data.ProtoLens.FieldDescriptor Metadata+        textDocumentEncoding__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "text_document_encoding"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor TextEncoding)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"textDocumentEncoding")) ::+              Data.ProtoLens.FieldDescriptor Metadata+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, version__field_descriptor),+           (Data.ProtoLens.Tag 2, toolInfo__field_descriptor),+           (Data.ProtoLens.Tag 3, projectRoot__field_descriptor),+           (Data.ProtoLens.Tag 4, textDocumentEncoding__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Metadata'_unknownFields+        (\ x__ y__ -> x__ {_Metadata'_unknownFields = y__})+  defMessage+    = Metadata'_constructor+        {_Metadata'version = Data.ProtoLens.fieldDefault,+         _Metadata'toolInfo = Prelude.Nothing,+         _Metadata'projectRoot = Data.ProtoLens.fieldDefault,+         _Metadata'textDocumentEncoding = Data.ProtoLens.fieldDefault,+         _Metadata'_unknownFields = []}+  parseMessage+    = let+        loop :: Metadata -> Data.ProtoLens.Encoding.Bytes.Parser Metadata+        loop x+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "version"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"version") y x)+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.isolate+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+                                       "tool_info"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"toolInfo") y x)+                        26+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "project_root"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"projectRoot") y x)+                        32+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "text_document_encoding"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"textDocumentEncoding") y x)+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do loop Data.ProtoLens.defMessage) "Metadata"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"version") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 8)+                      ((Prelude..)+                         ((Prelude..)+                            Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                         Prelude.fromEnum _v))+             ((Data.Monoid.<>)+                (case+                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'toolInfo") _x+                 of+                   Prelude.Nothing -> Data.Monoid.mempty+                   (Prelude.Just _v)+                     -> (Data.Monoid.<>)+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                          ((Prelude..)+                             (\ bs+                                -> (Data.Monoid.<>)+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                             Data.ProtoLens.encodeMessage _v))+                ((Data.Monoid.<>)+                   (let+                      _v+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"projectRoot") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                            ((Prelude..)+                               (\ bs+                                  -> (Data.Monoid.<>)+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                               Data.Text.Encoding.encodeUtf8 _v))+                   ((Data.Monoid.<>)+                      (let+                         _v+                           = Lens.Family2.view+                               (Data.ProtoLens.Field.field @"textDocumentEncoding") _x+                       in+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                             Data.Monoid.mempty+                         else+                             (Data.Monoid.<>)+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+                               ((Prelude..)+                                  ((Prelude..)+                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                                  Prelude.fromEnum _v))+                      (Data.ProtoLens.Encoding.Wire.buildFieldSet+                         (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))+instance Control.DeepSeq.NFData Metadata where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Metadata'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Metadata'version x__)+                (Control.DeepSeq.deepseq+                   (_Metadata'toolInfo x__)+                   (Control.DeepSeq.deepseq+                      (_Metadata'projectRoot x__)+                      (Control.DeepSeq.deepseq+                         (_Metadata'textDocumentEncoding x__) ()))))+{- | Fields :+     +         * 'Proto.Scip_Fields.range' @:: Lens' Occurrence [Data.Int.Int32]@+         * 'Proto.Scip_Fields.vec'range' @:: Lens' Occurrence (Data.Vector.Unboxed.Vector Data.Int.Int32)@+         * 'Proto.Scip_Fields.symbol' @:: Lens' Occurrence Data.Text.Text@+         * 'Proto.Scip_Fields.symbolRoles' @:: Lens' Occurrence Data.Int.Int32@+         * 'Proto.Scip_Fields.overrideDocumentation' @:: Lens' Occurrence [Data.Text.Text]@+         * 'Proto.Scip_Fields.vec'overrideDocumentation' @:: Lens' Occurrence (Data.Vector.Vector Data.Text.Text)@+         * 'Proto.Scip_Fields.syntaxKind' @:: Lens' Occurrence SyntaxKind@+         * 'Proto.Scip_Fields.diagnostics' @:: Lens' Occurrence [Diagnostic]@+         * 'Proto.Scip_Fields.vec'diagnostics' @:: Lens' Occurrence (Data.Vector.Vector Diagnostic)@+         * 'Proto.Scip_Fields.enclosingRange' @:: Lens' Occurrence [Data.Int.Int32]@+         * 'Proto.Scip_Fields.vec'enclosingRange' @:: Lens' Occurrence (Data.Vector.Unboxed.Vector Data.Int.Int32)@ -}+data Occurrence+  = Occurrence'_constructor {_Occurrence'range :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+                             _Occurrence'symbol :: !Data.Text.Text,+                             _Occurrence'symbolRoles :: !Data.Int.Int32,+                             _Occurrence'overrideDocumentation :: !(Data.Vector.Vector Data.Text.Text),+                             _Occurrence'syntaxKind :: !SyntaxKind,+                             _Occurrence'diagnostics :: !(Data.Vector.Vector Diagnostic),+                             _Occurrence'enclosingRange :: !(Data.Vector.Unboxed.Vector Data.Int.Int32),+                             _Occurrence'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Occurrence where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Occurrence "range" [Data.Int.Int32] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'range (\ x__ y__ -> x__ {_Occurrence'range = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Occurrence "vec'range" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'range (\ x__ y__ -> x__ {_Occurrence'range = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "symbol" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'symbol (\ x__ y__ -> x__ {_Occurrence'symbol = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "symbolRoles" Data.Int.Int32 where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'symbolRoles+           (\ x__ y__ -> x__ {_Occurrence'symbolRoles = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "overrideDocumentation" [Data.Text.Text] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'overrideDocumentation+           (\ x__ y__ -> x__ {_Occurrence'overrideDocumentation = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Occurrence "vec'overrideDocumentation" (Data.Vector.Vector Data.Text.Text) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'overrideDocumentation+           (\ x__ y__ -> x__ {_Occurrence'overrideDocumentation = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "syntaxKind" SyntaxKind where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'syntaxKind+           (\ x__ y__ -> x__ {_Occurrence'syntaxKind = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "diagnostics" [Diagnostic] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'diagnostics+           (\ x__ y__ -> x__ {_Occurrence'diagnostics = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Occurrence "vec'diagnostics" (Data.Vector.Vector Diagnostic) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'diagnostics+           (\ x__ y__ -> x__ {_Occurrence'diagnostics = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Occurrence "enclosingRange" [Data.Int.Int32] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'enclosingRange+           (\ x__ y__ -> x__ {_Occurrence'enclosingRange = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Occurrence "vec'enclosingRange" (Data.Vector.Unboxed.Vector Data.Int.Int32) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Occurrence'enclosingRange+           (\ x__ y__ -> x__ {_Occurrence'enclosingRange = y__}))+        Prelude.id+instance Data.ProtoLens.Message Occurrence where+  messageName _ = Data.Text.pack "scip.Occurrence"+  packedMessageDescriptor _+    = "\n\+      \\n\+      \Occurrence\DC2\DC4\n\+      \\ENQrange\CAN\SOH \ETX(\ENQR\ENQrange\DC2\SYN\n\+      \\ACKsymbol\CAN\STX \SOH(\tR\ACKsymbol\DC2!\n\+      \\fsymbol_roles\CAN\ETX \SOH(\ENQR\vsymbolRoles\DC25\n\+      \\SYNoverride_documentation\CAN\EOT \ETX(\tR\NAKoverrideDocumentation\DC21\n\+      \\vsyntax_kind\CAN\ENQ \SOH(\SO2\DLE.scip.SyntaxKindR\n\+      \syntaxKind\DC22\n\+      \\vdiagnostics\CAN\ACK \ETX(\v2\DLE.scip.DiagnosticR\vdiagnostics\DC2'\n\+      \\SIenclosing_range\CAN\a \ETX(\ENQR\SOenclosingRange"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        range__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "range"+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Packed (Data.ProtoLens.Field.field @"range")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        symbol__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "symbol"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"symbol")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        symbolRoles__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "symbol_roles"+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"symbolRoles")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        overrideDocumentation__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "override_documentation"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"overrideDocumentation")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        syntaxKind__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "syntax_kind"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor SyntaxKind)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"syntaxKind")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        diagnostics__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "diagnostics"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Diagnostic)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"diagnostics")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+        enclosingRange__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "enclosing_range"+              (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Packed+                 (Data.ProtoLens.Field.field @"enclosingRange")) ::+              Data.ProtoLens.FieldDescriptor Occurrence+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, range__field_descriptor),+           (Data.ProtoLens.Tag 2, symbol__field_descriptor),+           (Data.ProtoLens.Tag 3, symbolRoles__field_descriptor),+           (Data.ProtoLens.Tag 4, overrideDocumentation__field_descriptor),+           (Data.ProtoLens.Tag 5, syntaxKind__field_descriptor),+           (Data.ProtoLens.Tag 6, diagnostics__field_descriptor),+           (Data.ProtoLens.Tag 7, enclosingRange__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Occurrence'_unknownFields+        (\ x__ y__ -> x__ {_Occurrence'_unknownFields = y__})+  defMessage+    = Occurrence'_constructor+        {_Occurrence'range = Data.Vector.Generic.empty,+         _Occurrence'symbol = Data.ProtoLens.fieldDefault,+         _Occurrence'symbolRoles = Data.ProtoLens.fieldDefault,+         _Occurrence'overrideDocumentation = Data.Vector.Generic.empty,+         _Occurrence'syntaxKind = Data.ProtoLens.fieldDefault,+         _Occurrence'diagnostics = Data.Vector.Generic.empty,+         _Occurrence'enclosingRange = Data.Vector.Generic.empty,+         _Occurrence'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Occurrence+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Diagnostic+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+                -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+                   -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Unboxed.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Int.Int32+                      -> Data.ProtoLens.Encoding.Bytes.Parser Occurrence+        loop+          x+          mutable'diagnostics+          mutable'enclosingRange+          mutable'overrideDocumentation+          mutable'range+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'diagnostics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                 mutable'diagnostics)+                      frozen'enclosingRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                 (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                    mutable'enclosingRange)+                      frozen'overrideDocumentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                           mutable'overrideDocumentation)+                      frozen'range <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                        (Data.ProtoLens.Encoding.Growing.unsafeFreeze mutable'range)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'diagnostics") frozen'diagnostics+                              (Lens.Family2.set+                                 (Data.ProtoLens.Field.field @"vec'enclosingRange")+                                 frozen'enclosingRange+                                 (Lens.Family2.set+                                    (Data.ProtoLens.Field.field @"vec'overrideDocumentation")+                                    frozen'overrideDocumentation+                                    (Lens.Family2.set+                                       (Data.ProtoLens.Field.field @"vec'range") frozen'range x)))))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        8 -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (Prelude.fmap+                                           Prelude.fromIntegral+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)+                                        "range"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append mutable'range y)+                                loop+                                  x mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation v+                        10+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                        Data.ProtoLens.Encoding.Bytes.isolate+                                          (Prelude.fromIntegral len)+                                          ((let+                                              ploop qs+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+                                                     if packedEnd then+                                                         Prelude.return qs+                                                     else+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                                                    (Prelude.fmap+                                                                       Prelude.fromIntegral+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)+                                                                    "range"+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                                     (Data.ProtoLens.Encoding.Growing.append+                                                                        qs q)+                                                            ploop qs'+                                            in ploop)+                                             mutable'range)+                                loop+                                  x mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation y+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "symbol"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"symbol") y x)+                                  mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation mutable'range+                        24+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.fromIntegral+                                          Data.ProtoLens.Encoding.Bytes.getVarInt)+                                       "symbol_roles"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"symbolRoles") y x)+                                  mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation mutable'range+                        34+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.getText+                                              (Prelude.fromIntegral len))+                                        "override_documentation"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'overrideDocumentation y)+                                loop x mutable'diagnostics mutable'enclosingRange v mutable'range+                        40+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "syntax_kind"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"syntaxKind") y x)+                                  mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation mutable'range+                        50+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "diagnostics"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'diagnostics y)+                                loop+                                  x v mutable'enclosingRange mutable'overrideDocumentation+                                  mutable'range+                        56+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (Prelude.fmap+                                           Prelude.fromIntegral+                                           Data.ProtoLens.Encoding.Bytes.getVarInt)+                                        "enclosing_range"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'enclosingRange y)+                                loop+                                  x mutable'diagnostics v mutable'overrideDocumentation+                                  mutable'range+                        58+                          -> do y <- do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                        Data.ProtoLens.Encoding.Bytes.isolate+                                          (Prelude.fromIntegral len)+                                          ((let+                                              ploop qs+                                                = do packedEnd <- Data.ProtoLens.Encoding.Bytes.atEnd+                                                     if packedEnd then+                                                         Prelude.return qs+                                                     else+                                                         do !q <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                                                    (Prelude.fmap+                                                                       Prelude.fromIntegral+                                                                       Data.ProtoLens.Encoding.Bytes.getVarInt)+                                                                    "enclosing_range"+                                                            qs' <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                                     (Data.ProtoLens.Encoding.Growing.append+                                                                        qs q)+                                                            ploop qs'+                                            in ploop)+                                             mutable'enclosingRange)+                                loop+                                  x mutable'diagnostics y mutable'overrideDocumentation+                                  mutable'range+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'diagnostics mutable'enclosingRange+                                  mutable'overrideDocumentation mutable'range+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'diagnostics <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       Data.ProtoLens.Encoding.Growing.new+              mutable'enclosingRange <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                          Data.ProtoLens.Encoding.Growing.new+              mutable'overrideDocumentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                 Data.ProtoLens.Encoding.Growing.new+              mutable'range <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                 Data.ProtoLens.Encoding.Growing.new+              loop+                Data.ProtoLens.defMessage mutable'diagnostics+                mutable'enclosingRange mutable'overrideDocumentation mutable'range)+          "Occurrence"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                p = Lens.Family2.view (Data.ProtoLens.Field.field @"vec'range") _x+              in+                if Data.Vector.Generic.null p then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((\ bs+                          -> (Data.Monoid.<>)+                               (Data.ProtoLens.Encoding.Bytes.putVarInt+                                  (Prelude.fromIntegral (Data.ByteString.length bs)))+                               (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         (Data.ProtoLens.Encoding.Bytes.runBuilder+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                               ((Prelude..)+                                  Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                               p))))+             ((Data.Monoid.<>)+                (let+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"symbol") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (let+                      _v+                        = Lens.Family2.view (Data.ProtoLens.Field.field @"symbolRoles") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+                            ((Prelude..)+                               Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))+                   ((Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                         (\ _v+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+                                 ((Prelude..)+                                    (\ bs+                                       -> (Data.Monoid.<>)+                                            (Data.ProtoLens.Encoding.Bytes.putVarInt+                                               (Prelude.fromIntegral (Data.ByteString.length bs)))+                                            (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                    Data.Text.Encoding.encodeUtf8 _v))+                         (Lens.Family2.view+                            (Data.ProtoLens.Field.field @"vec'overrideDocumentation") _x))+                      ((Data.Monoid.<>)+                         (let+                            _v+                              = Lens.Family2.view (Data.ProtoLens.Field.field @"syntaxKind") _x+                          in+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                Data.Monoid.mempty+                            else+                                (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+                                  ((Prelude..)+                                     ((Prelude..)+                                        Data.ProtoLens.Encoding.Bytes.putVarInt+                                        Prelude.fromIntegral)+                                     Prelude.fromEnum _v))+                         ((Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                               (\ _v+                                  -> (Data.Monoid.<>)+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+                                       ((Prelude..)+                                          (\ bs+                                             -> (Data.Monoid.<>)+                                                  (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                     (Prelude.fromIntegral+                                                        (Data.ByteString.length bs)))+                                                  (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                          Data.ProtoLens.encodeMessage _v))+                               (Lens.Family2.view+                                  (Data.ProtoLens.Field.field @"vec'diagnostics") _x))+                            ((Data.Monoid.<>)+                               (let+                                  p = Lens.Family2.view+                                        (Data.ProtoLens.Field.field @"vec'enclosingRange") _x+                                in+                                  if Data.Vector.Generic.null p then+                                      Data.Monoid.mempty+                                  else+                                      (Data.Monoid.<>)+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+                                        ((\ bs+                                            -> (Data.Monoid.<>)+                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                    (Prelude.fromIntegral+                                                       (Data.ByteString.length bs)))+                                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                           (Data.ProtoLens.Encoding.Bytes.runBuilder+                                              (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                                                 ((Prelude..)+                                                    Data.ProtoLens.Encoding.Bytes.putVarInt+                                                    Prelude.fromIntegral)+                                                 p))))+                               (Data.ProtoLens.Encoding.Wire.buildFieldSet+                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))+instance Control.DeepSeq.NFData Occurrence where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Occurrence'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Occurrence'range x__)+                (Control.DeepSeq.deepseq+                   (_Occurrence'symbol x__)+                   (Control.DeepSeq.deepseq+                      (_Occurrence'symbolRoles x__)+                      (Control.DeepSeq.deepseq+                         (_Occurrence'overrideDocumentation x__)+                         (Control.DeepSeq.deepseq+                            (_Occurrence'syntaxKind x__)+                            (Control.DeepSeq.deepseq+                               (_Occurrence'diagnostics x__)+                               (Control.DeepSeq.deepseq (_Occurrence'enclosingRange x__) ())))))))+{- | Fields :+     +         * 'Proto.Scip_Fields.manager' @:: Lens' Package Data.Text.Text@+         * 'Proto.Scip_Fields.name' @:: Lens' Package Data.Text.Text@+         * 'Proto.Scip_Fields.version' @:: Lens' Package Data.Text.Text@ -}+data Package+  = Package'_constructor {_Package'manager :: !Data.Text.Text,+                          _Package'name :: !Data.Text.Text,+                          _Package'version :: !Data.Text.Text,+                          _Package'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Package where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Package "manager" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Package'manager (\ x__ y__ -> x__ {_Package'manager = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Package "name" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Package'name (\ x__ y__ -> x__ {_Package'name = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Package "version" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Package'version (\ x__ y__ -> x__ {_Package'version = y__}))+        Prelude.id+instance Data.ProtoLens.Message Package where+  messageName _ = Data.Text.pack "scip.Package"+  packedMessageDescriptor _+    = "\n\+      \\aPackage\DC2\CAN\n\+      \\amanager\CAN\SOH \SOH(\tR\amanager\DC2\DC2\n\+      \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2\CAN\n\+      \\aversion\CAN\ETX \SOH(\tR\aversion"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        manager__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "manager"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"manager")) ::+              Data.ProtoLens.FieldDescriptor Package+        name__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "name"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::+              Data.ProtoLens.FieldDescriptor Package+        version__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "version"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"version")) ::+              Data.ProtoLens.FieldDescriptor Package+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, manager__field_descriptor),+           (Data.ProtoLens.Tag 2, name__field_descriptor),+           (Data.ProtoLens.Tag 3, version__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Package'_unknownFields+        (\ x__ y__ -> x__ {_Package'_unknownFields = y__})+  defMessage+    = Package'_constructor+        {_Package'manager = Data.ProtoLens.fieldDefault,+         _Package'name = Data.ProtoLens.fieldDefault,+         _Package'version = Data.ProtoLens.fieldDefault,+         _Package'_unknownFields = []}+  parseMessage+    = let+        loop :: Package -> Data.ProtoLens.Encoding.Bytes.Parser Package+        loop x+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "manager"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"manager") y x)+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "name"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+                        26+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "version"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"version") y x)+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do loop Data.ProtoLens.defMessage) "Package"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"manager") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (let+                      _v = Lens.Family2.view (Data.ProtoLens.Field.field @"version") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                            ((Prelude..)+                               (\ bs+                                  -> (Data.Monoid.<>)+                                       (Data.ProtoLens.Encoding.Bytes.putVarInt+                                          (Prelude.fromIntegral (Data.ByteString.length bs)))+                                       (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                               Data.Text.Encoding.encodeUtf8 _v))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData Package where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Package'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Package'manager x__)+                (Control.DeepSeq.deepseq+                   (_Package'name x__)+                   (Control.DeepSeq.deepseq (_Package'version x__) ())))+newtype PositionEncoding'UnrecognizedValue+  = PositionEncoding'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data PositionEncoding+  = UnspecifiedPositionEncoding |+    UTF8CodeUnitOffsetFromLineStart |+    UTF16CodeUnitOffsetFromLineStart |+    UTF32CodeUnitOffsetFromLineStart |+    PositionEncoding'Unrecognized !PositionEncoding'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum PositionEncoding where+  maybeToEnum 0 = Prelude.Just UnspecifiedPositionEncoding+  maybeToEnum 1 = Prelude.Just UTF8CodeUnitOffsetFromLineStart+  maybeToEnum 2 = Prelude.Just UTF16CodeUnitOffsetFromLineStart+  maybeToEnum 3 = Prelude.Just UTF32CodeUnitOffsetFromLineStart+  maybeToEnum k+    = Prelude.Just+        (PositionEncoding'Unrecognized+           (PositionEncoding'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedPositionEncoding+    = "UnspecifiedPositionEncoding"+  showEnum UTF8CodeUnitOffsetFromLineStart+    = "UTF8CodeUnitOffsetFromLineStart"+  showEnum UTF16CodeUnitOffsetFromLineStart+    = "UTF16CodeUnitOffsetFromLineStart"+  showEnum UTF32CodeUnitOffsetFromLineStart+    = "UTF32CodeUnitOffsetFromLineStart"+  showEnum+    (PositionEncoding'Unrecognized (PositionEncoding'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedPositionEncoding"+    = Prelude.Just UnspecifiedPositionEncoding+    | (Prelude.==) k "UTF8CodeUnitOffsetFromLineStart"+    = Prelude.Just UTF8CodeUnitOffsetFromLineStart+    | (Prelude.==) k "UTF16CodeUnitOffsetFromLineStart"+    = Prelude.Just UTF16CodeUnitOffsetFromLineStart+    | (Prelude.==) k "UTF32CodeUnitOffsetFromLineStart"+    = Prelude.Just UTF32CodeUnitOffsetFromLineStart+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded PositionEncoding where+  minBound = UnspecifiedPositionEncoding+  maxBound = UTF32CodeUnitOffsetFromLineStart+instance Prelude.Enum PositionEncoding where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum PositionEncoding: "+              (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedPositionEncoding = 0+  fromEnum UTF8CodeUnitOffsetFromLineStart = 1+  fromEnum UTF16CodeUnitOffsetFromLineStart = 2+  fromEnum UTF32CodeUnitOffsetFromLineStart = 3+  fromEnum+    (PositionEncoding'Unrecognized (PositionEncoding'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ UTF32CodeUnitOffsetFromLineStart+    = Prelude.error+        "PositionEncoding.succ: bad argument UTF32CodeUnitOffsetFromLineStart. This value would be out of bounds."+  succ UnspecifiedPositionEncoding = UTF8CodeUnitOffsetFromLineStart+  succ UTF8CodeUnitOffsetFromLineStart+    = UTF16CodeUnitOffsetFromLineStart+  succ UTF16CodeUnitOffsetFromLineStart+    = UTF32CodeUnitOffsetFromLineStart+  succ (PositionEncoding'Unrecognized _)+    = Prelude.error+        "PositionEncoding.succ: bad argument: unrecognized value"+  pred UnspecifiedPositionEncoding+    = Prelude.error+        "PositionEncoding.pred: bad argument UnspecifiedPositionEncoding. This value would be out of bounds."+  pred UTF8CodeUnitOffsetFromLineStart = UnspecifiedPositionEncoding+  pred UTF16CodeUnitOffsetFromLineStart+    = UTF8CodeUnitOffsetFromLineStart+  pred UTF32CodeUnitOffsetFromLineStart+    = UTF16CodeUnitOffsetFromLineStart+  pred (PositionEncoding'Unrecognized _)+    = Prelude.error+        "PositionEncoding.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault PositionEncoding where+  fieldDefault = UnspecifiedPositionEncoding+instance Control.DeepSeq.NFData PositionEncoding where+  rnf x__ = Prelude.seq x__ ()+newtype ProtocolVersion'UnrecognizedValue+  = ProtocolVersion'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data ProtocolVersion+  = UnspecifiedProtocolVersion |+    ProtocolVersion'Unrecognized !ProtocolVersion'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum ProtocolVersion where+  maybeToEnum 0 = Prelude.Just UnspecifiedProtocolVersion+  maybeToEnum k+    = Prelude.Just+        (ProtocolVersion'Unrecognized+           (ProtocolVersion'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedProtocolVersion = "UnspecifiedProtocolVersion"+  showEnum+    (ProtocolVersion'Unrecognized (ProtocolVersion'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedProtocolVersion"+    = Prelude.Just UnspecifiedProtocolVersion+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded ProtocolVersion where+  minBound = UnspecifiedProtocolVersion+  maxBound = UnspecifiedProtocolVersion+instance Prelude.Enum ProtocolVersion where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum ProtocolVersion: "+              (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedProtocolVersion = 0+  fromEnum+    (ProtocolVersion'Unrecognized (ProtocolVersion'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ UnspecifiedProtocolVersion+    = Prelude.error+        "ProtocolVersion.succ: bad argument UnspecifiedProtocolVersion. This value would be out of bounds."+  succ (ProtocolVersion'Unrecognized _)+    = Prelude.error+        "ProtocolVersion.succ: bad argument: unrecognized value"+  pred UnspecifiedProtocolVersion+    = Prelude.error+        "ProtocolVersion.pred: bad argument UnspecifiedProtocolVersion. This value would be out of bounds."+  pred (ProtocolVersion'Unrecognized _)+    = Prelude.error+        "ProtocolVersion.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault ProtocolVersion where+  fieldDefault = UnspecifiedProtocolVersion+instance Control.DeepSeq.NFData ProtocolVersion where+  rnf x__ = Prelude.seq x__ ()+{- | Fields :+     +         * 'Proto.Scip_Fields.symbol' @:: Lens' Relationship Data.Text.Text@+         * 'Proto.Scip_Fields.isReference' @:: Lens' Relationship Prelude.Bool@+         * 'Proto.Scip_Fields.isImplementation' @:: Lens' Relationship Prelude.Bool@+         * 'Proto.Scip_Fields.isTypeDefinition' @:: Lens' Relationship Prelude.Bool@+         * 'Proto.Scip_Fields.isDefinition' @:: Lens' Relationship Prelude.Bool@ -}+data Relationship+  = Relationship'_constructor {_Relationship'symbol :: !Data.Text.Text,+                               _Relationship'isReference :: !Prelude.Bool,+                               _Relationship'isImplementation :: !Prelude.Bool,+                               _Relationship'isTypeDefinition :: !Prelude.Bool,+                               _Relationship'isDefinition :: !Prelude.Bool,+                               _Relationship'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Relationship where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Relationship "symbol" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Relationship'symbol+           (\ x__ y__ -> x__ {_Relationship'symbol = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Relationship "isReference" Prelude.Bool where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Relationship'isReference+           (\ x__ y__ -> x__ {_Relationship'isReference = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Relationship "isImplementation" Prelude.Bool where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Relationship'isImplementation+           (\ x__ y__ -> x__ {_Relationship'isImplementation = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Relationship "isTypeDefinition" Prelude.Bool where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Relationship'isTypeDefinition+           (\ x__ y__ -> x__ {_Relationship'isTypeDefinition = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Relationship "isDefinition" Prelude.Bool where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Relationship'isDefinition+           (\ x__ y__ -> x__ {_Relationship'isDefinition = y__}))+        Prelude.id+instance Data.ProtoLens.Message Relationship where+  messageName _ = Data.Text.pack "scip.Relationship"+  packedMessageDescriptor _+    = "\n\+      \\fRelationship\DC2\SYN\n\+      \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2!\n\+      \\fis_reference\CAN\STX \SOH(\bR\visReference\DC2+\n\+      \\DC1is_implementation\CAN\ETX \SOH(\bR\DLEisImplementation\DC2,\n\+      \\DC2is_type_definition\CAN\EOT \SOH(\bR\DLEisTypeDefinition\DC2#\n\+      \\ris_definition\CAN\ENQ \SOH(\bR\fisDefinition"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        symbol__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "symbol"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"symbol")) ::+              Data.ProtoLens.FieldDescriptor Relationship+        isReference__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "is_reference"+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"isReference")) ::+              Data.ProtoLens.FieldDescriptor Relationship+        isImplementation__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "is_implementation"+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"isImplementation")) ::+              Data.ProtoLens.FieldDescriptor Relationship+        isTypeDefinition__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "is_type_definition"+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"isTypeDefinition")) ::+              Data.ProtoLens.FieldDescriptor Relationship+        isDefinition__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "is_definition"+              (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::+                 Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"isDefinition")) ::+              Data.ProtoLens.FieldDescriptor Relationship+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, symbol__field_descriptor),+           (Data.ProtoLens.Tag 2, isReference__field_descriptor),+           (Data.ProtoLens.Tag 3, isImplementation__field_descriptor),+           (Data.ProtoLens.Tag 4, isTypeDefinition__field_descriptor),+           (Data.ProtoLens.Tag 5, isDefinition__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Relationship'_unknownFields+        (\ x__ y__ -> x__ {_Relationship'_unknownFields = y__})+  defMessage+    = Relationship'_constructor+        {_Relationship'symbol = Data.ProtoLens.fieldDefault,+         _Relationship'isReference = Data.ProtoLens.fieldDefault,+         _Relationship'isImplementation = Data.ProtoLens.fieldDefault,+         _Relationship'isTypeDefinition = Data.ProtoLens.fieldDefault,+         _Relationship'isDefinition = Data.ProtoLens.fieldDefault,+         _Relationship'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Relationship -> Data.ProtoLens.Encoding.Bytes.Parser Relationship+        loop x+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "symbol"+                                loop (Lens.Family2.set (Data.ProtoLens.Field.field @"symbol") y x)+                        16+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+                                       "is_reference"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"isReference") y x)+                        24+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+                                       "is_implementation"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"isImplementation") y x)+                        32+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+                                       "is_type_definition"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"isTypeDefinition") y x)+                        40+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)+                                       "is_definition"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"isDefinition") y x)+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do loop Data.ProtoLens.defMessage) "Relationship"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"symbol") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let+                   _v+                     = Lens.Family2.view (Data.ProtoLens.Field.field @"isReference") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 16)+                         ((Prelude..)+                            Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)+                            _v))+                ((Data.Monoid.<>)+                   (let+                      _v+                        = Lens.Family2.view+                            (Data.ProtoLens.Field.field @"isImplementation") _x+                    in+                      if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                          Data.Monoid.mempty+                      else+                          (Data.Monoid.<>)+                            (Data.ProtoLens.Encoding.Bytes.putVarInt 24)+                            ((Prelude..)+                               Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)+                               _v))+                   ((Data.Monoid.<>)+                      (let+                         _v+                           = Lens.Family2.view+                               (Data.ProtoLens.Field.field @"isTypeDefinition") _x+                       in+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                             Data.Monoid.mempty+                         else+                             (Data.Monoid.<>)+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 32)+                               ((Prelude..)+                                  Data.ProtoLens.Encoding.Bytes.putVarInt+                                  (\ b -> if b then 1 else 0) _v))+                      ((Data.Monoid.<>)+                         (let+                            _v+                              = Lens.Family2.view (Data.ProtoLens.Field.field @"isDefinition") _x+                          in+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                Data.Monoid.mempty+                            else+                                (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+                                  ((Prelude..)+                                     Data.ProtoLens.Encoding.Bytes.putVarInt+                                     (\ b -> if b then 1 else 0) _v))+                         (Data.ProtoLens.Encoding.Wire.buildFieldSet+                            (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))+instance Control.DeepSeq.NFData Relationship where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Relationship'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Relationship'symbol x__)+                (Control.DeepSeq.deepseq+                   (_Relationship'isReference x__)+                   (Control.DeepSeq.deepseq+                      (_Relationship'isImplementation x__)+                      (Control.DeepSeq.deepseq+                         (_Relationship'isTypeDefinition x__)+                         (Control.DeepSeq.deepseq (_Relationship'isDefinition x__) ())))))+newtype Severity'UnrecognizedValue+  = Severity'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data Severity+  = UnspecifiedSeverity |+    Error |+    Warning |+    Information |+    Hint |+    Severity'Unrecognized !Severity'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum Severity where+  maybeToEnum 0 = Prelude.Just UnspecifiedSeverity+  maybeToEnum 1 = Prelude.Just Error+  maybeToEnum 2 = Prelude.Just Warning+  maybeToEnum 3 = Prelude.Just Information+  maybeToEnum 4 = Prelude.Just Hint+  maybeToEnum k+    = Prelude.Just+        (Severity'Unrecognized+           (Severity'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedSeverity = "UnspecifiedSeverity"+  showEnum Error = "Error"+  showEnum Warning = "Warning"+  showEnum Information = "Information"+  showEnum Hint = "Hint"+  showEnum (Severity'Unrecognized (Severity'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedSeverity"+    = Prelude.Just UnspecifiedSeverity+    | (Prelude.==) k "Error" = Prelude.Just Error+    | (Prelude.==) k "Warning" = Prelude.Just Warning+    | (Prelude.==) k "Information" = Prelude.Just Information+    | (Prelude.==) k "Hint" = Prelude.Just Hint+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded Severity where+  minBound = UnspecifiedSeverity+  maxBound = Hint+instance Prelude.Enum Severity where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum Severity: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedSeverity = 0+  fromEnum Error = 1+  fromEnum Warning = 2+  fromEnum Information = 3+  fromEnum Hint = 4+  fromEnum (Severity'Unrecognized (Severity'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ Hint+    = Prelude.error+        "Severity.succ: bad argument Hint. This value would be out of bounds."+  succ UnspecifiedSeverity = Error+  succ Error = Warning+  succ Warning = Information+  succ Information = Hint+  succ (Severity'Unrecognized _)+    = Prelude.error "Severity.succ: bad argument: unrecognized value"+  pred UnspecifiedSeverity+    = Prelude.error+        "Severity.pred: bad argument UnspecifiedSeverity. This value would be out of bounds."+  pred Error = UnspecifiedSeverity+  pred Warning = Error+  pred Information = Warning+  pred Hint = Information+  pred (Severity'Unrecognized _)+    = Prelude.error "Severity.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault Severity where+  fieldDefault = UnspecifiedSeverity+instance Control.DeepSeq.NFData Severity where+  rnf x__ = Prelude.seq x__ ()+{- | Fields :+     +         * 'Proto.Scip_Fields.language' @:: Lens' Signature Data.Text.Text@+         * 'Proto.Scip_Fields.text' @:: Lens' Signature Data.Text.Text@+         * 'Proto.Scip_Fields.occurrences' @:: Lens' Signature [Occurrence]@+         * 'Proto.Scip_Fields.vec'occurrences' @:: Lens' Signature (Data.Vector.Vector Occurrence)@ -}+data Signature+  = Signature'_constructor {_Signature'language :: !Data.Text.Text,+                            _Signature'text :: !Data.Text.Text,+                            _Signature'occurrences :: !(Data.Vector.Vector Occurrence),+                            _Signature'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Signature where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Signature "language" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Signature'language (\ x__ y__ -> x__ {_Signature'language = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Signature "text" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Signature'text (\ x__ y__ -> x__ {_Signature'text = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Signature "occurrences" [Occurrence] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Signature'occurrences+           (\ x__ y__ -> x__ {_Signature'occurrences = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Signature "vec'occurrences" (Data.Vector.Vector Occurrence) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Signature'occurrences+           (\ x__ y__ -> x__ {_Signature'occurrences = y__}))+        Prelude.id+instance Data.ProtoLens.Message Signature where+  messageName _ = Data.Text.pack "scip.Signature"+  packedMessageDescriptor _+    = "\n\+      \\tSignature\DC2\SUB\n\+      \\blanguage\CAN\EOT \SOH(\tR\blanguage\DC2\DC2\n\+      \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC22\n\+      \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrencesJ\EOT\b\SOH\DLE\STXJ\EOT\b\ETX\DLE\EOTJ\EOT\b\ACK\DLE\a"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        language__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "language"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"language")) ::+              Data.ProtoLens.FieldDescriptor Signature+        text__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "text"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"text")) ::+              Data.ProtoLens.FieldDescriptor Signature+        occurrences__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "occurrences"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Occurrence)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"occurrences")) ::+              Data.ProtoLens.FieldDescriptor Signature+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 4, language__field_descriptor),+           (Data.ProtoLens.Tag 5, text__field_descriptor),+           (Data.ProtoLens.Tag 2, occurrences__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Signature'_unknownFields+        (\ x__ y__ -> x__ {_Signature'_unknownFields = y__})+  defMessage+    = Signature'_constructor+        {_Signature'language = Data.ProtoLens.fieldDefault,+         _Signature'text = Data.ProtoLens.fieldDefault,+         _Signature'occurrences = Data.Vector.Generic.empty,+         _Signature'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Signature+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Occurrence+             -> Data.ProtoLens.Encoding.Bytes.Parser Signature+        loop x mutable'occurrences+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'occurrences <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                 mutable'occurrences)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'occurrences") frozen'occurrences+                              x))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        34+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "language"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x)+                                  mutable'occurrences+                        42+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "text"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x)+                                  mutable'occurrences+                        18+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "occurrences"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'occurrences y)+                                loop x v+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'occurrences+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'occurrences <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       Data.ProtoLens.Encoding.Growing.new+              loop Data.ProtoLens.defMessage mutable'occurrences)+          "Signature"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"language") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"text") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 42)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.ProtoLens.encodeMessage _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'occurrences") _x))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData Signature where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Signature'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Signature'language x__)+                (Control.DeepSeq.deepseq+                   (_Signature'text x__)+                   (Control.DeepSeq.deepseq (_Signature'occurrences x__) ())))+{- | Fields :+     +         * 'Proto.Scip_Fields.scheme' @:: Lens' Symbol Data.Text.Text@+         * 'Proto.Scip_Fields.package' @:: Lens' Symbol Package@+         * 'Proto.Scip_Fields.maybe'package' @:: Lens' Symbol (Prelude.Maybe Package)@+         * 'Proto.Scip_Fields.descriptors' @:: Lens' Symbol [Descriptor]@+         * 'Proto.Scip_Fields.vec'descriptors' @:: Lens' Symbol (Data.Vector.Vector Descriptor)@ -}+data Symbol+  = Symbol'_constructor {_Symbol'scheme :: !Data.Text.Text,+                         _Symbol'package :: !(Prelude.Maybe Package),+                         _Symbol'descriptors :: !(Data.Vector.Vector Descriptor),+                         _Symbol'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show Symbol where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField Symbol "scheme" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Symbol'scheme (\ x__ y__ -> x__ {_Symbol'scheme = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Symbol "package" Package where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Symbol'package (\ x__ y__ -> x__ {_Symbol'package = y__}))+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField Symbol "maybe'package" (Prelude.Maybe Package) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Symbol'package (\ x__ y__ -> x__ {_Symbol'package = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField Symbol "descriptors" [Descriptor] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Symbol'descriptors (\ x__ y__ -> x__ {_Symbol'descriptors = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField Symbol "vec'descriptors" (Data.Vector.Vector Descriptor) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _Symbol'descriptors (\ x__ y__ -> x__ {_Symbol'descriptors = y__}))+        Prelude.id+instance Data.ProtoLens.Message Symbol where+  messageName _ = Data.Text.pack "scip.Symbol"+  packedMessageDescriptor _+    = "\n\+      \\ACKSymbol\DC2\SYN\n\+      \\ACKscheme\CAN\SOH \SOH(\tR\ACKscheme\DC2'\n\+      \\apackage\CAN\STX \SOH(\v2\r.scip.PackageR\apackage\DC22\n\+      \\vdescriptors\CAN\ETX \ETX(\v2\DLE.scip.DescriptorR\vdescriptors"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        scheme__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "scheme"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"scheme")) ::+              Data.ProtoLens.FieldDescriptor Symbol+        package__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "package"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Package)+              (Data.ProtoLens.OptionalField+                 (Data.ProtoLens.Field.field @"maybe'package")) ::+              Data.ProtoLens.FieldDescriptor Symbol+        descriptors__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "descriptors"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Descriptor)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"descriptors")) ::+              Data.ProtoLens.FieldDescriptor Symbol+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, scheme__field_descriptor),+           (Data.ProtoLens.Tag 2, package__field_descriptor),+           (Data.ProtoLens.Tag 3, descriptors__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _Symbol'_unknownFields+        (\ x__ y__ -> x__ {_Symbol'_unknownFields = y__})+  defMessage+    = Symbol'_constructor+        {_Symbol'scheme = Data.ProtoLens.fieldDefault,+         _Symbol'package = Prelude.Nothing,+         _Symbol'descriptors = Data.Vector.Generic.empty,+         _Symbol'_unknownFields = []}+  parseMessage+    = let+        loop ::+          Symbol+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Descriptor+             -> Data.ProtoLens.Encoding.Bytes.Parser Symbol+        loop x mutable'descriptors+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'descriptors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                              (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                 mutable'descriptors)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'descriptors") frozen'descriptors+                              x))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "scheme"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"scheme") y x)+                                  mutable'descriptors+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.isolate+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+                                       "package"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"package") y x)+                                  mutable'descriptors+                        26+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "descriptors"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'descriptors y)+                                loop x v+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'descriptors+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'descriptors <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       Data.ProtoLens.Encoding.Growing.new+              loop Data.ProtoLens.defMessage mutable'descriptors)+          "Symbol"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"scheme") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (case+                     Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'package") _x+                 of+                   Prelude.Nothing -> Data.Monoid.mempty+                   (Prelude.Just _v)+                     -> (Data.Monoid.<>)+                          (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                          ((Prelude..)+                             (\ bs+                                -> (Data.Monoid.<>)+                                     (Data.ProtoLens.Encoding.Bytes.putVarInt+                                        (Prelude.fromIntegral (Data.ByteString.length bs)))+                                     (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                             Data.ProtoLens.encodeMessage _v))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.ProtoLens.encodeMessage _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'descriptors") _x))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData Symbol where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_Symbol'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_Symbol'scheme x__)+                (Control.DeepSeq.deepseq+                   (_Symbol'package x__)+                   (Control.DeepSeq.deepseq (_Symbol'descriptors x__) ())))+{- | Fields :+     +         * 'Proto.Scip_Fields.symbol' @:: Lens' SymbolInformation Data.Text.Text@+         * 'Proto.Scip_Fields.documentation' @:: Lens' SymbolInformation [Data.Text.Text]@+         * 'Proto.Scip_Fields.vec'documentation' @:: Lens' SymbolInformation (Data.Vector.Vector Data.Text.Text)@+         * 'Proto.Scip_Fields.relationships' @:: Lens' SymbolInformation [Relationship]@+         * 'Proto.Scip_Fields.vec'relationships' @:: Lens' SymbolInformation (Data.Vector.Vector Relationship)@+         * 'Proto.Scip_Fields.kind' @:: Lens' SymbolInformation SymbolInformation'Kind@+         * 'Proto.Scip_Fields.displayName' @:: Lens' SymbolInformation Data.Text.Text@+         * 'Proto.Scip_Fields.signatureDocumentation' @:: Lens' SymbolInformation Signature@+         * 'Proto.Scip_Fields.maybe'signatureDocumentation' @:: Lens' SymbolInformation (Prelude.Maybe Signature)@+         * 'Proto.Scip_Fields.enclosingSymbol' @:: Lens' SymbolInformation Data.Text.Text@ -}+data SymbolInformation+  = SymbolInformation'_constructor {_SymbolInformation'symbol :: !Data.Text.Text,+                                    _SymbolInformation'documentation :: !(Data.Vector.Vector Data.Text.Text),+                                    _SymbolInformation'relationships :: !(Data.Vector.Vector Relationship),+                                    _SymbolInformation'kind :: !SymbolInformation'Kind,+                                    _SymbolInformation'displayName :: !Data.Text.Text,+                                    _SymbolInformation'signatureDocumentation :: !(Prelude.Maybe Signature),+                                    _SymbolInformation'enclosingSymbol :: !Data.Text.Text,+                                    _SymbolInformation'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show SymbolInformation where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField SymbolInformation "symbol" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'symbol+           (\ x__ y__ -> x__ {_SymbolInformation'symbol = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "documentation" [Data.Text.Text] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'documentation+           (\ x__ y__ -> x__ {_SymbolInformation'documentation = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SymbolInformation "vec'documentation" (Data.Vector.Vector Data.Text.Text) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'documentation+           (\ x__ y__ -> x__ {_SymbolInformation'documentation = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "relationships" [Relationship] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'relationships+           (\ x__ y__ -> x__ {_SymbolInformation'relationships = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField SymbolInformation "vec'relationships" (Data.Vector.Vector Relationship) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'relationships+           (\ x__ y__ -> x__ {_SymbolInformation'relationships = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "kind" SymbolInformation'Kind where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'kind+           (\ x__ y__ -> x__ {_SymbolInformation'kind = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "displayName" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'displayName+           (\ x__ y__ -> x__ {_SymbolInformation'displayName = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "signatureDocumentation" Signature where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'signatureDocumentation+           (\ x__ y__+              -> x__ {_SymbolInformation'signatureDocumentation = y__}))+        (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)+instance Data.ProtoLens.Field.HasField SymbolInformation "maybe'signatureDocumentation" (Prelude.Maybe Signature) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'signatureDocumentation+           (\ x__ y__+              -> x__ {_SymbolInformation'signatureDocumentation = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField SymbolInformation "enclosingSymbol" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _SymbolInformation'enclosingSymbol+           (\ x__ y__ -> x__ {_SymbolInformation'enclosingSymbol = y__}))+        Prelude.id+instance Data.ProtoLens.Message SymbolInformation where+  messageName _ = Data.Text.pack "scip.SymbolInformation"+  packedMessageDescriptor _+    = "\n\+      \\DC1SymbolInformation\DC2\SYN\n\+      \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2$\n\+      \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC28\n\+      \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationships\DC20\n\+      \\EOTkind\CAN\ENQ \SOH(\SO2\FS.scip.SymbolInformation.KindR\EOTkind\DC2!\n\+      \\fdisplay_name\CAN\ACK \SOH(\tR\vdisplayName\DC2H\n\+      \\ETBsignature_documentation\CAN\a \SOH(\v2\SI.scip.SignatureR\SYNsignatureDocumentation\DC2)\n\+      \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\"\251\t\n\+      \\EOTKind\DC2\DC3\n\+      \\SIUnspecifiedKind\DLE\NUL\DC2\DC2\n\+      \\SOAbstractMethod\DLEB\DC2\f\n\+      \\bAccessor\DLEH\DC2\t\n\+      \\ENQArray\DLE\SOH\DC2\r\n\+      \\tAssertion\DLE\STX\DC2\DC2\n\+      \\SOAssociatedType\DLE\ETX\DC2\r\n\+      \\tAttribute\DLE\EOT\DC2\t\n\+      \\ENQAxiom\DLE\ENQ\DC2\v\n\+      \\aBoolean\DLE\ACK\DC2\t\n\+      \\ENQClass\DLE\a\DC2\v\n\+      \\aConcept\DLEV\DC2\f\n\+      \\bConstant\DLE\b\DC2\SI\n\+      \\vConstructor\DLE\t\DC2\f\n\+      \\bContract\DLE>\DC2\SO\n\+      \\n\+      \DataFamily\DLE\n\+      \\DC2\f\n\+      \\bDelegate\DLEI\DC2\b\n\+      \\EOTEnum\DLE\v\DC2\SO\n\+      \\n\+      \EnumMember\DLE\f\DC2\t\n\+      \\ENQError\DLE?\DC2\t\n\+      \\ENQEvent\DLE\r\DC2\r\n\+      \\tExtension\DLET\DC2\b\n\+      \\EOTFact\DLE\SO\DC2\t\n\+      \\ENQField\DLE\SI\DC2\b\n\+      \\EOTFile\DLE\DLE\DC2\f\n\+      \\bFunction\DLE\DC1\DC2\n\+      \\n\+      \\ACKGetter\DLE\DC2\DC2\v\n\+      \\aGrammar\DLE\DC3\DC2\f\n\+      \\bInstance\DLE\DC4\DC2\r\n\+      \\tInterface\DLE\NAK\DC2\a\n\+      \\ETXKey\DLE\SYN\DC2\b\n\+      \\EOTLang\DLE\ETB\DC2\t\n\+      \\ENQLemma\DLE\CAN\DC2\v\n\+      \\aLibrary\DLE@\DC2\t\n\+      \\ENQMacro\DLE\EM\DC2\n\+      \\n\+      \\ACKMethod\DLE\SUB\DC2\SI\n\+      \\vMethodAlias\DLEJ\DC2\DC2\n\+      \\SOMethodReceiver\DLE\ESC\DC2\ETB\n\+      \\DC3MethodSpecification\DLEC\DC2\v\n\+      \\aMessage\DLE\FS\DC2\t\n\+      \\ENQMixin\DLEU\DC2\f\n\+      \\bModifier\DLEA\DC2\n\+      \\n\+      \\ACKModule\DLE\GS\DC2\r\n\+      \\tNamespace\DLE\RS\DC2\b\n\+      \\EOTNull\DLE\US\DC2\n\+      \\n\+      \\ACKNumber\DLE \DC2\n\+      \\n\+      \\ACKObject\DLE!\DC2\f\n\+      \\bOperator\DLE\"\DC2\v\n\+      \\aPackage\DLE#\DC2\DC1\n\+      \\rPackageObject\DLE$\DC2\r\n\+      \\tParameter\DLE%\DC2\DC2\n\+      \\SOParameterLabel\DLE&\DC2\v\n\+      \\aPattern\DLE'\DC2\r\n\+      \\tPredicate\DLE(\DC2\f\n\+      \\bProperty\DLE)\DC2\f\n\+      \\bProtocol\DLE*\DC2\DC2\n\+      \\SOProtocolMethod\DLED\DC2\NAK\n\+      \\DC1PureVirtualMethod\DLEE\DC2\SI\n\+      \\vQuasiquoter\DLE+\DC2\DC1\n\+      \\rSelfParameter\DLE,\DC2\n\+      \\n\+      \\ACKSetter\DLE-\DC2\r\n\+      \\tSignature\DLE.\DC2\DC2\n\+      \\SOSingletonClass\DLEK\DC2\DC3\n\+      \\SISingletonMethod\DLEL\DC2\DC4\n\+      \\DLEStaticDataMember\DLEM\DC2\SI\n\+      \\vStaticEvent\DLEN\DC2\SI\n\+      \\vStaticField\DLEO\DC2\DLE\n\+      \\fStaticMethod\DLEP\DC2\DC2\n\+      \\SOStaticProperty\DLEQ\DC2\DC2\n\+      \\SOStaticVariable\DLER\DC2\n\+      \\n\+      \\ACKString\DLE0\DC2\n\+      \\n\+      \\ACKStruct\DLE1\DC2\r\n\+      \\tSubscript\DLE/\DC2\n\+      \\n\+      \\ACKTactic\DLE2\DC2\v\n\+      \\aTheorem\DLE3\DC2\DC1\n\+      \\rThisParameter\DLE4\DC2\t\n\+      \\ENQTrait\DLE5\DC2\SI\n\+      \\vTraitMethod\DLEF\DC2\b\n\+      \\EOTType\DLE6\DC2\r\n\+      \\tTypeAlias\DLE7\DC2\r\n\+      \\tTypeClass\DLE8\DC2\DC3\n\+      \\SITypeClassMethod\DLEG\DC2\SO\n\+      \\n\+      \TypeFamily\DLE9\DC2\DC1\n\+      \\rTypeParameter\DLE:\DC2\t\n\+      \\ENQUnion\DLE;\DC2\t\n\+      \\ENQValue\DLE<\DC2\f\n\+      \\bVariable\DLE="+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        symbol__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "symbol"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"symbol")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        documentation__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "documentation"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"documentation")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        relationships__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "relationships"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Relationship)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"relationships")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        kind__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "kind"+              (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::+                 Data.ProtoLens.FieldTypeDescriptor SymbolInformation'Kind)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"kind")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        displayName__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "display_name"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"displayName")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        signatureDocumentation__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "signature_documentation"+              (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::+                 Data.ProtoLens.FieldTypeDescriptor Signature)+              (Data.ProtoLens.OptionalField+                 (Data.ProtoLens.Field.field @"maybe'signatureDocumentation")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+        enclosingSymbol__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "enclosing_symbol"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional+                 (Data.ProtoLens.Field.field @"enclosingSymbol")) ::+              Data.ProtoLens.FieldDescriptor SymbolInformation+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, symbol__field_descriptor),+           (Data.ProtoLens.Tag 3, documentation__field_descriptor),+           (Data.ProtoLens.Tag 4, relationships__field_descriptor),+           (Data.ProtoLens.Tag 5, kind__field_descriptor),+           (Data.ProtoLens.Tag 6, displayName__field_descriptor),+           (Data.ProtoLens.Tag 7, signatureDocumentation__field_descriptor),+           (Data.ProtoLens.Tag 8, enclosingSymbol__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _SymbolInformation'_unknownFields+        (\ x__ y__ -> x__ {_SymbolInformation'_unknownFields = y__})+  defMessage+    = SymbolInformation'_constructor+        {_SymbolInformation'symbol = Data.ProtoLens.fieldDefault,+         _SymbolInformation'documentation = Data.Vector.Generic.empty,+         _SymbolInformation'relationships = Data.Vector.Generic.empty,+         _SymbolInformation'kind = Data.ProtoLens.fieldDefault,+         _SymbolInformation'displayName = Data.ProtoLens.fieldDefault,+         _SymbolInformation'signatureDocumentation = Prelude.Nothing,+         _SymbolInformation'enclosingSymbol = Data.ProtoLens.fieldDefault,+         _SymbolInformation'_unknownFields = []}+  parseMessage+    = let+        loop ::+          SymbolInformation+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+             -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Relationship+                -> Data.ProtoLens.Encoding.Bytes.Parser SymbolInformation+        loop x mutable'documentation mutable'relationships+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'documentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                   mutable'documentation)+                      frozen'relationships <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                                (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                                   mutable'relationships)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'documentation")+                              frozen'documentation+                              (Lens.Family2.set+                                 (Data.ProtoLens.Field.field @"vec'relationships")+                                 frozen'relationships x)))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "symbol"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"symbol") y x)+                                  mutable'documentation mutable'relationships+                        26+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.getText+                                              (Prelude.fromIntegral len))+                                        "documentation"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'documentation y)+                                loop x v mutable'relationships+                        34+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.isolate+                                              (Prelude.fromIntegral len)+                                              Data.ProtoLens.parseMessage)+                                        "relationships"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append+                                          mutable'relationships y)+                                loop x mutable'documentation v+                        40+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (Prelude.fmap+                                          Prelude.toEnum+                                          (Prelude.fmap+                                             Prelude.fromIntegral+                                             Data.ProtoLens.Encoding.Bytes.getVarInt))+                                       "kind"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"kind") y x)+                                  mutable'documentation mutable'relationships+                        50+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "display_name"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"displayName") y x)+                                  mutable'documentation mutable'relationships+                        58+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.isolate+                                             (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)+                                       "signature_documentation"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"signatureDocumentation") y x)+                                  mutable'documentation mutable'relationships+                        66+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "enclosing_symbol"+                                loop+                                  (Lens.Family2.set+                                     (Data.ProtoLens.Field.field @"enclosingSymbol") y x)+                                  mutable'documentation mutable'relationships+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'documentation mutable'relationships+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'documentation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                         Data.ProtoLens.Encoding.Growing.new+              mutable'relationships <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                         Data.ProtoLens.Encoding.Growing.new+              loop+                Data.ProtoLens.defMessage mutable'documentation+                mutable'relationships)+          "SymbolInformation"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let+                _v = Lens.Family2.view (Data.ProtoLens.Field.field @"symbol") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                   (\ _v+                      -> (Data.Monoid.<>)+                           (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                           ((Prelude..)+                              (\ bs+                                 -> (Data.Monoid.<>)+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt+                                         (Prelude.fromIntegral (Data.ByteString.length bs)))+                                      (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                              Data.Text.Encoding.encodeUtf8 _v))+                   (Lens.Family2.view+                      (Data.ProtoLens.Field.field @"vec'documentation") _x))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 34)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.ProtoLens.encodeMessage _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'relationships") _x))+                   ((Data.Monoid.<>)+                      (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"kind") _x+                       in+                         if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                             Data.Monoid.mempty+                         else+                             (Data.Monoid.<>)+                               (Data.ProtoLens.Encoding.Bytes.putVarInt 40)+                               ((Prelude..)+                                  ((Prelude..)+                                     Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)+                                  Prelude.fromEnum _v))+                      ((Data.Monoid.<>)+                         (let+                            _v+                              = Lens.Family2.view (Data.ProtoLens.Field.field @"displayName") _x+                          in+                            if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                Data.Monoid.mempty+                            else+                                (Data.Monoid.<>)+                                  (Data.ProtoLens.Encoding.Bytes.putVarInt 50)+                                  ((Prelude..)+                                     (\ bs+                                        -> (Data.Monoid.<>)+                                             (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                (Prelude.fromIntegral (Data.ByteString.length bs)))+                                             (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                     Data.Text.Encoding.encodeUtf8 _v))+                         ((Data.Monoid.<>)+                            (case+                                 Lens.Family2.view+                                   (Data.ProtoLens.Field.field @"maybe'signatureDocumentation") _x+                             of+                               Prelude.Nothing -> Data.Monoid.mempty+                               (Prelude.Just _v)+                                 -> (Data.Monoid.<>)+                                      (Data.ProtoLens.Encoding.Bytes.putVarInt 58)+                                      ((Prelude..)+                                         (\ bs+                                            -> (Data.Monoid.<>)+                                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                    (Prelude.fromIntegral+                                                       (Data.ByteString.length bs)))+                                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                         Data.ProtoLens.encodeMessage _v))+                            ((Data.Monoid.<>)+                               (let+                                  _v+                                    = Lens.Family2.view+                                        (Data.ProtoLens.Field.field @"enclosingSymbol") _x+                                in+                                  if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                                      Data.Monoid.mempty+                                  else+                                      (Data.Monoid.<>)+                                        (Data.ProtoLens.Encoding.Bytes.putVarInt 66)+                                        ((Prelude..)+                                           (\ bs+                                              -> (Data.Monoid.<>)+                                                   (Data.ProtoLens.Encoding.Bytes.putVarInt+                                                      (Prelude.fromIntegral+                                                         (Data.ByteString.length bs)))+                                                   (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                           Data.Text.Encoding.encodeUtf8 _v))+                               (Data.ProtoLens.Encoding.Wire.buildFieldSet+                                  (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))+instance Control.DeepSeq.NFData SymbolInformation where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_SymbolInformation'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_SymbolInformation'symbol x__)+                (Control.DeepSeq.deepseq+                   (_SymbolInformation'documentation x__)+                   (Control.DeepSeq.deepseq+                      (_SymbolInformation'relationships x__)+                      (Control.DeepSeq.deepseq+                         (_SymbolInformation'kind x__)+                         (Control.DeepSeq.deepseq+                            (_SymbolInformation'displayName x__)+                            (Control.DeepSeq.deepseq+                               (_SymbolInformation'signatureDocumentation x__)+                               (Control.DeepSeq.deepseq+                                  (_SymbolInformation'enclosingSymbol x__) ())))))))+newtype SymbolInformation'Kind'UnrecognizedValue+  = SymbolInformation'Kind'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data SymbolInformation'Kind+  = SymbolInformation'UnspecifiedKind |+    SymbolInformation'Array |+    SymbolInformation'Assertion |+    SymbolInformation'AssociatedType |+    SymbolInformation'Attribute |+    SymbolInformation'Axiom |+    SymbolInformation'Boolean |+    SymbolInformation'Class |+    SymbolInformation'Constant |+    SymbolInformation'Constructor |+    SymbolInformation'DataFamily |+    SymbolInformation'Enum |+    SymbolInformation'EnumMember |+    SymbolInformation'Event |+    SymbolInformation'Fact |+    SymbolInformation'Field |+    SymbolInformation'File |+    SymbolInformation'Function |+    SymbolInformation'Getter |+    SymbolInformation'Grammar |+    SymbolInformation'Instance |+    SymbolInformation'Interface |+    SymbolInformation'Key |+    SymbolInformation'Lang |+    SymbolInformation'Lemma |+    SymbolInformation'Macro |+    SymbolInformation'Method |+    SymbolInformation'MethodReceiver |+    SymbolInformation'Message |+    SymbolInformation'Module |+    SymbolInformation'Namespace |+    SymbolInformation'Null |+    SymbolInformation'Number |+    SymbolInformation'Object |+    SymbolInformation'Operator |+    SymbolInformation'Package |+    SymbolInformation'PackageObject |+    SymbolInformation'Parameter |+    SymbolInformation'ParameterLabel |+    SymbolInformation'Pattern |+    SymbolInformation'Predicate |+    SymbolInformation'Property |+    SymbolInformation'Protocol |+    SymbolInformation'Quasiquoter |+    SymbolInformation'SelfParameter |+    SymbolInformation'Setter |+    SymbolInformation'Signature |+    SymbolInformation'Subscript |+    SymbolInformation'String |+    SymbolInformation'Struct |+    SymbolInformation'Tactic |+    SymbolInformation'Theorem |+    SymbolInformation'ThisParameter |+    SymbolInformation'Trait |+    SymbolInformation'Type |+    SymbolInformation'TypeAlias |+    SymbolInformation'TypeClass |+    SymbolInformation'TypeFamily |+    SymbolInformation'TypeParameter |+    SymbolInformation'Union |+    SymbolInformation'Value |+    SymbolInformation'Variable |+    SymbolInformation'Contract |+    SymbolInformation'Error |+    SymbolInformation'Library |+    SymbolInformation'Modifier |+    SymbolInformation'AbstractMethod |+    SymbolInformation'MethodSpecification |+    SymbolInformation'ProtocolMethod |+    SymbolInformation'PureVirtualMethod |+    SymbolInformation'TraitMethod |+    SymbolInformation'TypeClassMethod |+    SymbolInformation'Accessor |+    SymbolInformation'Delegate |+    SymbolInformation'MethodAlias |+    SymbolInformation'SingletonClass |+    SymbolInformation'SingletonMethod |+    SymbolInformation'StaticDataMember |+    SymbolInformation'StaticEvent |+    SymbolInformation'StaticField |+    SymbolInformation'StaticMethod |+    SymbolInformation'StaticProperty |+    SymbolInformation'StaticVariable |+    SymbolInformation'Extension |+    SymbolInformation'Mixin |+    SymbolInformation'Concept |+    SymbolInformation'Kind'Unrecognized !SymbolInformation'Kind'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum SymbolInformation'Kind where+  maybeToEnum 0 = Prelude.Just SymbolInformation'UnspecifiedKind+  maybeToEnum 1 = Prelude.Just SymbolInformation'Array+  maybeToEnum 2 = Prelude.Just SymbolInformation'Assertion+  maybeToEnum 3 = Prelude.Just SymbolInformation'AssociatedType+  maybeToEnum 4 = Prelude.Just SymbolInformation'Attribute+  maybeToEnum 5 = Prelude.Just SymbolInformation'Axiom+  maybeToEnum 6 = Prelude.Just SymbolInformation'Boolean+  maybeToEnum 7 = Prelude.Just SymbolInformation'Class+  maybeToEnum 8 = Prelude.Just SymbolInformation'Constant+  maybeToEnum 9 = Prelude.Just SymbolInformation'Constructor+  maybeToEnum 10 = Prelude.Just SymbolInformation'DataFamily+  maybeToEnum 11 = Prelude.Just SymbolInformation'Enum+  maybeToEnum 12 = Prelude.Just SymbolInformation'EnumMember+  maybeToEnum 13 = Prelude.Just SymbolInformation'Event+  maybeToEnum 14 = Prelude.Just SymbolInformation'Fact+  maybeToEnum 15 = Prelude.Just SymbolInformation'Field+  maybeToEnum 16 = Prelude.Just SymbolInformation'File+  maybeToEnum 17 = Prelude.Just SymbolInformation'Function+  maybeToEnum 18 = Prelude.Just SymbolInformation'Getter+  maybeToEnum 19 = Prelude.Just SymbolInformation'Grammar+  maybeToEnum 20 = Prelude.Just SymbolInformation'Instance+  maybeToEnum 21 = Prelude.Just SymbolInformation'Interface+  maybeToEnum 22 = Prelude.Just SymbolInformation'Key+  maybeToEnum 23 = Prelude.Just SymbolInformation'Lang+  maybeToEnum 24 = Prelude.Just SymbolInformation'Lemma+  maybeToEnum 25 = Prelude.Just SymbolInformation'Macro+  maybeToEnum 26 = Prelude.Just SymbolInformation'Method+  maybeToEnum 27 = Prelude.Just SymbolInformation'MethodReceiver+  maybeToEnum 28 = Prelude.Just SymbolInformation'Message+  maybeToEnum 29 = Prelude.Just SymbolInformation'Module+  maybeToEnum 30 = Prelude.Just SymbolInformation'Namespace+  maybeToEnum 31 = Prelude.Just SymbolInformation'Null+  maybeToEnum 32 = Prelude.Just SymbolInformation'Number+  maybeToEnum 33 = Prelude.Just SymbolInformation'Object+  maybeToEnum 34 = Prelude.Just SymbolInformation'Operator+  maybeToEnum 35 = Prelude.Just SymbolInformation'Package+  maybeToEnum 36 = Prelude.Just SymbolInformation'PackageObject+  maybeToEnum 37 = Prelude.Just SymbolInformation'Parameter+  maybeToEnum 38 = Prelude.Just SymbolInformation'ParameterLabel+  maybeToEnum 39 = Prelude.Just SymbolInformation'Pattern+  maybeToEnum 40 = Prelude.Just SymbolInformation'Predicate+  maybeToEnum 41 = Prelude.Just SymbolInformation'Property+  maybeToEnum 42 = Prelude.Just SymbolInformation'Protocol+  maybeToEnum 43 = Prelude.Just SymbolInformation'Quasiquoter+  maybeToEnum 44 = Prelude.Just SymbolInformation'SelfParameter+  maybeToEnum 45 = Prelude.Just SymbolInformation'Setter+  maybeToEnum 46 = Prelude.Just SymbolInformation'Signature+  maybeToEnum 47 = Prelude.Just SymbolInformation'Subscript+  maybeToEnum 48 = Prelude.Just SymbolInformation'String+  maybeToEnum 49 = Prelude.Just SymbolInformation'Struct+  maybeToEnum 50 = Prelude.Just SymbolInformation'Tactic+  maybeToEnum 51 = Prelude.Just SymbolInformation'Theorem+  maybeToEnum 52 = Prelude.Just SymbolInformation'ThisParameter+  maybeToEnum 53 = Prelude.Just SymbolInformation'Trait+  maybeToEnum 54 = Prelude.Just SymbolInformation'Type+  maybeToEnum 55 = Prelude.Just SymbolInformation'TypeAlias+  maybeToEnum 56 = Prelude.Just SymbolInformation'TypeClass+  maybeToEnum 57 = Prelude.Just SymbolInformation'TypeFamily+  maybeToEnum 58 = Prelude.Just SymbolInformation'TypeParameter+  maybeToEnum 59 = Prelude.Just SymbolInformation'Union+  maybeToEnum 60 = Prelude.Just SymbolInformation'Value+  maybeToEnum 61 = Prelude.Just SymbolInformation'Variable+  maybeToEnum 62 = Prelude.Just SymbolInformation'Contract+  maybeToEnum 63 = Prelude.Just SymbolInformation'Error+  maybeToEnum 64 = Prelude.Just SymbolInformation'Library+  maybeToEnum 65 = Prelude.Just SymbolInformation'Modifier+  maybeToEnum 66 = Prelude.Just SymbolInformation'AbstractMethod+  maybeToEnum 67 = Prelude.Just SymbolInformation'MethodSpecification+  maybeToEnum 68 = Prelude.Just SymbolInformation'ProtocolMethod+  maybeToEnum 69 = Prelude.Just SymbolInformation'PureVirtualMethod+  maybeToEnum 70 = Prelude.Just SymbolInformation'TraitMethod+  maybeToEnum 71 = Prelude.Just SymbolInformation'TypeClassMethod+  maybeToEnum 72 = Prelude.Just SymbolInformation'Accessor+  maybeToEnum 73 = Prelude.Just SymbolInformation'Delegate+  maybeToEnum 74 = Prelude.Just SymbolInformation'MethodAlias+  maybeToEnum 75 = Prelude.Just SymbolInformation'SingletonClass+  maybeToEnum 76 = Prelude.Just SymbolInformation'SingletonMethod+  maybeToEnum 77 = Prelude.Just SymbolInformation'StaticDataMember+  maybeToEnum 78 = Prelude.Just SymbolInformation'StaticEvent+  maybeToEnum 79 = Prelude.Just SymbolInformation'StaticField+  maybeToEnum 80 = Prelude.Just SymbolInformation'StaticMethod+  maybeToEnum 81 = Prelude.Just SymbolInformation'StaticProperty+  maybeToEnum 82 = Prelude.Just SymbolInformation'StaticVariable+  maybeToEnum 84 = Prelude.Just SymbolInformation'Extension+  maybeToEnum 85 = Prelude.Just SymbolInformation'Mixin+  maybeToEnum 86 = Prelude.Just SymbolInformation'Concept+  maybeToEnum k+    = Prelude.Just+        (SymbolInformation'Kind'Unrecognized+           (SymbolInformation'Kind'UnrecognizedValue+              (Prelude.fromIntegral k)))+  showEnum SymbolInformation'UnspecifiedKind = "UnspecifiedKind"+  showEnum SymbolInformation'AbstractMethod = "AbstractMethod"+  showEnum SymbolInformation'Accessor = "Accessor"+  showEnum SymbolInformation'Array = "Array"+  showEnum SymbolInformation'Assertion = "Assertion"+  showEnum SymbolInformation'AssociatedType = "AssociatedType"+  showEnum SymbolInformation'Attribute = "Attribute"+  showEnum SymbolInformation'Axiom = "Axiom"+  showEnum SymbolInformation'Boolean = "Boolean"+  showEnum SymbolInformation'Class = "Class"+  showEnum SymbolInformation'Concept = "Concept"+  showEnum SymbolInformation'Constant = "Constant"+  showEnum SymbolInformation'Constructor = "Constructor"+  showEnum SymbolInformation'Contract = "Contract"+  showEnum SymbolInformation'DataFamily = "DataFamily"+  showEnum SymbolInformation'Delegate = "Delegate"+  showEnum SymbolInformation'Enum = "Enum"+  showEnum SymbolInformation'EnumMember = "EnumMember"+  showEnum SymbolInformation'Error = "Error"+  showEnum SymbolInformation'Event = "Event"+  showEnum SymbolInformation'Extension = "Extension"+  showEnum SymbolInformation'Fact = "Fact"+  showEnum SymbolInformation'Field = "Field"+  showEnum SymbolInformation'File = "File"+  showEnum SymbolInformation'Function = "Function"+  showEnum SymbolInformation'Getter = "Getter"+  showEnum SymbolInformation'Grammar = "Grammar"+  showEnum SymbolInformation'Instance = "Instance"+  showEnum SymbolInformation'Interface = "Interface"+  showEnum SymbolInformation'Key = "Key"+  showEnum SymbolInformation'Lang = "Lang"+  showEnum SymbolInformation'Lemma = "Lemma"+  showEnum SymbolInformation'Library = "Library"+  showEnum SymbolInformation'Macro = "Macro"+  showEnum SymbolInformation'Method = "Method"+  showEnum SymbolInformation'MethodAlias = "MethodAlias"+  showEnum SymbolInformation'MethodReceiver = "MethodReceiver"+  showEnum SymbolInformation'MethodSpecification+    = "MethodSpecification"+  showEnum SymbolInformation'Message = "Message"+  showEnum SymbolInformation'Mixin = "Mixin"+  showEnum SymbolInformation'Modifier = "Modifier"+  showEnum SymbolInformation'Module = "Module"+  showEnum SymbolInformation'Namespace = "Namespace"+  showEnum SymbolInformation'Null = "Null"+  showEnum SymbolInformation'Number = "Number"+  showEnum SymbolInformation'Object = "Object"+  showEnum SymbolInformation'Operator = "Operator"+  showEnum SymbolInformation'Package = "Package"+  showEnum SymbolInformation'PackageObject = "PackageObject"+  showEnum SymbolInformation'Parameter = "Parameter"+  showEnum SymbolInformation'ParameterLabel = "ParameterLabel"+  showEnum SymbolInformation'Pattern = "Pattern"+  showEnum SymbolInformation'Predicate = "Predicate"+  showEnum SymbolInformation'Property = "Property"+  showEnum SymbolInformation'Protocol = "Protocol"+  showEnum SymbolInformation'ProtocolMethod = "ProtocolMethod"+  showEnum SymbolInformation'PureVirtualMethod = "PureVirtualMethod"+  showEnum SymbolInformation'Quasiquoter = "Quasiquoter"+  showEnum SymbolInformation'SelfParameter = "SelfParameter"+  showEnum SymbolInformation'Setter = "Setter"+  showEnum SymbolInformation'Signature = "Signature"+  showEnum SymbolInformation'SingletonClass = "SingletonClass"+  showEnum SymbolInformation'SingletonMethod = "SingletonMethod"+  showEnum SymbolInformation'StaticDataMember = "StaticDataMember"+  showEnum SymbolInformation'StaticEvent = "StaticEvent"+  showEnum SymbolInformation'StaticField = "StaticField"+  showEnum SymbolInformation'StaticMethod = "StaticMethod"+  showEnum SymbolInformation'StaticProperty = "StaticProperty"+  showEnum SymbolInformation'StaticVariable = "StaticVariable"+  showEnum SymbolInformation'String = "String"+  showEnum SymbolInformation'Struct = "Struct"+  showEnum SymbolInformation'Subscript = "Subscript"+  showEnum SymbolInformation'Tactic = "Tactic"+  showEnum SymbolInformation'Theorem = "Theorem"+  showEnum SymbolInformation'ThisParameter = "ThisParameter"+  showEnum SymbolInformation'Trait = "Trait"+  showEnum SymbolInformation'TraitMethod = "TraitMethod"+  showEnum SymbolInformation'Type = "Type"+  showEnum SymbolInformation'TypeAlias = "TypeAlias"+  showEnum SymbolInformation'TypeClass = "TypeClass"+  showEnum SymbolInformation'TypeClassMethod = "TypeClassMethod"+  showEnum SymbolInformation'TypeFamily = "TypeFamily"+  showEnum SymbolInformation'TypeParameter = "TypeParameter"+  showEnum SymbolInformation'Union = "Union"+  showEnum SymbolInformation'Value = "Value"+  showEnum SymbolInformation'Variable = "Variable"+  showEnum+    (SymbolInformation'Kind'Unrecognized (SymbolInformation'Kind'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedKind"+    = Prelude.Just SymbolInformation'UnspecifiedKind+    | (Prelude.==) k "AbstractMethod"+    = Prelude.Just SymbolInformation'AbstractMethod+    | (Prelude.==) k "Accessor"+    = Prelude.Just SymbolInformation'Accessor+    | (Prelude.==) k "Array" = Prelude.Just SymbolInformation'Array+    | (Prelude.==) k "Assertion"+    = Prelude.Just SymbolInformation'Assertion+    | (Prelude.==) k "AssociatedType"+    = Prelude.Just SymbolInformation'AssociatedType+    | (Prelude.==) k "Attribute"+    = Prelude.Just SymbolInformation'Attribute+    | (Prelude.==) k "Axiom" = Prelude.Just SymbolInformation'Axiom+    | (Prelude.==) k "Boolean" = Prelude.Just SymbolInformation'Boolean+    | (Prelude.==) k "Class" = Prelude.Just SymbolInformation'Class+    | (Prelude.==) k "Concept" = Prelude.Just SymbolInformation'Concept+    | (Prelude.==) k "Constant"+    = Prelude.Just SymbolInformation'Constant+    | (Prelude.==) k "Constructor"+    = Prelude.Just SymbolInformation'Constructor+    | (Prelude.==) k "Contract"+    = Prelude.Just SymbolInformation'Contract+    | (Prelude.==) k "DataFamily"+    = Prelude.Just SymbolInformation'DataFamily+    | (Prelude.==) k "Delegate"+    = Prelude.Just SymbolInformation'Delegate+    | (Prelude.==) k "Enum" = Prelude.Just SymbolInformation'Enum+    | (Prelude.==) k "EnumMember"+    = Prelude.Just SymbolInformation'EnumMember+    | (Prelude.==) k "Error" = Prelude.Just SymbolInformation'Error+    | (Prelude.==) k "Event" = Prelude.Just SymbolInformation'Event+    | (Prelude.==) k "Extension"+    = Prelude.Just SymbolInformation'Extension+    | (Prelude.==) k "Fact" = Prelude.Just SymbolInformation'Fact+    | (Prelude.==) k "Field" = Prelude.Just SymbolInformation'Field+    | (Prelude.==) k "File" = Prelude.Just SymbolInformation'File+    | (Prelude.==) k "Function"+    = Prelude.Just SymbolInformation'Function+    | (Prelude.==) k "Getter" = Prelude.Just SymbolInformation'Getter+    | (Prelude.==) k "Grammar" = Prelude.Just SymbolInformation'Grammar+    | (Prelude.==) k "Instance"+    = Prelude.Just SymbolInformation'Instance+    | (Prelude.==) k "Interface"+    = Prelude.Just SymbolInformation'Interface+    | (Prelude.==) k "Key" = Prelude.Just SymbolInformation'Key+    | (Prelude.==) k "Lang" = Prelude.Just SymbolInformation'Lang+    | (Prelude.==) k "Lemma" = Prelude.Just SymbolInformation'Lemma+    | (Prelude.==) k "Library" = Prelude.Just SymbolInformation'Library+    | (Prelude.==) k "Macro" = Prelude.Just SymbolInformation'Macro+    | (Prelude.==) k "Method" = Prelude.Just SymbolInformation'Method+    | (Prelude.==) k "MethodAlias"+    = Prelude.Just SymbolInformation'MethodAlias+    | (Prelude.==) k "MethodReceiver"+    = Prelude.Just SymbolInformation'MethodReceiver+    | (Prelude.==) k "MethodSpecification"+    = Prelude.Just SymbolInformation'MethodSpecification+    | (Prelude.==) k "Message" = Prelude.Just SymbolInformation'Message+    | (Prelude.==) k "Mixin" = Prelude.Just SymbolInformation'Mixin+    | (Prelude.==) k "Modifier"+    = Prelude.Just SymbolInformation'Modifier+    | (Prelude.==) k "Module" = Prelude.Just SymbolInformation'Module+    | (Prelude.==) k "Namespace"+    = Prelude.Just SymbolInformation'Namespace+    | (Prelude.==) k "Null" = Prelude.Just SymbolInformation'Null+    | (Prelude.==) k "Number" = Prelude.Just SymbolInformation'Number+    | (Prelude.==) k "Object" = Prelude.Just SymbolInformation'Object+    | (Prelude.==) k "Operator"+    = Prelude.Just SymbolInformation'Operator+    | (Prelude.==) k "Package" = Prelude.Just SymbolInformation'Package+    | (Prelude.==) k "PackageObject"+    = Prelude.Just SymbolInformation'PackageObject+    | (Prelude.==) k "Parameter"+    = Prelude.Just SymbolInformation'Parameter+    | (Prelude.==) k "ParameterLabel"+    = Prelude.Just SymbolInformation'ParameterLabel+    | (Prelude.==) k "Pattern" = Prelude.Just SymbolInformation'Pattern+    | (Prelude.==) k "Predicate"+    = Prelude.Just SymbolInformation'Predicate+    | (Prelude.==) k "Property"+    = Prelude.Just SymbolInformation'Property+    | (Prelude.==) k "Protocol"+    = Prelude.Just SymbolInformation'Protocol+    | (Prelude.==) k "ProtocolMethod"+    = Prelude.Just SymbolInformation'ProtocolMethod+    | (Prelude.==) k "PureVirtualMethod"+    = Prelude.Just SymbolInformation'PureVirtualMethod+    | (Prelude.==) k "Quasiquoter"+    = Prelude.Just SymbolInformation'Quasiquoter+    | (Prelude.==) k "SelfParameter"+    = Prelude.Just SymbolInformation'SelfParameter+    | (Prelude.==) k "Setter" = Prelude.Just SymbolInformation'Setter+    | (Prelude.==) k "Signature"+    = Prelude.Just SymbolInformation'Signature+    | (Prelude.==) k "SingletonClass"+    = Prelude.Just SymbolInformation'SingletonClass+    | (Prelude.==) k "SingletonMethod"+    = Prelude.Just SymbolInformation'SingletonMethod+    | (Prelude.==) k "StaticDataMember"+    = Prelude.Just SymbolInformation'StaticDataMember+    | (Prelude.==) k "StaticEvent"+    = Prelude.Just SymbolInformation'StaticEvent+    | (Prelude.==) k "StaticField"+    = Prelude.Just SymbolInformation'StaticField+    | (Prelude.==) k "StaticMethod"+    = Prelude.Just SymbolInformation'StaticMethod+    | (Prelude.==) k "StaticProperty"+    = Prelude.Just SymbolInformation'StaticProperty+    | (Prelude.==) k "StaticVariable"+    = Prelude.Just SymbolInformation'StaticVariable+    | (Prelude.==) k "String" = Prelude.Just SymbolInformation'String+    | (Prelude.==) k "Struct" = Prelude.Just SymbolInformation'Struct+    | (Prelude.==) k "Subscript"+    = Prelude.Just SymbolInformation'Subscript+    | (Prelude.==) k "Tactic" = Prelude.Just SymbolInformation'Tactic+    | (Prelude.==) k "Theorem" = Prelude.Just SymbolInformation'Theorem+    | (Prelude.==) k "ThisParameter"+    = Prelude.Just SymbolInformation'ThisParameter+    | (Prelude.==) k "Trait" = Prelude.Just SymbolInformation'Trait+    | (Prelude.==) k "TraitMethod"+    = Prelude.Just SymbolInformation'TraitMethod+    | (Prelude.==) k "Type" = Prelude.Just SymbolInformation'Type+    | (Prelude.==) k "TypeAlias"+    = Prelude.Just SymbolInformation'TypeAlias+    | (Prelude.==) k "TypeClass"+    = Prelude.Just SymbolInformation'TypeClass+    | (Prelude.==) k "TypeClassMethod"+    = Prelude.Just SymbolInformation'TypeClassMethod+    | (Prelude.==) k "TypeFamily"+    = Prelude.Just SymbolInformation'TypeFamily+    | (Prelude.==) k "TypeParameter"+    = Prelude.Just SymbolInformation'TypeParameter+    | (Prelude.==) k "Union" = Prelude.Just SymbolInformation'Union+    | (Prelude.==) k "Value" = Prelude.Just SymbolInformation'Value+    | (Prelude.==) k "Variable"+    = Prelude.Just SymbolInformation'Variable+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded SymbolInformation'Kind where+  minBound = SymbolInformation'UnspecifiedKind+  maxBound = SymbolInformation'Concept+instance Prelude.Enum SymbolInformation'Kind where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum Kind: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum SymbolInformation'UnspecifiedKind = 0+  fromEnum SymbolInformation'Array = 1+  fromEnum SymbolInformation'Assertion = 2+  fromEnum SymbolInformation'AssociatedType = 3+  fromEnum SymbolInformation'Attribute = 4+  fromEnum SymbolInformation'Axiom = 5+  fromEnum SymbolInformation'Boolean = 6+  fromEnum SymbolInformation'Class = 7+  fromEnum SymbolInformation'Constant = 8+  fromEnum SymbolInformation'Constructor = 9+  fromEnum SymbolInformation'DataFamily = 10+  fromEnum SymbolInformation'Enum = 11+  fromEnum SymbolInformation'EnumMember = 12+  fromEnum SymbolInformation'Event = 13+  fromEnum SymbolInformation'Fact = 14+  fromEnum SymbolInformation'Field = 15+  fromEnum SymbolInformation'File = 16+  fromEnum SymbolInformation'Function = 17+  fromEnum SymbolInformation'Getter = 18+  fromEnum SymbolInformation'Grammar = 19+  fromEnum SymbolInformation'Instance = 20+  fromEnum SymbolInformation'Interface = 21+  fromEnum SymbolInformation'Key = 22+  fromEnum SymbolInformation'Lang = 23+  fromEnum SymbolInformation'Lemma = 24+  fromEnum SymbolInformation'Macro = 25+  fromEnum SymbolInformation'Method = 26+  fromEnum SymbolInformation'MethodReceiver = 27+  fromEnum SymbolInformation'Message = 28+  fromEnum SymbolInformation'Module = 29+  fromEnum SymbolInformation'Namespace = 30+  fromEnum SymbolInformation'Null = 31+  fromEnum SymbolInformation'Number = 32+  fromEnum SymbolInformation'Object = 33+  fromEnum SymbolInformation'Operator = 34+  fromEnum SymbolInformation'Package = 35+  fromEnum SymbolInformation'PackageObject = 36+  fromEnum SymbolInformation'Parameter = 37+  fromEnum SymbolInformation'ParameterLabel = 38+  fromEnum SymbolInformation'Pattern = 39+  fromEnum SymbolInformation'Predicate = 40+  fromEnum SymbolInformation'Property = 41+  fromEnum SymbolInformation'Protocol = 42+  fromEnum SymbolInformation'Quasiquoter = 43+  fromEnum SymbolInformation'SelfParameter = 44+  fromEnum SymbolInformation'Setter = 45+  fromEnum SymbolInformation'Signature = 46+  fromEnum SymbolInformation'Subscript = 47+  fromEnum SymbolInformation'String = 48+  fromEnum SymbolInformation'Struct = 49+  fromEnum SymbolInformation'Tactic = 50+  fromEnum SymbolInformation'Theorem = 51+  fromEnum SymbolInformation'ThisParameter = 52+  fromEnum SymbolInformation'Trait = 53+  fromEnum SymbolInformation'Type = 54+  fromEnum SymbolInformation'TypeAlias = 55+  fromEnum SymbolInformation'TypeClass = 56+  fromEnum SymbolInformation'TypeFamily = 57+  fromEnum SymbolInformation'TypeParameter = 58+  fromEnum SymbolInformation'Union = 59+  fromEnum SymbolInformation'Value = 60+  fromEnum SymbolInformation'Variable = 61+  fromEnum SymbolInformation'Contract = 62+  fromEnum SymbolInformation'Error = 63+  fromEnum SymbolInformation'Library = 64+  fromEnum SymbolInformation'Modifier = 65+  fromEnum SymbolInformation'AbstractMethod = 66+  fromEnum SymbolInformation'MethodSpecification = 67+  fromEnum SymbolInformation'ProtocolMethod = 68+  fromEnum SymbolInformation'PureVirtualMethod = 69+  fromEnum SymbolInformation'TraitMethod = 70+  fromEnum SymbolInformation'TypeClassMethod = 71+  fromEnum SymbolInformation'Accessor = 72+  fromEnum SymbolInformation'Delegate = 73+  fromEnum SymbolInformation'MethodAlias = 74+  fromEnum SymbolInformation'SingletonClass = 75+  fromEnum SymbolInformation'SingletonMethod = 76+  fromEnum SymbolInformation'StaticDataMember = 77+  fromEnum SymbolInformation'StaticEvent = 78+  fromEnum SymbolInformation'StaticField = 79+  fromEnum SymbolInformation'StaticMethod = 80+  fromEnum SymbolInformation'StaticProperty = 81+  fromEnum SymbolInformation'StaticVariable = 82+  fromEnum SymbolInformation'Extension = 84+  fromEnum SymbolInformation'Mixin = 85+  fromEnum SymbolInformation'Concept = 86+  fromEnum+    (SymbolInformation'Kind'Unrecognized (SymbolInformation'Kind'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ SymbolInformation'Concept+    = Prelude.error+        "SymbolInformation'Kind.succ: bad argument SymbolInformation'Concept. This value would be out of bounds."+  succ SymbolInformation'UnspecifiedKind = SymbolInformation'Array+  succ SymbolInformation'Array = SymbolInformation'Assertion+  succ SymbolInformation'Assertion = SymbolInformation'AssociatedType+  succ SymbolInformation'AssociatedType = SymbolInformation'Attribute+  succ SymbolInformation'Attribute = SymbolInformation'Axiom+  succ SymbolInformation'Axiom = SymbolInformation'Boolean+  succ SymbolInformation'Boolean = SymbolInformation'Class+  succ SymbolInformation'Class = SymbolInformation'Constant+  succ SymbolInformation'Constant = SymbolInformation'Constructor+  succ SymbolInformation'Constructor = SymbolInformation'DataFamily+  succ SymbolInformation'DataFamily = SymbolInformation'Enum+  succ SymbolInformation'Enum = SymbolInformation'EnumMember+  succ SymbolInformation'EnumMember = SymbolInformation'Event+  succ SymbolInformation'Event = SymbolInformation'Fact+  succ SymbolInformation'Fact = SymbolInformation'Field+  succ SymbolInformation'Field = SymbolInformation'File+  succ SymbolInformation'File = SymbolInformation'Function+  succ SymbolInformation'Function = SymbolInformation'Getter+  succ SymbolInformation'Getter = SymbolInformation'Grammar+  succ SymbolInformation'Grammar = SymbolInformation'Instance+  succ SymbolInformation'Instance = SymbolInformation'Interface+  succ SymbolInformation'Interface = SymbolInformation'Key+  succ SymbolInformation'Key = SymbolInformation'Lang+  succ SymbolInformation'Lang = SymbolInformation'Lemma+  succ SymbolInformation'Lemma = SymbolInformation'Macro+  succ SymbolInformation'Macro = SymbolInformation'Method+  succ SymbolInformation'Method = SymbolInformation'MethodReceiver+  succ SymbolInformation'MethodReceiver = SymbolInformation'Message+  succ SymbolInformation'Message = SymbolInformation'Module+  succ SymbolInformation'Module = SymbolInformation'Namespace+  succ SymbolInformation'Namespace = SymbolInformation'Null+  succ SymbolInformation'Null = SymbolInformation'Number+  succ SymbolInformation'Number = SymbolInformation'Object+  succ SymbolInformation'Object = SymbolInformation'Operator+  succ SymbolInformation'Operator = SymbolInformation'Package+  succ SymbolInformation'Package = SymbolInformation'PackageObject+  succ SymbolInformation'PackageObject = SymbolInformation'Parameter+  succ SymbolInformation'Parameter = SymbolInformation'ParameterLabel+  succ SymbolInformation'ParameterLabel = SymbolInformation'Pattern+  succ SymbolInformation'Pattern = SymbolInformation'Predicate+  succ SymbolInformation'Predicate = SymbolInformation'Property+  succ SymbolInformation'Property = SymbolInformation'Protocol+  succ SymbolInformation'Protocol = SymbolInformation'Quasiquoter+  succ SymbolInformation'Quasiquoter+    = SymbolInformation'SelfParameter+  succ SymbolInformation'SelfParameter = SymbolInformation'Setter+  succ SymbolInformation'Setter = SymbolInformation'Signature+  succ SymbolInformation'Signature = SymbolInformation'Subscript+  succ SymbolInformation'Subscript = SymbolInformation'String+  succ SymbolInformation'String = SymbolInformation'Struct+  succ SymbolInformation'Struct = SymbolInformation'Tactic+  succ SymbolInformation'Tactic = SymbolInformation'Theorem+  succ SymbolInformation'Theorem = SymbolInformation'ThisParameter+  succ SymbolInformation'ThisParameter = SymbolInformation'Trait+  succ SymbolInformation'Trait = SymbolInformation'Type+  succ SymbolInformation'Type = SymbolInformation'TypeAlias+  succ SymbolInformation'TypeAlias = SymbolInformation'TypeClass+  succ SymbolInformation'TypeClass = SymbolInformation'TypeFamily+  succ SymbolInformation'TypeFamily = SymbolInformation'TypeParameter+  succ SymbolInformation'TypeParameter = SymbolInformation'Union+  succ SymbolInformation'Union = SymbolInformation'Value+  succ SymbolInformation'Value = SymbolInformation'Variable+  succ SymbolInformation'Variable = SymbolInformation'Contract+  succ SymbolInformation'Contract = SymbolInformation'Error+  succ SymbolInformation'Error = SymbolInformation'Library+  succ SymbolInformation'Library = SymbolInformation'Modifier+  succ SymbolInformation'Modifier = SymbolInformation'AbstractMethod+  succ SymbolInformation'AbstractMethod+    = SymbolInformation'MethodSpecification+  succ SymbolInformation'MethodSpecification+    = SymbolInformation'ProtocolMethod+  succ SymbolInformation'ProtocolMethod+    = SymbolInformation'PureVirtualMethod+  succ SymbolInformation'PureVirtualMethod+    = SymbolInformation'TraitMethod+  succ SymbolInformation'TraitMethod+    = SymbolInformation'TypeClassMethod+  succ SymbolInformation'TypeClassMethod = SymbolInformation'Accessor+  succ SymbolInformation'Accessor = SymbolInformation'Delegate+  succ SymbolInformation'Delegate = SymbolInformation'MethodAlias+  succ SymbolInformation'MethodAlias+    = SymbolInformation'SingletonClass+  succ SymbolInformation'SingletonClass+    = SymbolInformation'SingletonMethod+  succ SymbolInformation'SingletonMethod+    = SymbolInformation'StaticDataMember+  succ SymbolInformation'StaticDataMember+    = SymbolInformation'StaticEvent+  succ SymbolInformation'StaticEvent = SymbolInformation'StaticField+  succ SymbolInformation'StaticField = SymbolInformation'StaticMethod+  succ SymbolInformation'StaticMethod+    = SymbolInformation'StaticProperty+  succ SymbolInformation'StaticProperty+    = SymbolInformation'StaticVariable+  succ SymbolInformation'StaticVariable = SymbolInformation'Extension+  succ SymbolInformation'Extension = SymbolInformation'Mixin+  succ SymbolInformation'Mixin = SymbolInformation'Concept+  succ (SymbolInformation'Kind'Unrecognized _)+    = Prelude.error+        "SymbolInformation'Kind.succ: bad argument: unrecognized value"+  pred SymbolInformation'UnspecifiedKind+    = Prelude.error+        "SymbolInformation'Kind.pred: bad argument SymbolInformation'UnspecifiedKind. This value would be out of bounds."+  pred SymbolInformation'Array = SymbolInformation'UnspecifiedKind+  pred SymbolInformation'Assertion = SymbolInformation'Array+  pred SymbolInformation'AssociatedType = SymbolInformation'Assertion+  pred SymbolInformation'Attribute = SymbolInformation'AssociatedType+  pred SymbolInformation'Axiom = SymbolInformation'Attribute+  pred SymbolInformation'Boolean = SymbolInformation'Axiom+  pred SymbolInformation'Class = SymbolInformation'Boolean+  pred SymbolInformation'Constant = SymbolInformation'Class+  pred SymbolInformation'Constructor = SymbolInformation'Constant+  pred SymbolInformation'DataFamily = SymbolInformation'Constructor+  pred SymbolInformation'Enum = SymbolInformation'DataFamily+  pred SymbolInformation'EnumMember = SymbolInformation'Enum+  pred SymbolInformation'Event = SymbolInformation'EnumMember+  pred SymbolInformation'Fact = SymbolInformation'Event+  pred SymbolInformation'Field = SymbolInformation'Fact+  pred SymbolInformation'File = SymbolInformation'Field+  pred SymbolInformation'Function = SymbolInformation'File+  pred SymbolInformation'Getter = SymbolInformation'Function+  pred SymbolInformation'Grammar = SymbolInformation'Getter+  pred SymbolInformation'Instance = SymbolInformation'Grammar+  pred SymbolInformation'Interface = SymbolInformation'Instance+  pred SymbolInformation'Key = SymbolInformation'Interface+  pred SymbolInformation'Lang = SymbolInformation'Key+  pred SymbolInformation'Lemma = SymbolInformation'Lang+  pred SymbolInformation'Macro = SymbolInformation'Lemma+  pred SymbolInformation'Method = SymbolInformation'Macro+  pred SymbolInformation'MethodReceiver = SymbolInformation'Method+  pred SymbolInformation'Message = SymbolInformation'MethodReceiver+  pred SymbolInformation'Module = SymbolInformation'Message+  pred SymbolInformation'Namespace = SymbolInformation'Module+  pred SymbolInformation'Null = SymbolInformation'Namespace+  pred SymbolInformation'Number = SymbolInformation'Null+  pred SymbolInformation'Object = SymbolInformation'Number+  pred SymbolInformation'Operator = SymbolInformation'Object+  pred SymbolInformation'Package = SymbolInformation'Operator+  pred SymbolInformation'PackageObject = SymbolInformation'Package+  pred SymbolInformation'Parameter = SymbolInformation'PackageObject+  pred SymbolInformation'ParameterLabel = SymbolInformation'Parameter+  pred SymbolInformation'Pattern = SymbolInformation'ParameterLabel+  pred SymbolInformation'Predicate = SymbolInformation'Pattern+  pred SymbolInformation'Property = SymbolInformation'Predicate+  pred SymbolInformation'Protocol = SymbolInformation'Property+  pred SymbolInformation'Quasiquoter = SymbolInformation'Protocol+  pred SymbolInformation'SelfParameter+    = SymbolInformation'Quasiquoter+  pred SymbolInformation'Setter = SymbolInformation'SelfParameter+  pred SymbolInformation'Signature = SymbolInformation'Setter+  pred SymbolInformation'Subscript = SymbolInformation'Signature+  pred SymbolInformation'String = SymbolInformation'Subscript+  pred SymbolInformation'Struct = SymbolInformation'String+  pred SymbolInformation'Tactic = SymbolInformation'Struct+  pred SymbolInformation'Theorem = SymbolInformation'Tactic+  pred SymbolInformation'ThisParameter = SymbolInformation'Theorem+  pred SymbolInformation'Trait = SymbolInformation'ThisParameter+  pred SymbolInformation'Type = SymbolInformation'Trait+  pred SymbolInformation'TypeAlias = SymbolInformation'Type+  pred SymbolInformation'TypeClass = SymbolInformation'TypeAlias+  pred SymbolInformation'TypeFamily = SymbolInformation'TypeClass+  pred SymbolInformation'TypeParameter = SymbolInformation'TypeFamily+  pred SymbolInformation'Union = SymbolInformation'TypeParameter+  pred SymbolInformation'Value = SymbolInformation'Union+  pred SymbolInformation'Variable = SymbolInformation'Value+  pred SymbolInformation'Contract = SymbolInformation'Variable+  pred SymbolInformation'Error = SymbolInformation'Contract+  pred SymbolInformation'Library = SymbolInformation'Error+  pred SymbolInformation'Modifier = SymbolInformation'Library+  pred SymbolInformation'AbstractMethod = SymbolInformation'Modifier+  pred SymbolInformation'MethodSpecification+    = SymbolInformation'AbstractMethod+  pred SymbolInformation'ProtocolMethod+    = SymbolInformation'MethodSpecification+  pred SymbolInformation'PureVirtualMethod+    = SymbolInformation'ProtocolMethod+  pred SymbolInformation'TraitMethod+    = SymbolInformation'PureVirtualMethod+  pred SymbolInformation'TypeClassMethod+    = SymbolInformation'TraitMethod+  pred SymbolInformation'Accessor = SymbolInformation'TypeClassMethod+  pred SymbolInformation'Delegate = SymbolInformation'Accessor+  pred SymbolInformation'MethodAlias = SymbolInformation'Delegate+  pred SymbolInformation'SingletonClass+    = SymbolInformation'MethodAlias+  pred SymbolInformation'SingletonMethod+    = SymbolInformation'SingletonClass+  pred SymbolInformation'StaticDataMember+    = SymbolInformation'SingletonMethod+  pred SymbolInformation'StaticEvent+    = SymbolInformation'StaticDataMember+  pred SymbolInformation'StaticField = SymbolInformation'StaticEvent+  pred SymbolInformation'StaticMethod = SymbolInformation'StaticField+  pred SymbolInformation'StaticProperty+    = SymbolInformation'StaticMethod+  pred SymbolInformation'StaticVariable+    = SymbolInformation'StaticProperty+  pred SymbolInformation'Extension = SymbolInformation'StaticVariable+  pred SymbolInformation'Mixin = SymbolInformation'Extension+  pred SymbolInformation'Concept = SymbolInformation'Mixin+  pred (SymbolInformation'Kind'Unrecognized _)+    = Prelude.error+        "SymbolInformation'Kind.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault SymbolInformation'Kind where+  fieldDefault = SymbolInformation'UnspecifiedKind+instance Control.DeepSeq.NFData SymbolInformation'Kind where+  rnf x__ = Prelude.seq x__ ()+newtype SymbolRole'UnrecognizedValue+  = SymbolRole'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data SymbolRole+  = UnspecifiedSymbolRole |+    Definition |+    Import |+    WriteAccess |+    ReadAccess |+    Generated |+    Test |+    ForwardDefinition |+    SymbolRole'Unrecognized !SymbolRole'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum SymbolRole where+  maybeToEnum 0 = Prelude.Just UnspecifiedSymbolRole+  maybeToEnum 1 = Prelude.Just Definition+  maybeToEnum 2 = Prelude.Just Import+  maybeToEnum 4 = Prelude.Just WriteAccess+  maybeToEnum 8 = Prelude.Just ReadAccess+  maybeToEnum 16 = Prelude.Just Generated+  maybeToEnum 32 = Prelude.Just Test+  maybeToEnum 64 = Prelude.Just ForwardDefinition+  maybeToEnum k+    = Prelude.Just+        (SymbolRole'Unrecognized+           (SymbolRole'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedSymbolRole = "UnspecifiedSymbolRole"+  showEnum Definition = "Definition"+  showEnum Import = "Import"+  showEnum WriteAccess = "WriteAccess"+  showEnum ReadAccess = "ReadAccess"+  showEnum Generated = "Generated"+  showEnum Test = "Test"+  showEnum ForwardDefinition = "ForwardDefinition"+  showEnum (SymbolRole'Unrecognized (SymbolRole'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedSymbolRole"+    = Prelude.Just UnspecifiedSymbolRole+    | (Prelude.==) k "Definition" = Prelude.Just Definition+    | (Prelude.==) k "Import" = Prelude.Just Import+    | (Prelude.==) k "WriteAccess" = Prelude.Just WriteAccess+    | (Prelude.==) k "ReadAccess" = Prelude.Just ReadAccess+    | (Prelude.==) k "Generated" = Prelude.Just Generated+    | (Prelude.==) k "Test" = Prelude.Just Test+    | (Prelude.==) k "ForwardDefinition"+    = Prelude.Just ForwardDefinition+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded SymbolRole where+  minBound = UnspecifiedSymbolRole+  maxBound = ForwardDefinition+instance Prelude.Enum SymbolRole where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum SymbolRole: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedSymbolRole = 0+  fromEnum Definition = 1+  fromEnum Import = 2+  fromEnum WriteAccess = 4+  fromEnum ReadAccess = 8+  fromEnum Generated = 16+  fromEnum Test = 32+  fromEnum ForwardDefinition = 64+  fromEnum (SymbolRole'Unrecognized (SymbolRole'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ ForwardDefinition+    = Prelude.error+        "SymbolRole.succ: bad argument ForwardDefinition. This value would be out of bounds."+  succ UnspecifiedSymbolRole = Definition+  succ Definition = Import+  succ Import = WriteAccess+  succ WriteAccess = ReadAccess+  succ ReadAccess = Generated+  succ Generated = Test+  succ Test = ForwardDefinition+  succ (SymbolRole'Unrecognized _)+    = Prelude.error "SymbolRole.succ: bad argument: unrecognized value"+  pred UnspecifiedSymbolRole+    = Prelude.error+        "SymbolRole.pred: bad argument UnspecifiedSymbolRole. This value would be out of bounds."+  pred Definition = UnspecifiedSymbolRole+  pred Import = Definition+  pred WriteAccess = Import+  pred ReadAccess = WriteAccess+  pred Generated = ReadAccess+  pred Test = Generated+  pred ForwardDefinition = Test+  pred (SymbolRole'Unrecognized _)+    = Prelude.error "SymbolRole.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault SymbolRole where+  fieldDefault = UnspecifiedSymbolRole+instance Control.DeepSeq.NFData SymbolRole where+  rnf x__ = Prelude.seq x__ ()+newtype SyntaxKind'UnrecognizedValue+  = SyntaxKind'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data SyntaxKind+  = UnspecifiedSyntaxKind |+    Comment |+    PunctuationDelimiter |+    PunctuationBracket |+    Keyword |+    IdentifierOperator |+    Identifier |+    IdentifierBuiltin |+    IdentifierNull |+    IdentifierConstant |+    IdentifierMutableGlobal |+    IdentifierParameter |+    IdentifierLocal |+    IdentifierShadowed |+    IdentifierNamespace |+    IdentifierFunction |+    IdentifierFunctionDefinition |+    IdentifierMacro |+    IdentifierMacroDefinition |+    IdentifierType |+    IdentifierBuiltinType |+    IdentifierAttribute |+    RegexEscape |+    RegexRepeated |+    RegexWildcard |+    RegexDelimiter |+    RegexJoin |+    StringLiteral |+    StringLiteralEscape |+    StringLiteralSpecial |+    StringLiteralKey |+    CharacterLiteral |+    NumericLiteral |+    BooleanLiteral |+    Tag |+    TagAttribute |+    TagDelimiter |+    SyntaxKind'Unrecognized !SyntaxKind'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum SyntaxKind where+  maybeToEnum 0 = Prelude.Just UnspecifiedSyntaxKind+  maybeToEnum 1 = Prelude.Just Comment+  maybeToEnum 2 = Prelude.Just PunctuationDelimiter+  maybeToEnum 3 = Prelude.Just PunctuationBracket+  maybeToEnum 4 = Prelude.Just Keyword+  maybeToEnum 5 = Prelude.Just IdentifierOperator+  maybeToEnum 6 = Prelude.Just Identifier+  maybeToEnum 7 = Prelude.Just IdentifierBuiltin+  maybeToEnum 8 = Prelude.Just IdentifierNull+  maybeToEnum 9 = Prelude.Just IdentifierConstant+  maybeToEnum 10 = Prelude.Just IdentifierMutableGlobal+  maybeToEnum 11 = Prelude.Just IdentifierParameter+  maybeToEnum 12 = Prelude.Just IdentifierLocal+  maybeToEnum 13 = Prelude.Just IdentifierShadowed+  maybeToEnum 14 = Prelude.Just IdentifierNamespace+  maybeToEnum 15 = Prelude.Just IdentifierFunction+  maybeToEnum 16 = Prelude.Just IdentifierFunctionDefinition+  maybeToEnum 17 = Prelude.Just IdentifierMacro+  maybeToEnum 18 = Prelude.Just IdentifierMacroDefinition+  maybeToEnum 19 = Prelude.Just IdentifierType+  maybeToEnum 20 = Prelude.Just IdentifierBuiltinType+  maybeToEnum 21 = Prelude.Just IdentifierAttribute+  maybeToEnum 22 = Prelude.Just RegexEscape+  maybeToEnum 23 = Prelude.Just RegexRepeated+  maybeToEnum 24 = Prelude.Just RegexWildcard+  maybeToEnum 25 = Prelude.Just RegexDelimiter+  maybeToEnum 26 = Prelude.Just RegexJoin+  maybeToEnum 27 = Prelude.Just StringLiteral+  maybeToEnum 28 = Prelude.Just StringLiteralEscape+  maybeToEnum 29 = Prelude.Just StringLiteralSpecial+  maybeToEnum 30 = Prelude.Just StringLiteralKey+  maybeToEnum 31 = Prelude.Just CharacterLiteral+  maybeToEnum 32 = Prelude.Just NumericLiteral+  maybeToEnum 33 = Prelude.Just BooleanLiteral+  maybeToEnum 34 = Prelude.Just Tag+  maybeToEnum 35 = Prelude.Just TagAttribute+  maybeToEnum 36 = Prelude.Just TagDelimiter+  maybeToEnum k+    = Prelude.Just+        (SyntaxKind'Unrecognized+           (SyntaxKind'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedSyntaxKind = "UnspecifiedSyntaxKind"+  showEnum Comment = "Comment"+  showEnum PunctuationDelimiter = "PunctuationDelimiter"+  showEnum PunctuationBracket = "PunctuationBracket"+  showEnum Keyword = "Keyword"+  showEnum IdentifierOperator = "IdentifierOperator"+  showEnum Identifier = "Identifier"+  showEnum IdentifierBuiltin = "IdentifierBuiltin"+  showEnum IdentifierNull = "IdentifierNull"+  showEnum IdentifierConstant = "IdentifierConstant"+  showEnum IdentifierMutableGlobal = "IdentifierMutableGlobal"+  showEnum IdentifierParameter = "IdentifierParameter"+  showEnum IdentifierLocal = "IdentifierLocal"+  showEnum IdentifierShadowed = "IdentifierShadowed"+  showEnum IdentifierNamespace = "IdentifierNamespace"+  showEnum IdentifierFunction = "IdentifierFunction"+  showEnum IdentifierFunctionDefinition+    = "IdentifierFunctionDefinition"+  showEnum IdentifierMacro = "IdentifierMacro"+  showEnum IdentifierMacroDefinition = "IdentifierMacroDefinition"+  showEnum IdentifierType = "IdentifierType"+  showEnum IdentifierBuiltinType = "IdentifierBuiltinType"+  showEnum IdentifierAttribute = "IdentifierAttribute"+  showEnum RegexEscape = "RegexEscape"+  showEnum RegexRepeated = "RegexRepeated"+  showEnum RegexWildcard = "RegexWildcard"+  showEnum RegexDelimiter = "RegexDelimiter"+  showEnum RegexJoin = "RegexJoin"+  showEnum StringLiteral = "StringLiteral"+  showEnum StringLiteralEscape = "StringLiteralEscape"+  showEnum StringLiteralSpecial = "StringLiteralSpecial"+  showEnum StringLiteralKey = "StringLiteralKey"+  showEnum CharacterLiteral = "CharacterLiteral"+  showEnum NumericLiteral = "NumericLiteral"+  showEnum BooleanLiteral = "BooleanLiteral"+  showEnum Tag = "Tag"+  showEnum TagAttribute = "TagAttribute"+  showEnum TagDelimiter = "TagDelimiter"+  showEnum (SyntaxKind'Unrecognized (SyntaxKind'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedSyntaxKind"+    = Prelude.Just UnspecifiedSyntaxKind+    | (Prelude.==) k "Comment" = Prelude.Just Comment+    | (Prelude.==) k "PunctuationDelimiter"+    = Prelude.Just PunctuationDelimiter+    | (Prelude.==) k "PunctuationBracket"+    = Prelude.Just PunctuationBracket+    | (Prelude.==) k "Keyword" = Prelude.Just Keyword+    | (Prelude.==) k "IdentifierKeyword"+    = Prelude.Just IdentifierKeyword+    | (Prelude.==) k "IdentifierOperator"+    = Prelude.Just IdentifierOperator+    | (Prelude.==) k "Identifier" = Prelude.Just Identifier+    | (Prelude.==) k "IdentifierBuiltin"+    = Prelude.Just IdentifierBuiltin+    | (Prelude.==) k "IdentifierNull" = Prelude.Just IdentifierNull+    | (Prelude.==) k "IdentifierConstant"+    = Prelude.Just IdentifierConstant+    | (Prelude.==) k "IdentifierMutableGlobal"+    = Prelude.Just IdentifierMutableGlobal+    | (Prelude.==) k "IdentifierParameter"+    = Prelude.Just IdentifierParameter+    | (Prelude.==) k "IdentifierLocal" = Prelude.Just IdentifierLocal+    | (Prelude.==) k "IdentifierShadowed"+    = Prelude.Just IdentifierShadowed+    | (Prelude.==) k "IdentifierNamespace"+    = Prelude.Just IdentifierNamespace+    | (Prelude.==) k "IdentifierModule" = Prelude.Just IdentifierModule+    | (Prelude.==) k "IdentifierFunction"+    = Prelude.Just IdentifierFunction+    | (Prelude.==) k "IdentifierFunctionDefinition"+    = Prelude.Just IdentifierFunctionDefinition+    | (Prelude.==) k "IdentifierMacro" = Prelude.Just IdentifierMacro+    | (Prelude.==) k "IdentifierMacroDefinition"+    = Prelude.Just IdentifierMacroDefinition+    | (Prelude.==) k "IdentifierType" = Prelude.Just IdentifierType+    | (Prelude.==) k "IdentifierBuiltinType"+    = Prelude.Just IdentifierBuiltinType+    | (Prelude.==) k "IdentifierAttribute"+    = Prelude.Just IdentifierAttribute+    | (Prelude.==) k "RegexEscape" = Prelude.Just RegexEscape+    | (Prelude.==) k "RegexRepeated" = Prelude.Just RegexRepeated+    | (Prelude.==) k "RegexWildcard" = Prelude.Just RegexWildcard+    | (Prelude.==) k "RegexDelimiter" = Prelude.Just RegexDelimiter+    | (Prelude.==) k "RegexJoin" = Prelude.Just RegexJoin+    | (Prelude.==) k "StringLiteral" = Prelude.Just StringLiteral+    | (Prelude.==) k "StringLiteralEscape"+    = Prelude.Just StringLiteralEscape+    | (Prelude.==) k "StringLiteralSpecial"+    = Prelude.Just StringLiteralSpecial+    | (Prelude.==) k "StringLiteralKey" = Prelude.Just StringLiteralKey+    | (Prelude.==) k "CharacterLiteral" = Prelude.Just CharacterLiteral+    | (Prelude.==) k "NumericLiteral" = Prelude.Just NumericLiteral+    | (Prelude.==) k "BooleanLiteral" = Prelude.Just BooleanLiteral+    | (Prelude.==) k "Tag" = Prelude.Just Tag+    | (Prelude.==) k "TagAttribute" = Prelude.Just TagAttribute+    | (Prelude.==) k "TagDelimiter" = Prelude.Just TagDelimiter+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded SyntaxKind where+  minBound = UnspecifiedSyntaxKind+  maxBound = TagDelimiter+instance Prelude.Enum SyntaxKind where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum SyntaxKind: " (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedSyntaxKind = 0+  fromEnum Comment = 1+  fromEnum PunctuationDelimiter = 2+  fromEnum PunctuationBracket = 3+  fromEnum Keyword = 4+  fromEnum IdentifierOperator = 5+  fromEnum Identifier = 6+  fromEnum IdentifierBuiltin = 7+  fromEnum IdentifierNull = 8+  fromEnum IdentifierConstant = 9+  fromEnum IdentifierMutableGlobal = 10+  fromEnum IdentifierParameter = 11+  fromEnum IdentifierLocal = 12+  fromEnum IdentifierShadowed = 13+  fromEnum IdentifierNamespace = 14+  fromEnum IdentifierFunction = 15+  fromEnum IdentifierFunctionDefinition = 16+  fromEnum IdentifierMacro = 17+  fromEnum IdentifierMacroDefinition = 18+  fromEnum IdentifierType = 19+  fromEnum IdentifierBuiltinType = 20+  fromEnum IdentifierAttribute = 21+  fromEnum RegexEscape = 22+  fromEnum RegexRepeated = 23+  fromEnum RegexWildcard = 24+  fromEnum RegexDelimiter = 25+  fromEnum RegexJoin = 26+  fromEnum StringLiteral = 27+  fromEnum StringLiteralEscape = 28+  fromEnum StringLiteralSpecial = 29+  fromEnum StringLiteralKey = 30+  fromEnum CharacterLiteral = 31+  fromEnum NumericLiteral = 32+  fromEnum BooleanLiteral = 33+  fromEnum Tag = 34+  fromEnum TagAttribute = 35+  fromEnum TagDelimiter = 36+  fromEnum (SyntaxKind'Unrecognized (SyntaxKind'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ TagDelimiter+    = Prelude.error+        "SyntaxKind.succ: bad argument TagDelimiter. This value would be out of bounds."+  succ UnspecifiedSyntaxKind = Comment+  succ Comment = PunctuationDelimiter+  succ PunctuationDelimiter = PunctuationBracket+  succ PunctuationBracket = Keyword+  succ Keyword = IdentifierOperator+  succ IdentifierOperator = Identifier+  succ Identifier = IdentifierBuiltin+  succ IdentifierBuiltin = IdentifierNull+  succ IdentifierNull = IdentifierConstant+  succ IdentifierConstant = IdentifierMutableGlobal+  succ IdentifierMutableGlobal = IdentifierParameter+  succ IdentifierParameter = IdentifierLocal+  succ IdentifierLocal = IdentifierShadowed+  succ IdentifierShadowed = IdentifierNamespace+  succ IdentifierNamespace = IdentifierFunction+  succ IdentifierFunction = IdentifierFunctionDefinition+  succ IdentifierFunctionDefinition = IdentifierMacro+  succ IdentifierMacro = IdentifierMacroDefinition+  succ IdentifierMacroDefinition = IdentifierType+  succ IdentifierType = IdentifierBuiltinType+  succ IdentifierBuiltinType = IdentifierAttribute+  succ IdentifierAttribute = RegexEscape+  succ RegexEscape = RegexRepeated+  succ RegexRepeated = RegexWildcard+  succ RegexWildcard = RegexDelimiter+  succ RegexDelimiter = RegexJoin+  succ RegexJoin = StringLiteral+  succ StringLiteral = StringLiteralEscape+  succ StringLiteralEscape = StringLiteralSpecial+  succ StringLiteralSpecial = StringLiteralKey+  succ StringLiteralKey = CharacterLiteral+  succ CharacterLiteral = NumericLiteral+  succ NumericLiteral = BooleanLiteral+  succ BooleanLiteral = Tag+  succ Tag = TagAttribute+  succ TagAttribute = TagDelimiter+  succ (SyntaxKind'Unrecognized _)+    = Prelude.error "SyntaxKind.succ: bad argument: unrecognized value"+  pred UnspecifiedSyntaxKind+    = Prelude.error+        "SyntaxKind.pred: bad argument UnspecifiedSyntaxKind. This value would be out of bounds."+  pred Comment = UnspecifiedSyntaxKind+  pred PunctuationDelimiter = Comment+  pred PunctuationBracket = PunctuationDelimiter+  pred Keyword = PunctuationBracket+  pred IdentifierOperator = Keyword+  pred Identifier = IdentifierOperator+  pred IdentifierBuiltin = Identifier+  pred IdentifierNull = IdentifierBuiltin+  pred IdentifierConstant = IdentifierNull+  pred IdentifierMutableGlobal = IdentifierConstant+  pred IdentifierParameter = IdentifierMutableGlobal+  pred IdentifierLocal = IdentifierParameter+  pred IdentifierShadowed = IdentifierLocal+  pred IdentifierNamespace = IdentifierShadowed+  pred IdentifierFunction = IdentifierNamespace+  pred IdentifierFunctionDefinition = IdentifierFunction+  pred IdentifierMacro = IdentifierFunctionDefinition+  pred IdentifierMacroDefinition = IdentifierMacro+  pred IdentifierType = IdentifierMacroDefinition+  pred IdentifierBuiltinType = IdentifierType+  pred IdentifierAttribute = IdentifierBuiltinType+  pred RegexEscape = IdentifierAttribute+  pred RegexRepeated = RegexEscape+  pred RegexWildcard = RegexRepeated+  pred RegexDelimiter = RegexWildcard+  pred RegexJoin = RegexDelimiter+  pred StringLiteral = RegexJoin+  pred StringLiteralEscape = StringLiteral+  pred StringLiteralSpecial = StringLiteralEscape+  pred StringLiteralKey = StringLiteralSpecial+  pred CharacterLiteral = StringLiteralKey+  pred NumericLiteral = CharacterLiteral+  pred BooleanLiteral = NumericLiteral+  pred Tag = BooleanLiteral+  pred TagAttribute = Tag+  pred TagDelimiter = TagAttribute+  pred (SyntaxKind'Unrecognized _)+    = Prelude.error "SyntaxKind.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault SyntaxKind where+  fieldDefault = UnspecifiedSyntaxKind+instance Control.DeepSeq.NFData SyntaxKind where+  rnf x__ = Prelude.seq x__ ()+pattern IdentifierKeyword :: SyntaxKind+pattern IdentifierKeyword = Keyword+pattern IdentifierModule :: SyntaxKind+pattern IdentifierModule = IdentifierNamespace+newtype TextEncoding'UnrecognizedValue+  = TextEncoding'UnrecognizedValue Data.Int.Int32+  deriving stock (Prelude.Eq, Prelude.Ord, Prelude.Show)+data TextEncoding+  = UnspecifiedTextEncoding |+    UTF8 |+    UTF16 |+    TextEncoding'Unrecognized !TextEncoding'UnrecognizedValue+  deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)+instance Data.ProtoLens.MessageEnum TextEncoding where+  maybeToEnum 0 = Prelude.Just UnspecifiedTextEncoding+  maybeToEnum 1 = Prelude.Just UTF8+  maybeToEnum 2 = Prelude.Just UTF16+  maybeToEnum k+    = Prelude.Just+        (TextEncoding'Unrecognized+           (TextEncoding'UnrecognizedValue (Prelude.fromIntegral k)))+  showEnum UnspecifiedTextEncoding = "UnspecifiedTextEncoding"+  showEnum UTF8 = "UTF8"+  showEnum UTF16 = "UTF16"+  showEnum+    (TextEncoding'Unrecognized (TextEncoding'UnrecognizedValue k))+    = Prelude.show k+  readEnum k+    | (Prelude.==) k "UnspecifiedTextEncoding"+    = Prelude.Just UnspecifiedTextEncoding+    | (Prelude.==) k "UTF8" = Prelude.Just UTF8+    | (Prelude.==) k "UTF16" = Prelude.Just UTF16+    | Prelude.otherwise+    = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum+instance Prelude.Bounded TextEncoding where+  minBound = UnspecifiedTextEncoding+  maxBound = UTF16+instance Prelude.Enum TextEncoding where+  toEnum k__+    = Prelude.maybe+        (Prelude.error+           ((Prelude.++)+              "toEnum: unknown value for enum TextEncoding: "+              (Prelude.show k__)))+        Prelude.id (Data.ProtoLens.maybeToEnum k__)+  fromEnum UnspecifiedTextEncoding = 0+  fromEnum UTF8 = 1+  fromEnum UTF16 = 2+  fromEnum+    (TextEncoding'Unrecognized (TextEncoding'UnrecognizedValue k))+    = Prelude.fromIntegral k+  succ UTF16+    = Prelude.error+        "TextEncoding.succ: bad argument UTF16. This value would be out of bounds."+  succ UnspecifiedTextEncoding = UTF8+  succ UTF8 = UTF16+  succ (TextEncoding'Unrecognized _)+    = Prelude.error+        "TextEncoding.succ: bad argument: unrecognized value"+  pred UnspecifiedTextEncoding+    = Prelude.error+        "TextEncoding.pred: bad argument UnspecifiedTextEncoding. This value would be out of bounds."+  pred UTF8 = UnspecifiedTextEncoding+  pred UTF16 = UTF8+  pred (TextEncoding'Unrecognized _)+    = Prelude.error+        "TextEncoding.pred: bad argument: unrecognized value"+  enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom+  enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo+  enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen+  enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo+instance Data.ProtoLens.FieldDefault TextEncoding where+  fieldDefault = UnspecifiedTextEncoding+instance Control.DeepSeq.NFData TextEncoding where+  rnf x__ = Prelude.seq x__ ()+{- | Fields :+     +         * 'Proto.Scip_Fields.name' @:: Lens' ToolInfo Data.Text.Text@+         * 'Proto.Scip_Fields.version' @:: Lens' ToolInfo Data.Text.Text@+         * 'Proto.Scip_Fields.arguments' @:: Lens' ToolInfo [Data.Text.Text]@+         * 'Proto.Scip_Fields.vec'arguments' @:: Lens' ToolInfo (Data.Vector.Vector Data.Text.Text)@ -}+data ToolInfo+  = ToolInfo'_constructor {_ToolInfo'name :: !Data.Text.Text,+                           _ToolInfo'version :: !Data.Text.Text,+                           _ToolInfo'arguments :: !(Data.Vector.Vector Data.Text.Text),+                           _ToolInfo'_unknownFields :: !Data.ProtoLens.FieldSet}+  deriving stock (Prelude.Eq, Prelude.Ord)+instance Prelude.Show ToolInfo where+  showsPrec _ __x __s+    = Prelude.showChar+        '{'+        (Prelude.showString+           (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))+instance Data.ProtoLens.Field.HasField ToolInfo "name" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _ToolInfo'name (\ x__ y__ -> x__ {_ToolInfo'name = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField ToolInfo "version" Data.Text.Text where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _ToolInfo'version (\ x__ y__ -> x__ {_ToolInfo'version = y__}))+        Prelude.id+instance Data.ProtoLens.Field.HasField ToolInfo "arguments" [Data.Text.Text] where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _ToolInfo'arguments (\ x__ y__ -> x__ {_ToolInfo'arguments = y__}))+        (Lens.Family2.Unchecked.lens+           Data.Vector.Generic.toList+           (\ _ y__ -> Data.Vector.Generic.fromList y__))+instance Data.ProtoLens.Field.HasField ToolInfo "vec'arguments" (Data.Vector.Vector Data.Text.Text) where+  fieldOf _+    = (Prelude..)+        (Lens.Family2.Unchecked.lens+           _ToolInfo'arguments (\ x__ y__ -> x__ {_ToolInfo'arguments = y__}))+        Prelude.id+instance Data.ProtoLens.Message ToolInfo where+  messageName _ = Data.Text.pack "scip.ToolInfo"+  packedMessageDescriptor _+    = "\n\+      \\bToolInfo\DC2\DC2\n\+      \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\CAN\n\+      \\aversion\CAN\STX \SOH(\tR\aversion\DC2\FS\n\+      \\targuments\CAN\ETX \ETX(\tR\targuments"+  packedFileDescriptor _ = packedFileDescriptor+  fieldsByTag+    = let+        name__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "name"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"name")) ::+              Data.ProtoLens.FieldDescriptor ToolInfo+        version__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "version"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.PlainField+                 Data.ProtoLens.Optional (Data.ProtoLens.Field.field @"version")) ::+              Data.ProtoLens.FieldDescriptor ToolInfo+        arguments__field_descriptor+          = Data.ProtoLens.FieldDescriptor+              "arguments"+              (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::+                 Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)+              (Data.ProtoLens.RepeatedField+                 Data.ProtoLens.Unpacked+                 (Data.ProtoLens.Field.field @"arguments")) ::+              Data.ProtoLens.FieldDescriptor ToolInfo+      in+        Data.Map.fromList+          [(Data.ProtoLens.Tag 1, name__field_descriptor),+           (Data.ProtoLens.Tag 2, version__field_descriptor),+           (Data.ProtoLens.Tag 3, arguments__field_descriptor)]+  unknownFields+    = Lens.Family2.Unchecked.lens+        _ToolInfo'_unknownFields+        (\ x__ y__ -> x__ {_ToolInfo'_unknownFields = y__})+  defMessage+    = ToolInfo'_constructor+        {_ToolInfo'name = Data.ProtoLens.fieldDefault,+         _ToolInfo'version = Data.ProtoLens.fieldDefault,+         _ToolInfo'arguments = Data.Vector.Generic.empty,+         _ToolInfo'_unknownFields = []}+  parseMessage+    = let+        loop ::+          ToolInfo+          -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld Data.Text.Text+             -> Data.ProtoLens.Encoding.Bytes.Parser ToolInfo+        loop x mutable'arguments+          = do end <- Data.ProtoLens.Encoding.Bytes.atEnd+               if end then+                   do frozen'arguments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                            (Data.ProtoLens.Encoding.Growing.unsafeFreeze+                                               mutable'arguments)+                      (let missing = []+                       in+                         if Prelude.null missing then+                             Prelude.return ()+                         else+                             Prelude.fail+                               ((Prelude.++)+                                  "Missing required fields: "+                                  (Prelude.show (missing :: [Prelude.String]))))+                      Prelude.return+                        (Lens.Family2.over+                           Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)+                           (Lens.Family2.set+                              (Data.ProtoLens.Field.field @"vec'arguments") frozen'arguments x))+               else+                   do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt+                      case tag of+                        10+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "name"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"name") y x)+                                  mutable'arguments+                        18+                          -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                       (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                           Data.ProtoLens.Encoding.Bytes.getText+                                             (Prelude.fromIntegral len))+                                       "version"+                                loop+                                  (Lens.Family2.set (Data.ProtoLens.Field.field @"version") y x)+                                  mutable'arguments+                        26+                          -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)+                                        (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt+                                            Data.ProtoLens.Encoding.Bytes.getText+                                              (Prelude.fromIntegral len))+                                        "arguments"+                                v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                       (Data.ProtoLens.Encoding.Growing.append mutable'arguments y)+                                loop x v+                        wire+                          -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire+                                        wire+                                loop+                                  (Lens.Family2.over+                                     Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)+                                  mutable'arguments+      in+        (Data.ProtoLens.Encoding.Bytes.<?>)+          (do mutable'arguments <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO+                                     Data.ProtoLens.Encoding.Growing.new+              loop Data.ProtoLens.defMessage mutable'arguments)+          "ToolInfo"+  buildMessage+    = \ _x+        -> (Data.Monoid.<>)+             (let _v = Lens.Family2.view (Data.ProtoLens.Field.field @"name") _x+              in+                if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                    Data.Monoid.mempty+                else+                    (Data.Monoid.<>)+                      (Data.ProtoLens.Encoding.Bytes.putVarInt 10)+                      ((Prelude..)+                         (\ bs+                            -> (Data.Monoid.<>)+                                 (Data.ProtoLens.Encoding.Bytes.putVarInt+                                    (Prelude.fromIntegral (Data.ByteString.length bs)))+                                 (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                         Data.Text.Encoding.encodeUtf8 _v))+             ((Data.Monoid.<>)+                (let+                   _v = Lens.Family2.view (Data.ProtoLens.Field.field @"version") _x+                 in+                   if (Prelude.==) _v Data.ProtoLens.fieldDefault then+                       Data.Monoid.mempty+                   else+                       (Data.Monoid.<>)+                         (Data.ProtoLens.Encoding.Bytes.putVarInt 18)+                         ((Prelude..)+                            (\ bs+                               -> (Data.Monoid.<>)+                                    (Data.ProtoLens.Encoding.Bytes.putVarInt+                                       (Prelude.fromIntegral (Data.ByteString.length bs)))+                                    (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                            Data.Text.Encoding.encodeUtf8 _v))+                ((Data.Monoid.<>)+                   (Data.ProtoLens.Encoding.Bytes.foldMapBuilder+                      (\ _v+                         -> (Data.Monoid.<>)+                              (Data.ProtoLens.Encoding.Bytes.putVarInt 26)+                              ((Prelude..)+                                 (\ bs+                                    -> (Data.Monoid.<>)+                                         (Data.ProtoLens.Encoding.Bytes.putVarInt+                                            (Prelude.fromIntegral (Data.ByteString.length bs)))+                                         (Data.ProtoLens.Encoding.Bytes.putBytes bs))+                                 Data.Text.Encoding.encodeUtf8 _v))+                      (Lens.Family2.view+                         (Data.ProtoLens.Field.field @"vec'arguments") _x))+                   (Data.ProtoLens.Encoding.Wire.buildFieldSet+                      (Lens.Family2.view Data.ProtoLens.unknownFields _x))))+instance Control.DeepSeq.NFData ToolInfo where+  rnf+    = \ x__+        -> Control.DeepSeq.deepseq+             (_ToolInfo'_unknownFields x__)+             (Control.DeepSeq.deepseq+                (_ToolInfo'name x__)+                (Control.DeepSeq.deepseq+                   (_ToolInfo'version x__)+                   (Control.DeepSeq.deepseq (_ToolInfo'arguments x__) ())))+packedFileDescriptor :: Data.ByteString.ByteString+packedFileDescriptor+  = "\n\+    \\n\+    \scip.proto\DC2\EOTscip\"\165\SOH\n\+    \\ENQIndex\DC2*\n\+    \\bmetadata\CAN\SOH \SOH(\v2\SO.scip.MetadataR\bmetadata\DC2,\n\+    \\tdocuments\CAN\STX \ETX(\v2\SO.scip.DocumentR\tdocuments\DC2B\n\+    \\DLEexternal_symbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\SIexternalSymbols\"\213\SOH\n\+    \\bMetadata\DC2/\n\+    \\aversion\CAN\SOH \SOH(\SO2\NAK.scip.ProtocolVersionR\aversion\DC2+\n\+    \\ttool_info\CAN\STX \SOH(\v2\SO.scip.ToolInfoR\btoolInfo\DC2!\n\+    \\fproject_root\CAN\ETX \SOH(\tR\vprojectRoot\DC2H\n\+    \\SYNtext_document_encoding\CAN\EOT \SOH(\SO2\DC2.scip.TextEncodingR\DC4textDocumentEncoding\"V\n\+    \\bToolInfo\DC2\DC2\n\+    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2\CAN\n\+    \\aversion\CAN\STX \SOH(\tR\aversion\DC2\FS\n\+    \\targuments\CAN\ETX \ETX(\tR\targuments\"\139\STX\n\+    \\bDocument\DC2\SUB\n\+    \\blanguage\CAN\EOT \SOH(\tR\blanguage\DC2#\n\+    \\rrelative_path\CAN\SOH \SOH(\tR\frelativePath\DC22\n\+    \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrences\DC21\n\+    \\asymbols\CAN\ETX \ETX(\v2\ETB.scip.SymbolInformationR\asymbols\DC2\DC2\n\+    \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC2C\n\+    \\DC1position_encoding\CAN\ACK \SOH(\SO2\SYN.scip.PositionEncodingR\DLEpositionEncoding\"}\n\+    \\ACKSymbol\DC2\SYN\n\+    \\ACKscheme\CAN\SOH \SOH(\tR\ACKscheme\DC2'\n\+    \\apackage\CAN\STX \SOH(\v2\r.scip.PackageR\apackage\DC22\n\+    \\vdescriptors\CAN\ETX \ETX(\v2\DLE.scip.DescriptorR\vdescriptors\"Q\n\+    \\aPackage\DC2\CAN\n\+    \\amanager\CAN\SOH \SOH(\tR\amanager\DC2\DC2\n\+    \\EOTname\CAN\STX \SOH(\tR\EOTname\DC2\CAN\n\+    \\aversion\CAN\ETX \SOH(\tR\aversion\"\159\STX\n\+    \\n\+    \Descriptor\DC2\DC2\n\+    \\EOTname\CAN\SOH \SOH(\tR\EOTname\DC2$\n\+    \\rdisambiguator\CAN\STX \SOH(\tR\rdisambiguator\DC2/\n\+    \\ACKsuffix\CAN\ETX \SOH(\SO2\ETB.scip.Descriptor.SuffixR\ACKsuffix\"\165\SOH\n\+    \\ACKSuffix\DC2\NAK\n\+    \\DC1UnspecifiedSuffix\DLE\NUL\DC2\r\n\+    \\tNamespace\DLE\SOH\DC2\SI\n\+    \\aPackage\DLE\SOH\SUB\STX\b\SOH\DC2\b\n\+    \\EOTType\DLE\STX\DC2\b\n\+    \\EOTTerm\DLE\ETX\DC2\n\+    \\n\+    \\ACKMethod\DLE\EOT\DC2\DC1\n\+    \\rTypeParameter\DLE\ENQ\DC2\r\n\+    \\tParameter\DLE\ACK\DC2\b\n\+    \\EOTMeta\DLE\a\DC2\t\n\+    \\ENQLocal\DLE\b\DC2\t\n\+    \\ENQMacro\DLE\t\SUB\STX\DLE\SOH\"\129\SOH\n\+    \\tSignature\DC2\SUB\n\+    \\blanguage\CAN\EOT \SOH(\tR\blanguage\DC2\DC2\n\+    \\EOTtext\CAN\ENQ \SOH(\tR\EOTtext\DC22\n\+    \\voccurrences\CAN\STX \ETX(\v2\DLE.scip.OccurrenceR\voccurrencesJ\EOT\b\SOH\DLE\STXJ\EOT\b\ETX\DLE\EOTJ\EOT\b\ACK\DLE\a\"\211\f\n\+    \\DC1SymbolInformation\DC2\SYN\n\+    \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2$\n\+    \\rdocumentation\CAN\ETX \ETX(\tR\rdocumentation\DC28\n\+    \\rrelationships\CAN\EOT \ETX(\v2\DC2.scip.RelationshipR\rrelationships\DC20\n\+    \\EOTkind\CAN\ENQ \SOH(\SO2\FS.scip.SymbolInformation.KindR\EOTkind\DC2!\n\+    \\fdisplay_name\CAN\ACK \SOH(\tR\vdisplayName\DC2H\n\+    \\ETBsignature_documentation\CAN\a \SOH(\v2\SI.scip.SignatureR\SYNsignatureDocumentation\DC2)\n\+    \\DLEenclosing_symbol\CAN\b \SOH(\tR\SIenclosingSymbol\"\251\t\n\+    \\EOTKind\DC2\DC3\n\+    \\SIUnspecifiedKind\DLE\NUL\DC2\DC2\n\+    \\SOAbstractMethod\DLEB\DC2\f\n\+    \\bAccessor\DLEH\DC2\t\n\+    \\ENQArray\DLE\SOH\DC2\r\n\+    \\tAssertion\DLE\STX\DC2\DC2\n\+    \\SOAssociatedType\DLE\ETX\DC2\r\n\+    \\tAttribute\DLE\EOT\DC2\t\n\+    \\ENQAxiom\DLE\ENQ\DC2\v\n\+    \\aBoolean\DLE\ACK\DC2\t\n\+    \\ENQClass\DLE\a\DC2\v\n\+    \\aConcept\DLEV\DC2\f\n\+    \\bConstant\DLE\b\DC2\SI\n\+    \\vConstructor\DLE\t\DC2\f\n\+    \\bContract\DLE>\DC2\SO\n\+    \\n\+    \DataFamily\DLE\n\+    \\DC2\f\n\+    \\bDelegate\DLEI\DC2\b\n\+    \\EOTEnum\DLE\v\DC2\SO\n\+    \\n\+    \EnumMember\DLE\f\DC2\t\n\+    \\ENQError\DLE?\DC2\t\n\+    \\ENQEvent\DLE\r\DC2\r\n\+    \\tExtension\DLET\DC2\b\n\+    \\EOTFact\DLE\SO\DC2\t\n\+    \\ENQField\DLE\SI\DC2\b\n\+    \\EOTFile\DLE\DLE\DC2\f\n\+    \\bFunction\DLE\DC1\DC2\n\+    \\n\+    \\ACKGetter\DLE\DC2\DC2\v\n\+    \\aGrammar\DLE\DC3\DC2\f\n\+    \\bInstance\DLE\DC4\DC2\r\n\+    \\tInterface\DLE\NAK\DC2\a\n\+    \\ETXKey\DLE\SYN\DC2\b\n\+    \\EOTLang\DLE\ETB\DC2\t\n\+    \\ENQLemma\DLE\CAN\DC2\v\n\+    \\aLibrary\DLE@\DC2\t\n\+    \\ENQMacro\DLE\EM\DC2\n\+    \\n\+    \\ACKMethod\DLE\SUB\DC2\SI\n\+    \\vMethodAlias\DLEJ\DC2\DC2\n\+    \\SOMethodReceiver\DLE\ESC\DC2\ETB\n\+    \\DC3MethodSpecification\DLEC\DC2\v\n\+    \\aMessage\DLE\FS\DC2\t\n\+    \\ENQMixin\DLEU\DC2\f\n\+    \\bModifier\DLEA\DC2\n\+    \\n\+    \\ACKModule\DLE\GS\DC2\r\n\+    \\tNamespace\DLE\RS\DC2\b\n\+    \\EOTNull\DLE\US\DC2\n\+    \\n\+    \\ACKNumber\DLE \DC2\n\+    \\n\+    \\ACKObject\DLE!\DC2\f\n\+    \\bOperator\DLE\"\DC2\v\n\+    \\aPackage\DLE#\DC2\DC1\n\+    \\rPackageObject\DLE$\DC2\r\n\+    \\tParameter\DLE%\DC2\DC2\n\+    \\SOParameterLabel\DLE&\DC2\v\n\+    \\aPattern\DLE'\DC2\r\n\+    \\tPredicate\DLE(\DC2\f\n\+    \\bProperty\DLE)\DC2\f\n\+    \\bProtocol\DLE*\DC2\DC2\n\+    \\SOProtocolMethod\DLED\DC2\NAK\n\+    \\DC1PureVirtualMethod\DLEE\DC2\SI\n\+    \\vQuasiquoter\DLE+\DC2\DC1\n\+    \\rSelfParameter\DLE,\DC2\n\+    \\n\+    \\ACKSetter\DLE-\DC2\r\n\+    \\tSignature\DLE.\DC2\DC2\n\+    \\SOSingletonClass\DLEK\DC2\DC3\n\+    \\SISingletonMethod\DLEL\DC2\DC4\n\+    \\DLEStaticDataMember\DLEM\DC2\SI\n\+    \\vStaticEvent\DLEN\DC2\SI\n\+    \\vStaticField\DLEO\DC2\DLE\n\+    \\fStaticMethod\DLEP\DC2\DC2\n\+    \\SOStaticProperty\DLEQ\DC2\DC2\n\+    \\SOStaticVariable\DLER\DC2\n\+    \\n\+    \\ACKString\DLE0\DC2\n\+    \\n\+    \\ACKStruct\DLE1\DC2\r\n\+    \\tSubscript\DLE/\DC2\n\+    \\n\+    \\ACKTactic\DLE2\DC2\v\n\+    \\aTheorem\DLE3\DC2\DC1\n\+    \\rThisParameter\DLE4\DC2\t\n\+    \\ENQTrait\DLE5\DC2\SI\n\+    \\vTraitMethod\DLEF\DC2\b\n\+    \\EOTType\DLE6\DC2\r\n\+    \\tTypeAlias\DLE7\DC2\r\n\+    \\tTypeClass\DLE8\DC2\DC3\n\+    \\SITypeClassMethod\DLEG\DC2\SO\n\+    \\n\+    \TypeFamily\DLE9\DC2\DC1\n\+    \\rTypeParameter\DLE:\DC2\t\n\+    \\ENQUnion\DLE;\DC2\t\n\+    \\ENQValue\DLE<\DC2\f\n\+    \\bVariable\DLE=\"\201\SOH\n\+    \\fRelationship\DC2\SYN\n\+    \\ACKsymbol\CAN\SOH \SOH(\tR\ACKsymbol\DC2!\n\+    \\fis_reference\CAN\STX \SOH(\bR\visReference\DC2+\n\+    \\DC1is_implementation\CAN\ETX \SOH(\bR\DLEisImplementation\DC2,\n\+    \\DC2is_type_definition\CAN\EOT \SOH(\bR\DLEisTypeDefinition\DC2#\n\+    \\ris_definition\CAN\ENQ \SOH(\bR\fisDefinition\"\164\STX\n\+    \\n\+    \Occurrence\DC2\DC4\n\+    \\ENQrange\CAN\SOH \ETX(\ENQR\ENQrange\DC2\SYN\n\+    \\ACKsymbol\CAN\STX \SOH(\tR\ACKsymbol\DC2!\n\+    \\fsymbol_roles\CAN\ETX \SOH(\ENQR\vsymbolRoles\DC25\n\+    \\SYNoverride_documentation\CAN\EOT \ETX(\tR\NAKoverrideDocumentation\DC21\n\+    \\vsyntax_kind\CAN\ENQ \SOH(\SO2\DLE.scip.SyntaxKindR\n\+    \syntaxKind\DC22\n\+    \\vdiagnostics\CAN\ACK \ETX(\v2\DLE.scip.DiagnosticR\vdiagnostics\DC2'\n\+    \\SIenclosing_range\CAN\a \ETX(\ENQR\SOenclosingRange\"\167\SOH\n\+    \\n\+    \Diagnostic\DC2*\n\+    \\bseverity\CAN\SOH \SOH(\SO2\SO.scip.SeverityR\bseverity\DC2\DC2\n\+    \\EOTcode\CAN\STX \SOH(\tR\EOTcode\DC2\CAN\n\+    \\amessage\CAN\ETX \SOH(\tR\amessage\DC2\SYN\n\+    \\ACKsource\CAN\EOT \SOH(\tR\ACKsource\DC2'\n\+    \\EOTtags\CAN\ENQ \ETX(\SO2\DC3.scip.DiagnosticTagR\EOTtags*1\n\+    \\SIProtocolVersion\DC2\RS\n\+    \\SUBUnspecifiedProtocolVersion\DLE\NUL*@\n\+    \\fTextEncoding\DC2\ESC\n\+    \\ETBUnspecifiedTextEncoding\DLE\NUL\DC2\b\n\+    \\EOTUTF8\DLE\SOH\DC2\t\n\+    \\ENQUTF16\DLE\STX*\164\SOH\n\+    \\DLEPositionEncoding\DC2\US\n\+    \\ESCUnspecifiedPositionEncoding\DLE\NUL\DC2#\n\+    \\USUTF8CodeUnitOffsetFromLineStart\DLE\SOH\DC2$\n\+    \ UTF16CodeUnitOffsetFromLineStart\DLE\STX\DC2$\n\+    \ UTF32CodeUnitOffsetFromLineStart\DLE\ETX*\148\SOH\n\+    \\n\+    \SymbolRole\DC2\EM\n\+    \\NAKUnspecifiedSymbolRole\DLE\NUL\DC2\SO\n\+    \\n\+    \Definition\DLE\SOH\DC2\n\+    \\n\+    \\ACKImport\DLE\STX\DC2\SI\n\+    \\vWriteAccess\DLE\EOT\DC2\SO\n\+    \\n\+    \ReadAccess\DLE\b\DC2\r\n\+    \\tGenerated\DLE\DLE\DC2\b\n\+    \\EOTTest\DLE \DC2\NAK\n\+    \\DC1ForwardDefinition\DLE@*\234\ACK\n\+    \\n\+    \SyntaxKind\DC2\EM\n\+    \\NAKUnspecifiedSyntaxKind\DLE\NUL\DC2\v\n\+    \\aComment\DLE\SOH\DC2\CAN\n\+    \\DC4PunctuationDelimiter\DLE\STX\DC2\SYN\n\+    \\DC2PunctuationBracket\DLE\ETX\DC2\v\n\+    \\aKeyword\DLE\EOT\DC2\EM\n\+    \\DC1IdentifierKeyword\DLE\EOT\SUB\STX\b\SOH\DC2\SYN\n\+    \\DC2IdentifierOperator\DLE\ENQ\DC2\SO\n\+    \\n\+    \Identifier\DLE\ACK\DC2\NAK\n\+    \\DC1IdentifierBuiltin\DLE\a\DC2\DC2\n\+    \\SOIdentifierNull\DLE\b\DC2\SYN\n\+    \\DC2IdentifierConstant\DLE\t\DC2\ESC\n\+    \\ETBIdentifierMutableGlobal\DLE\n\+    \\DC2\ETB\n\+    \\DC3IdentifierParameter\DLE\v\DC2\DC3\n\+    \\SIIdentifierLocal\DLE\f\DC2\SYN\n\+    \\DC2IdentifierShadowed\DLE\r\DC2\ETB\n\+    \\DC3IdentifierNamespace\DLE\SO\DC2\CAN\n\+    \\DLEIdentifierModule\DLE\SO\SUB\STX\b\SOH\DC2\SYN\n\+    \\DC2IdentifierFunction\DLE\SI\DC2 \n\+    \\FSIdentifierFunctionDefinition\DLE\DLE\DC2\DC3\n\+    \\SIIdentifierMacro\DLE\DC1\DC2\GS\n\+    \\EMIdentifierMacroDefinition\DLE\DC2\DC2\DC2\n\+    \\SOIdentifierType\DLE\DC3\DC2\EM\n\+    \\NAKIdentifierBuiltinType\DLE\DC4\DC2\ETB\n\+    \\DC3IdentifierAttribute\DLE\NAK\DC2\SI\n\+    \\vRegexEscape\DLE\SYN\DC2\DC1\n\+    \\rRegexRepeated\DLE\ETB\DC2\DC1\n\+    \\rRegexWildcard\DLE\CAN\DC2\DC2\n\+    \\SORegexDelimiter\DLE\EM\DC2\r\n\+    \\tRegexJoin\DLE\SUB\DC2\DC1\n\+    \\rStringLiteral\DLE\ESC\DC2\ETB\n\+    \\DC3StringLiteralEscape\DLE\FS\DC2\CAN\n\+    \\DC4StringLiteralSpecial\DLE\GS\DC2\DC4\n\+    \\DLEStringLiteralKey\DLE\RS\DC2\DC4\n\+    \\DLECharacterLiteral\DLE\US\DC2\DC2\n\+    \\SONumericLiteral\DLE \DC2\DC2\n\+    \\SOBooleanLiteral\DLE!\DC2\a\n\+    \\ETXTag\DLE\"\DC2\DLE\n\+    \\fTagAttribute\DLE#\DC2\DLE\n\+    \\fTagDelimiter\DLE$\SUB\STX\DLE\SOH*V\n\+    \\bSeverity\DC2\ETB\n\+    \\DC3UnspecifiedSeverity\DLE\NUL\DC2\t\n\+    \\ENQError\DLE\SOH\DC2\v\n\+    \\aWarning\DLE\STX\DC2\SI\n\+    \\vInformation\DLE\ETX\DC2\b\n\+    \\EOTHint\DLE\EOT*N\n\+    \\rDiagnosticTag\DC2\FS\n\+    \\CANUnspecifiedDiagnosticTag\DLE\NUL\DC2\SI\n\+    \\vUnnecessary\DLE\SOH\DC2\SO\n\+    \\n\+    \Deprecated\DLE\STX*\155\n\+    \\n\+    \\bLanguage\DC2\ETB\n\+    \\DC3UnspecifiedLanguage\DLE\NUL\DC2\b\n\+    \\EOTABAP\DLE<\DC2\b\n\+    \\EOTApex\DLE`\DC2\a\n\+    \\ETXAPL\DLE1\DC2\a\n\+    \\ETXAda\DLE'\DC2\b\n\+    \\EOTAgda\DLE-\DC2\f\n\+    \\bAsciiDoc\DLEV\DC2\f\n\+    \\bAssembly\DLE:\DC2\a\n\+    \\ETXAwk\DLEB\DC2\a\n\+    \\ETXBat\DLED\DC2\n\+    \\n\+    \\ACKBibTeX\DLEQ\DC2\ENQ\n\+    \\SOHC\DLE\"\DC2\t\n\+    \\ENQCOBOL\DLE;\DC2\a\n\+    \\ETXCPP\DLE#\DC2\a\n\+    \\ETXCSS\DLE\SUB\DC2\n\+    \\n\+    \\ACKCSharp\DLE\SOH\DC2\v\n\+    \\aClojure\DLE\b\DC2\DLE\n\+    \\fCoffeescript\DLE\NAK\DC2\SO\n\+    \\n\+    \CommonLisp\DLE\t\DC2\a\n\+    \\ETXCoq\DLE/\DC2\b\n\+    \\EOTCUDA\DLEa\DC2\b\n\+    \\EOTDart\DLE\ETX\DC2\n\+    \\n\+    \\ACKDelphi\DLE9\DC2\b\n\+    \\EOTDiff\DLEX\DC2\SO\n\+    \\n\+    \Dockerfile\DLEP\DC2\n\+    \\n\+    \\ACKDyalog\DLE2\DC2\n\+    \\n\+    \\ACKElixir\DLE\DC1\DC2\n\+    \\n\+    \\ACKErlang\DLE\DC2\DC2\n\+    \\n\+    \\ACKFSharp\DLE*\DC2\b\n\+    \\EOTFish\DLEA\DC2\b\n\+    \\EOTFlow\DLE\CAN\DC2\v\n\+    \\aFortran\DLE8\DC2\SO\n\+    \\n\+    \Git_Commit\DLE[\DC2\SO\n\+    \\n\+    \Git_Config\DLEY\DC2\SO\n\+    \\n\+    \Git_Rebase\DLE\\\DC2\ACK\n\+    \\STXGo\DLE!\DC2\v\n\+    \\aGraphQL\DLEb\DC2\n\+    \\n\+    \\ACKGroovy\DLE\a\DC2\b\n\+    \\EOTHTML\DLE\RS\DC2\b\n\+    \\EOTHack\DLE\DC4\DC2\SO\n\+    \\n\+    \Handlebars\DLEZ\DC2\v\n\+    \\aHaskell\DLE,\DC2\t\n\+    \\ENQIdris\DLE.\DC2\a\n\+    \\ETXIni\DLEH\DC2\ENQ\n\+    \\SOHJ\DLE3\DC2\b\n\+    \\EOTJSON\DLEK\DC2\b\n\+    \\EOTJava\DLE\ACK\DC2\SO\n\+    \\n\+    \JavaScript\DLE\SYN\DC2\DC3\n\+    \\SIJavaScriptReact\DLE]\DC2\v\n\+    \\aJsonnet\DLEL\DC2\t\n\+    \\ENQJulia\DLE7\DC2\f\n\+    \\bJustfile\DLEm\DC2\n\+    \\n\+    \\ACKKotlin\DLE\EOT\DC2\t\n\+    \\ENQLaTeX\DLES\DC2\b\n\+    \\EOTLean\DLE0\DC2\b\n\+    \\EOTLess\DLE\ESC\DC2\a\n\+    \\ETXLua\DLE\f\DC2\b\n\+    \\EOTLuau\DLEl\DC2\f\n\+    \\bMakefile\DLEO\DC2\f\n\+    \\bMarkdown\DLET\DC2\n\+    \\n\+    \\ACKMatlab\DLE4\DC2\n\+    \\n\+    \\ACKNickel\DLEn\DC2\a\n\+    \\ETXNix\DLEM\DC2\t\n\+    \\ENQOCaml\DLE)\DC2\SI\n\+    \\vObjective_C\DLE$\DC2\DC1\n\+    \\rObjective_CPP\DLE%\DC2\n\+    \\n\+    \\ACKPascal\DLEc\DC2\a\n\+    \\ETXPHP\DLE\DC3\DC2\t\n\+    \\ENQPLSQL\DLEF\DC2\b\n\+    \\EOTPerl\DLE\r\DC2\SO\n\+    \\n\+    \PowerShell\DLEC\DC2\n\+    \\n\+    \\ACKProlog\DLEG\DC2\f\n\+    \\bProtobuf\DLEd\DC2\n\+    \\n\+    \\ACKPython\DLE\SI\DC2\ENQ\n\+    \\SOHR\DLE6\DC2\n\+    \\n\+    \\ACKRacket\DLE\v\DC2\b\n\+    \\EOTRaku\DLE\SO\DC2\t\n\+    \\ENQRazor\DLE>\DC2\t\n\+    \\ENQRepro\DLEf\DC2\b\n\+    \\EOTReST\DLEU\DC2\b\n\+    \\EOTRuby\DLE\DLE\DC2\b\n\+    \\EOTRust\DLE(\DC2\a\n\+    \\ETXSAS\DLE=\DC2\b\n\+    \\EOTSCSS\DLE\GS\DC2\a\n\+    \\ETXSML\DLE+\DC2\a\n\+    \\ETXSQL\DLEE\DC2\b\n\+    \\EOTSass\DLE\FS\DC2\t\n\+    \\ENQScala\DLE\ENQ\DC2\n\+    \\n\+    \\ACKScheme\DLE\n\+    \\DC2\SI\n\+    \\vShellScript\DLE@\DC2\v\n\+    \\aSkylark\DLEN\DC2\t\n\+    \\ENQSlang\DLEk\DC2\f\n\+    \\bSolidity\DLE_\DC2\n\+    \\n\+    \\ACKSvelte\DLEj\DC2\t\n\+    \\ENQSwift\DLE\STX\DC2\a\n\+    \\ETXTcl\DLEe\DC2\b\n\+    \\EOTTOML\DLEI\DC2\a\n\+    \\ETXTeX\DLER\DC2\n\+    \\n\+    \\ACKThrift\DLEg\DC2\SO\n\+    \\n\+    \TypeScript\DLE\ETB\DC2\DC3\n\+    \\SITypeScriptReact\DLE^\DC2\v\n\+    \\aVerilog\DLEh\DC2\b\n\+    \\EOTVHDL\DLEi\DC2\SI\n\+    \\vVisualBasic\DLE?\DC2\a\n\+    \\ETXVue\DLE\EM\DC2\v\n\+    \\aWolfram\DLE5\DC2\a\n\+    \\ETXXML\DLE\US\DC2\a\n\+    \\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\158\191\STX\n\+    \\a\DC2\ENQ\n\+    \\NUL\131\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\+    \ source code or software artifact. Complementary information can be merged\n\+    \ together from multiple sources to provide a unified code intelligence\n\+    \ experience.\n\+    \\n\+    \ Programs producing a file of this format is an \"indexer\" and may operate\n\+    \ somewhere on the spectrum between precision, such as indexes produced by\n\+    \ compiler-backed indexers, and heurstics, such as indexes produced by local\n\+    \ syntax-directed analysis for scope rules.\n\+    \\n\+    \\b\n\+    \\SOH\STX\DC2\ETX\f\NUL\r\n\+    \\b\n\+    \\SOH\b\DC2\ETX\SO\NULB\n\+    \\t\n\+    \\STX\b\v\DC2\ETX\SO\NULB\n\+    \\b\n\+    \\SOH\b\DC2\ETX\SI\NUL\"\n\+    \\t\n\+    \\STX\b\n\+    \\DC2\ETX\SI\NUL\"\n\+    \\b\n\+    \\SOH\b\DC2\ETX\DLE\NUL*\n\+    \\t\n\+    \\STX\b\b\DC2\ETX\DLE\NUL*\n\+    \\b\n\+    \\SOH\b\DC2\ETX\DC1\NUL+\n\+    \\t\n\+    \\STX\b\SOH\DC2\ETX\DC1\NUL+\n\+    \\208\ETX\n\+    \\STX\EOT\NUL\DC2\EOT\EM\NUL&\SOH\SUB\195\ETX Index represents a complete SCIP index for a workspace this is rooted at a\n\+    \ single directory. An Index message payload can have a large memory footprint\n\+    \ and it's therefore recommended to emit and consume an Index payload one field\n\+    \ value at a time. To permit streaming consumption of an Index payload, the\n\+    \ `metadata` field must appear at the start of the stream and must only appear\n\+    \ once in the stream. Other field values may appear in any order.\n\+    \\n\+    \\n\+    \\n\+    \\ETX\EOT\NUL\SOH\DC2\ETX\EM\b\r\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX\ESC\STX\n\+    \\n\+    \)\n\+    \\EOT\EOT\NUL\STX\NUL\DC2\ETX\ESC\STX\CAN\SUB\FS Metadata about this index.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX\ESC\v\DC3\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX\ESC\SYN\ETB\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX\GS\STX\n\+    \\n\+    \3\n\+    \\EOT\EOT\NUL\STX\SOH\DC2\ETX\GS\STX\"\SUB& Documents that belong to this index.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX\GS\v\DC3\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX\GS\DC4\GS\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX\GS !\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\STX\EOT\DC2\ETX#\STX\n\+    \\n\+    \\246\ETX\n\+    \\EOT\EOT\NUL\STX\STX\DC2\ETX#\STX2\SUB\233\STX (optional) Symbols that are referenced from this index but are defined in\n\+    \ an external package (a separate `Index` message). Leave this field empty\n\+    \ if you assume the external package will get indexed separately. If the\n\+    \ external package won't get indexed for some reason then you can use this\n\+    \ field to provide hover documentation for those external symbols.\n\+    \\"} IMPORTANT: When adding a new field to `Index` here, add a matching\n\+    \ function in `IndexVisitor` and update `ParseStreaming`.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\STX\ACK\DC2\ETX#\v\FS\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\STX\SOH\DC2\ETX#\GS-\n\+    \\f\n\+    \\ENQ\EOT\NUL\STX\STX\ETX\DC2\ETX#01\n\+    \\n\+    \\n\+    \\STX\EOT\SOH\DC2\EOT(\NUL5\SOH\n\+    \\n\+    \\n\+    \\ETX\EOT\SOH\SOH\DC2\ETX(\b\DLE\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\NUL\ACK\DC2\ETX*\STX\DC1\n\+    \N\n\+    \\EOT\EOT\SOH\STX\NUL\DC2\ETX*\STX\RS\SUBA Which version of this protocol was used to generate this index?\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX*\DC2\EM\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX*\FS\GS\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETX,\STX\n\+    \\n\+    \C\n\+    \\EOT\EOT\SOH\STX\SOH\DC2\ETX,\STX\EM\SUB6 Information about the tool that produced this index.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETX,\v\DC4\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETX,\ETB\CAN\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETX0\STX\b\n\+    \\162\SOH\n\+    \\EOT\EOT\SOH\STX\STX\DC2\ETX0\STX\SUB\SUB\148\SOH URI-encoded absolute path to the root directory of this index. All\n\+    \ documents in this index must appear in a subdirectory of this root\n\+    \ directory.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETX0\t\NAK\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETX0\CAN\EM\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\ETX\ACK\DC2\ETX4\STX\SO\n\+    \\224\SOH\n\+    \\EOT\EOT\SOH\STX\ETX\DC2\ETX4\STX*\SUB\210\SOH Text encoding of the source files on disk that are referenced from\n\+    \ `Document.relative_path`. This value is unrelated to the `Document.text`\n\+    \ field, which is a Protobuf string and hence must be UTF-8 encoded.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\ETX\SOH\DC2\ETX4\SI%\n\+    \\f\n\+    \\ENQ\EOT\SOH\STX\ETX\ETX\DC2\ETX4()\n\+    \\n\+    \\n\+    \\STX\ENQ\NUL\DC2\EOT7\NUL9\SOH\n\+    \\n\+    \\n\+    \\ETX\ENQ\NUL\SOH\DC2\ETX7\ENQ\DC4\n\+    \\f\n\+    \\ENQ\ENQ\NUL\STX\NUL\SOH\DC2\ETX8\STX\FS\n\+    \\v\n\+    \\EOT\ENQ\NUL\STX\NUL\DC2\ETX8\STX!\n\+    \\f\n\+    \\ENQ\ENQ\NUL\STX\NUL\STX\DC2\ETX8\US \n\+    \\n\+    \\n\+    \\STX\ENQ\SOH\DC2\EOT;\NUL?\SOH\n\+    \\n\+    \\n\+    \\ETX\ENQ\SOH\SOH\DC2\ETX;\ENQ\DC1\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\NUL\SOH\DC2\ETX<\STX\EM\n\+    \\v\n\+    \\EOT\ENQ\SOH\STX\NUL\DC2\ETX<\STX\RS\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\NUL\STX\DC2\ETX<\FS\GS\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\SOH\SOH\DC2\ETX=\STX\ACK\n\+    \\v\n\+    \\EOT\ENQ\SOH\STX\SOH\DC2\ETX=\STX\v\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\SOH\STX\DC2\ETX=\t\n\+    \\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\STX\SOH\DC2\ETX>\STX\a\n\+    \\v\n\+    \\EOT\ENQ\SOH\STX\STX\DC2\ETX>\STX\f\n\+    \\f\n\+    \\ENQ\ENQ\SOH\STX\STX\STX\DC2\ETX>\n\+    \\v\n\+    \\n\+    \\n\+    \\STX\EOT\STX\DC2\EOTA\NULH\SOH\n\+    \\n\+    \\n\+    \\ETX\EOT\STX\SOH\DC2\ETXA\b\DLE\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETXC\STX\b\n\+    \<\n\+    \\EOT\EOT\STX\STX\NUL\DC2\ETXC\STX\DC2\SUB/ Name of the indexer that produced this index.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETXC\t\r\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETXC\DLE\DC1\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXE\STX\b\n\+    \?\n\+    \\EOT\EOT\STX\STX\SOH\DC2\ETXE\STX\NAK\SUB2 Version of the indexer that produced this index.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXE\t\DLE\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXE\DC3\DC4\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXG\STX\n\+    \\n\+    \L\n\+    \\EOT\EOT\STX\STX\STX\DC2\ETXG\STX \SUB? Command-line arguments that were used to invoke this indexer.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\STX\ENQ\DC2\ETXG\v\DC1\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXG\DC2\ESC\n\+    \\f\n\+    \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXG\RS\US\n\+    \H\n\+    \\STX\EOT\ETX\DC2\EOTK\NULv\SOH\SUB< Document defines the metadata about a source file on disk.\n\+    \\n\+    \\n\+    \\n\+    \\ETX\EOT\ETX\SOH\DC2\ETXK\b\DLE\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\NUL\ENQ\DC2\ETXP\STX\b\n\+    \\165\STX\n\+    \\EOT\EOT\ETX\STX\NUL\DC2\ETXP\STX\SYN\SUB\151\STX The string ID for the programming language this file is written in.\n\+    \ The `Language` enum contains the names of most common programming languages.\n\+    \ This field is typed as a string to permit any programming language, including\n\+    \ ones that are not specified by the `Language` enum.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\ETXP\t\DC1\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\ETXP\DC4\NAK\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\SOH\ENQ\DC2\ETXZ\STX\b\n\+    \\181\ETX\n\+    \\EOT\EOT\ETX\STX\SOH\DC2\ETXZ\STX\ESC\SUB\167\ETX (Required) Unique path to the text document.\n\+    \\n\+    \ 1. The path must be relative to the directory supplied in the associated\n\+    \    `Metadata.project_root`.\n\+    \ 2. The path must not begin with a leading '/'.\n\+    \ 3. The path must point to a regular file, not a symbolic link.\n\+    \ 4. The path must use '/' as the separator, including on Windows.\n\+    \ 5. The path must be canonical; it cannot include empty components ('//'),\n\+    \    or '.' or '..'.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\ETXZ\t\SYN\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\ETXZ\EM\SUB\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\STX\EOT\DC2\ETX\\\STX\n\+    \\n\+    \4\n\+    \\EOT\EOT\ETX\STX\STX\DC2\ETX\\\STX&\SUB' Occurrences that appear in this file.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\STX\ACK\DC2\ETX\\\v\NAK\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\STX\SOH\DC2\ETX\\\SYN!\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\STX\ETX\DC2\ETX\\$%\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\ETXb\STX\n\+    \\n\+    \\234\SOH\n\+    \\EOT\EOT\ETX\STX\ETX\DC2\ETXb\STX)\SUB\220\SOH Symbols that are \"defined\" within this document.\n\+    \\n\+    \ This should include symbols which technically do not have any definition,\n\+    \ but have a reference and are defined by some other symbol (see\n\+    \ Relationship.is_definition).\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ETX\ACK\DC2\ETXb\v\FS\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\ETXb\GS$\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\ETXb'(\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\ETXi\STX\b\n\+    \\128\ETX\n\+    \\EOT\EOT\ETX\STX\EOT\DC2\ETXi\STX\DC2\SUB\242\STX (optional) Text contents of this document. Indexers are not expected to\n\+    \ include the text by default. It's preferable that clients read the text\n\+    \ contents from the file system by resolving the absolute path from joining\n\+    \ `Index.metadata.project_root` and `Document.relative_path`. This field\n\+    \ can be useful for testing or when working with virtual/in-memory documents.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\ETXi\t\r\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\ETXi\DLE\DC1\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\ETXu\STX\DC2\n\+    \\231\ETX\n\+    \\EOT\EOT\ETX\STX\ENQ\DC2\ETXu\STX)\SUB\217\ETX Specifies the encoding used for source ranges in this Document.\n\+    \\n\+    \ Usually, this will match the type used to index the string type\n\+    \ in the indexer's implementation language in O(1) time.\n\+    \ - For an indexer implemented in JVM/.NET language or JavaScript/TypeScript,\n\+    \   use UTF16CodeUnitOffsetFromLineStart.\n\+    \ - For an indexer implemented in Python,\n\+    \   use UTF32CodeUnitOffsetFromLineStart.\n\+    \ - For an indexer implemented in Go, Rust or C++,\n\+    \   use UTF8ByteOffsetFromLineStart.\n\+    \\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\ETXu\DC3$\n\+    \\f\n\+    \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\ETXu'(\n\+    \Q\n\+    \\STX\ENQ\STX\DC2\ENQy\NUL\145\SOH\SOH\SUBD Encoding used to interpret the 'character' value in source ranges.\n\+    \\n\+    \\n\+    \\n\+    \\ETX\ENQ\STX\SOH\DC2\ETXy\ENQ\NAK\n\+    \\f\n\+    \\ENQ\ENQ\STX\STX\NUL\SOH\DC2\ETX|\STX\GS\n\+    \\147\SOH\n\+    \\EOT\ENQ\STX\STX\NUL\DC2\ETX|\STX\"\SUB\133\SOH Default value. This value should not be used by new SCIP indexers\n\+    \ so that a consumer can process the SCIP index without ambiguity.\n\+    \\n\+    \\f\n\+    \\ENQ\ENQ\STX\STX\NUL\STX\DC2\ETX| !\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\SOH\SOH\DC2\EOT\131\SOH\STX!\n\+    \\247\SOH\n\+    \\EOT\ENQ\STX\STX\SOH\DC2\EOT\131\SOH\STX&\SUB\232\SOH The 'character' value is interpreted as an offset in terms\n\+    \ of UTF-8 code units (i.e. bytes).\n\+    \\n\+    \ Example: For the string \"\240\159\154\128 Woo\" in UTF-8, the bytes are\n\+    \ [240, 159, 154, 128, 32, 87, 111, 111], so the offset for 'W'\n\+    \ would be 5.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\SOH\STX\DC2\EOT\131\SOH$%\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\STX\SOH\DC2\EOT\138\SOH\STX\"\n\+    \\130\STX\n\+    \\EOT\ENQ\STX\STX\STX\DC2\EOT\138\SOH\STX'\SUB\243\SOH The 'character' value is interpreted as an offset in terms\n\+    \ of UTF-16 code units (each is 2 bytes).\n\+    \\n\+    \ Example: For the string \"\240\159\154\128 Woo\", the UTF-16 code units are\n\+    \ ['\\ud83d', '\\ude80', ' ', 'W', 'o', 'o'], so the offset for 'W'\n\+    \ would be 3.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\STX\STX\DC2\EOT\138\SOH%&\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\ETX\SOH\DC2\EOT\144\SOH\STX\"\n\+    \\245\SOH\n\+    \\EOT\ENQ\STX\STX\ETX\DC2\EOT\144\SOH\STX'\SUB\230\SOH The 'character' value is interpreted as an offset in terms\n\+    \ of UTF-32 code units (each is 4 bytes).\n\+    \\n\+    \ Example: For the string \"\240\159\154\128 Woo\", the UTF-32 code units are\n\+    \ ['\240\159\154\128', ' ', 'W', 'o', 'o'], so the offset for 'W' would be 2.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\STX\STX\ETX\STX\DC2\EOT\144\SOH%&\n\+    \\204\DC2\n\+    \\STX\EOT\EOT\DC2\ACK\189\SOH\NUL\193\SOH\SOH\SUB\189\DC2 Symbol is similar to a URI, it identifies a class, method, or a local\n\+    \ variable. `SymbolInformation` contains rich metadata about symbols such as\n\+    \ the docstring.\n\+    \\n\+    \ Symbol has a standardized string representation, which can be used\n\+    \ interchangeably with `Symbol`. The syntax for Symbol is the following:\n\+    \ ```\n\+    \ # (<x>)+ stands for one or more repetitions of <x>\n\+    \ # (<x>)? stands for zero or one occurrence of <x>\n\+    \ <symbol>               ::= <scheme> ' ' <package> ' ' (<descriptor>)+ | 'local ' <local-id>\n\+    \ <package>              ::= <manager> ' ' <package-name> ' ' <version>\n\+    \ <scheme>               ::= any UTF-8, escape spaces with double space. Must not be empty nor start with 'local'\n\+    \ <manager>              ::= any UTF-8, escape spaces with double space. Use the placeholder '.' to indicate an empty value\n\+    \ <package-name>         ::= same as above\n\+    \ <version>              ::= same as above\n\+    \ <descriptor>           ::= <namespace> | <type> | <term> | <method> | <type-parameter> | <parameter> | <meta> | <macro>\n\+    \ <namespace>            ::= <name> '/'\n\+    \ <type>                 ::= <name> '#'\n\+    \ <term>                 ::= <name> '.'\n\+    \ <meta>                 ::= <name> ':'\n\+    \ <macro>                ::= <name> '!'\n\+    \ <method>               ::= <name> '(' (<method-disambiguator>)? ').'\n\+    \ <type-parameter>       ::= '[' <name> ']'\n\+    \ <parameter>            ::= '(' <name> ')'\n\+    \ <name>                 ::= <identifier>\n\+    \ <method-disambiguator> ::= <simple-identifier>\n\+    \ <identifier>           ::= <simple-identifier> | <escaped-identifier>\n\+    \ <simple-identifier>    ::= (<identifier-character>)+\n\+    \ <identifier-character> ::= '_' | '+' | '-' | '$' | ASCII letter or digit\n\+    \ <escaped-identifier>   ::= '`' (<escaped-character>)+ '`', must contain at least one non-<identifier-character>\n\+    \ <escaped-characters>   ::= any UTF-8, escape backticks with double backtick.\n\+    \ <local-id>             ::= <simple-identifier>\n\+    \ ```\n\+    \\n\+    \ The list of descriptors for a symbol should together form a fully\n\+    \ qualified name for the symbol. That is, it should serve as a unique\n\+    \ identifier across the package. Typically, it will include one descriptor\n\+    \ for every node in the AST (along the ancestry path) between the root of\n\+    \ the file and the node corresponding to the symbol.\n\+    \\n\+    \ Local symbols MUST only be used for entities which are local to a Document,\n\+    \ and cannot be accessed from outside the Document.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\EOT\SOH\DC2\EOT\189\SOH\b\SO\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\NUL\ENQ\DC2\EOT\190\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\EOT\STX\NUL\DC2\EOT\190\SOH\STX\DC4\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\190\SOH\t\SI\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\190\SOH\DC2\DC3\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\191\SOH\STX\t\n\+    \\f\n\+    \\EOT\EOT\EOT\STX\SOH\DC2\EOT\191\SOH\STX\SYN\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\191\SOH\n\+    \\DC1\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\191\SOH\DC4\NAK\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\192\SOH\STX\n\+    \\n\+    \\f\n\+    \\EOT\EOT\EOT\STX\STX\DC2\EOT\192\SOH\STX&\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\192\SOH\v\NAK\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\192\SOH\SYN!\n\+    \\r\n\+    \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\192\SOH$%\n\+    \q\n\+    \\STX\EOT\ENQ\DC2\ACK\198\SOH\NUL\202\SOH\SOH\SUBc Unit of packaging and distribution.\n\+    \\n\+    \ NOTE: This corresponds to a module in Go and JVM languages.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\ENQ\SOH\DC2\EOT\198\SOH\b\SI\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\NUL\ENQ\DC2\EOT\199\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\199\SOH\STX\NAK\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\199\SOH\t\DLE\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\199\SOH\DC3\DC4\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\SOH\ENQ\DC2\EOT\200\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\200\SOH\STX\DC2\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\200\SOH\t\r\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\200\SOH\DLE\DC1\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\STX\ENQ\DC2\EOT\201\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\ENQ\STX\STX\DC2\EOT\201\SOH\STX\NAK\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\201\SOH\t\DLE\n\+    \\r\n\+    \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\201\SOH\DC3\DC4\n\+    \\f\n\+    \\STX\EOT\ACK\DC2\ACK\204\SOH\NUL\229\SOH\SOH\n\+    \\v\n\+    \\ETX\EOT\ACK\SOH\DC2\EOT\204\SOH\b\DC2\n\+    \\SO\n\+    \\EOT\EOT\ACK\EOT\NUL\DC2\ACK\205\SOH\STX\223\SOH\ETX\n\+    \\r\n\+    \\ENQ\EOT\ACK\EOT\NUL\SOH\DC2\EOT\205\SOH\a\r\n\+    \\r\n\+    \\ENQ\EOT\ACK\EOT\NUL\ETX\DC2\EOT\206\SOH\EOT\RS\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\ETX\STX\DC2\EOT\206\SOH\EOT\RS\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\NUL\SOH\DC2\EOT\207\SOH\EOT\NAK\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\NUL\DC2\EOT\207\SOH\EOT\SUB\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\NUL\STX\DC2\EOT\207\SOH\CAN\EM\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\SOH\SOH\DC2\EOT\211\SOH\EOT\r\n\+    \}\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\SOH\DC2\EOT\211\SOH\EOT\DC2\SUBm Unit of code abstraction and/or namespacing.\n\+    \\n\+    \ NOTE: This corresponds to a package in Go and JVM languages.\n\+    \\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\SOH\STX\DC2\EOT\211\SOH\DLE\DC1\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\STX\SOH\DC2\EOT\213\SOH\EOT\v\n\+    \(\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\STX\DC2\EOT\213\SOH\EOT$\SUB\CAN Use Namespace instead.\n\+    \\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\STX\STX\DC2\EOT\213\SOH\SO\SI\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\STX\ETX\DC2\EOT\213\SOH\DLE#\n\+    \\DLE\n\+    \\b\EOT\ACK\EOT\NUL\STX\STX\ETX\SOH\DC2\EOT\213\SOH\DC1\"\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ETX\SOH\DC2\EOT\214\SOH\EOT\b\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\ETX\DC2\EOT\214\SOH\EOT\r\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ETX\STX\DC2\EOT\214\SOH\v\f\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\EOT\SOH\DC2\EOT\215\SOH\EOT\b\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\EOT\DC2\EOT\215\SOH\EOT\r\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\EOT\STX\DC2\EOT\215\SOH\v\f\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ENQ\SOH\DC2\EOT\216\SOH\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\ENQ\DC2\EOT\216\SOH\EOT\SI\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ENQ\STX\DC2\EOT\216\SOH\r\SO\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ACK\SOH\DC2\EOT\217\SOH\EOT\DC1\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\ACK\DC2\EOT\217\SOH\EOT\SYN\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\ACK\STX\DC2\EOT\217\SOH\DC4\NAK\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\a\SOH\DC2\EOT\218\SOH\EOT\r\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\a\DC2\EOT\218\SOH\EOT\DC2\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\a\STX\DC2\EOT\218\SOH\DLE\DC1\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\b\SOH\DC2\EOT\220\SOH\EOT\b\n\+    \.\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\b\DC2\EOT\220\SOH\EOT\r\SUB\RS Can be used for any purpose.\n\+    \\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\b\STX\DC2\EOT\220\SOH\v\f\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\t\SOH\DC2\EOT\221\SOH\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\t\DC2\EOT\221\SOH\EOT\SO\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\t\STX\DC2\EOT\221\SOH\f\r\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\n\+    \\SOH\DC2\EOT\222\SOH\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\ACK\EOT\NUL\STX\n\+    \\DC2\EOT\222\SOH\EOT\SO\n\+    \\SI\n\+    \\a\EOT\ACK\EOT\NUL\STX\n\+    \\STX\DC2\EOT\222\SOH\f\r\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\224\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\ACK\STX\NUL\DC2\EOT\224\SOH\STX\DC2\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\224\SOH\t\r\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\224\SOH\DLE\DC1\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\225\SOH\STX\b\n\+    \\f\n\+    \\EOT\EOT\ACK\STX\SOH\DC2\EOT\225\SOH\STX\ESC\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\225\SOH\t\SYN\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\225\SOH\EM\SUB\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\STX\ACK\DC2\EOT\226\SOH\STX\b\n\+    \\130\SOH\n\+    \\EOT\EOT\ACK\STX\STX\DC2\EOT\226\SOH\STX\DC4\"t NOTE: If you add new fields here, make sure to update the prepareSlot()\n\+    \ function responsible for parsing symbols.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\STX\SOH\DC2\EOT\226\SOH\t\SI\n\+    \\r\n\+    \\ENQ\EOT\ACK\STX\STX\ETX\DC2\EOT\226\SOH\DC2\DC3\n\+    \\161\STX\n\+    \\STX\EOT\a\DC2\ACK\235\SOH\NUL\248\SOH\SOH\SUB\146\STX Signature represents the signature of a symbol as it's displayed in API\n\+    \ documentation or hover tooltips. It uses a subset of Document's fields with\n\+    \ the same field numbers for wire compatibility with older indexes that encoded\n\+    \ signatures using the Document message type.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\a\SOH\DC2\EOT\235\SOH\b\DC1\n\+    \\r\n\+    \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\237\SOH\STX\b\n\+    \K\n\+    \\EOT\EOT\a\STX\NUL\DC2\EOT\237\SOH\STX\SYN\SUB= The language of the signature, e.g. \"java\", \"go\", \"python\".\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\237\SOH\t\DC1\n\+    \\r\n\+    \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\237\SOH\DC4\NAK\n\+    \\r\n\+    \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\239\SOH\STX\b\n\+    \Q\n\+    \\EOT\EOT\a\STX\SOH\DC2\EOT\239\SOH\STX\DC2\SUBC The text content of the signature, e.g. \"void add(int a, int b)\".\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\239\SOH\t\r\n\+    \\r\n\+    \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\239\SOH\DLE\DC1\n\+    \\r\n\+    \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\243\SOH\STX\n\+    \\n\+    \\187\SOH\n\+    \\EOT\EOT\a\STX\STX\DC2\EOT\243\SOH\STX&\SUB\172\SOH (optional) Occurrences within the signature text that reference other\n\+    \ symbols, enabling hyperlinking of types in the signature. Ranges are\n\+    \ relative to the `text` field.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\a\STX\STX\ACK\DC2\EOT\243\SOH\v\NAK\n\+    \\r\n\+    \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\243\SOH\SYN!\n\+    \\r\n\+    \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\243\SOH$%\n\+    \\151\SOH\n\+    \\ETX\EOT\a\t\DC2\EOT\247\SOH\STX\DC3\SUB\137\SOH Reserved field numbers from the Document message to prevent accidental\n\+    \ reuse, which would break wire compatibility with older indexes.\n\+    \\n\+    \\f\n\+    \\EOT\EOT\a\t\NUL\DC2\EOT\247\SOH\v\f\n\+    \\r\n\+    \\ENQ\EOT\a\t\NUL\SOH\DC2\EOT\247\SOH\v\f\n\+    \\r\n\+    \\ENQ\EOT\a\t\NUL\STX\DC2\EOT\247\SOH\v\f\n\+    \\f\n\+    \\EOT\EOT\a\t\SOH\DC2\EOT\247\SOH\SO\SI\n\+    \\r\n\+    \\ENQ\EOT\a\t\SOH\SOH\DC2\EOT\247\SOH\SO\SI\n\+    \\r\n\+    \\ENQ\EOT\a\t\SOH\STX\DC2\EOT\247\SOH\SO\SI\n\+    \\f\n\+    \\EOT\EOT\a\t\STX\DC2\EOT\247\SOH\DC1\DC2\n\+    \\r\n\+    \\ENQ\EOT\a\t\STX\SOH\DC2\EOT\247\SOH\DC1\DC2\n\+    \\r\n\+    \\ENQ\EOT\a\t\STX\STX\DC2\EOT\247\SOH\DC1\DC2\n\+    \\131\SOH\n\+    \\STX\EOT\b\DC2\ACK\252\SOH\NUL\206\ETX\SOH\SUBu SymbolInformation defines metadata about a symbol, such as the symbol's\n\+    \ docstring or what package it's defined it.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\b\SOH\DC2\EOT\252\SOH\b\EM\n\+    \\r\n\+    \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\255\SOH\STX\b\n\+    \\160\SOH\n\+    \\EOT\EOT\b\STX\NUL\DC2\EOT\255\SOH\STX\DC4\SUB\145\SOH Identifier of this symbol, which can be referenced from `Occurence.symbol`.\n\+    \ The string must be formatted according to the grammar in `Symbol`.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\255\SOH\t\SI\n\+    \\r\n\+    \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\255\SOH\DC2\DC3\n\+    \\r\n\+    \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\134\STX\STX\n\+    \\n\+    \\180\ETX\n\+    \\EOT\EOT\b\STX\SOH\DC2\EOT\134\STX\STX$\SUB\165\ETX (optional, but strongly recommended) The markdown-formatted documentation\n\+    \ for this symbol. Use `SymbolInformation.signature_documentation` to\n\+    \ document the method/class/type signature of this symbol.\n\+    \ Due to historical reasons, indexers may include signature documentation in\n\+    \ this field by rendering markdown code blocks. New indexers should only\n\+    \ include non-code documentation in this field, for example docstrings.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\134\STX\v\DC1\n\+    \\r\n\+    \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\134\STX\DC2\US\n\+    \\r\n\+    \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\134\STX\"#\n\+    \\r\n\+    \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\136\STX\STX\n\+    \\n\+    \^\n\+    \\EOT\EOT\b\STX\STX\DC2\EOT\136\STX\STX*\SUBP (optional) Relationships to other symbols (e.g., implements, type definition).\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\STX\ACK\DC2\EOT\136\STX\v\ETB\n\+    \\r\n\+    \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\136\STX\CAN%\n\+    \\r\n\+    \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\136\STX()\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ETX\ACK\DC2\EOT\140\STX\STX\ACK\n\+    \\164\SOH\n\+    \\EOT\EOT\b\STX\ETX\DC2\EOT\140\STX\STX\DLE\SUB\149\SOH The kind of this symbol. Use this field instead of\n\+    \ `SymbolDescriptor.Suffix` to determine whether something is, for example, a\n\+    \ class or a method.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\140\STX\a\v\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\140\STX\SO\SI\n\+    \\245\ENQ\n\+    \\EOT\EOT\b\EOT\NUL\DC2\ACK\155\STX\STX\170\ETX\ETX\SUB\228\ENQ (optional) Kind represents the fine-grained category of a symbol, suitable for presenting\n\+    \ information about the symbol's meaning in the language.\n\+    \\n\+    \ For example:\n\+    \ - A Java method would have the kind `Method` while a Go function would\n\+    \   have the kind `Function`, even if the symbols for these use the same\n\+    \   syntax for the descriptor `SymbolDescriptor.Suffix.Method`.\n\+    \ - A Go struct has the symbol kind `Struct` while a Java class has\n\+    \   the symbol kind `Class` even if they both have the same descriptor:\n\+    \   `SymbolDescriptor.Suffix.Type`.\n\+    \\n\+    \ Since Kind is more fine-grained than Suffix:\n\+    \ - If two symbols have the same Kind, they should share the same Suffix.\n\+    \ - If two symbols have different Suffixes, they should have different Kinds.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\EOT\NUL\SOH\DC2\EOT\155\STX\a\v\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\NUL\SOH\DC2\EOT\156\STX\EOT\DC3\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\NUL\DC2\EOT\156\STX\EOT\CAN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\NUL\STX\DC2\EOT\156\STX\SYN\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SOH\SOH\DC2\EOT\158\STX\EOT\DC2\n\+    \R\n\+    \\ACK\EOT\b\EOT\NUL\STX\SOH\DC2\EOT\158\STX\EOT\CAN\SUBB A method which may or may not have a body. For Java, Kotlin etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SOH\STX\DC2\EOT\158\STX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\STX\SOH\DC2\EOT\160\STX\EOT\f\n\+    \*\n\+    \\ACK\EOT\b\EOT\NUL\STX\STX\DC2\EOT\160\STX\EOT\DC2\SUB\SUB For Ruby's attr_accessor\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\STX\STX\DC2\EOT\160\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ETX\SOH\DC2\EOT\161\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\ETX\DC2\EOT\161\STX\EOT\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ETX\STX\DC2\EOT\161\STX\f\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\EOT\SOH\DC2\EOT\163\STX\EOT\r\n\+    \\ESC\n\+    \\ACK\EOT\b\EOT\NUL\STX\EOT\DC2\EOT\163\STX\EOT\DC2\SUB\v For Alloy\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\EOT\STX\DC2\EOT\163\STX\DLE\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ENQ\SOH\DC2\EOT\164\STX\EOT\DC2\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\ENQ\DC2\EOT\164\STX\EOT\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ENQ\STX\DC2\EOT\164\STX\NAK\SYN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ACK\SOH\DC2\EOT\166\STX\EOT\r\n\+    \\EM\n\+    \\ACK\EOT\b\EOT\NUL\STX\ACK\DC2\EOT\166\STX\EOT\DC2\SUB\t For C++\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ACK\STX\DC2\EOT\166\STX\DLE\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\a\SOH\DC2\EOT\168\STX\EOT\t\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX\a\DC2\EOT\168\STX\EOT\SO\SUB\n\+    \ For Lean\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\a\STX\DC2\EOT\168\STX\f\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\b\SOH\DC2\EOT\169\STX\EOT\v\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\b\DC2\EOT\169\STX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\b\STX\DC2\EOT\169\STX\SO\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\t\SOH\DC2\EOT\170\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\t\DC2\EOT\170\STX\EOT\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\t\STX\DC2\EOT\170\STX\f\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\n\+    \\SOH\DC2\EOT\172\STX\EOT\v\n\+    \\EM\n\+    \\ACK\EOT\b\EOT\NUL\STX\n\+    \\DC2\EOT\172\STX\EOT\DC1\SUB\t For C++\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\n\+    \\STX\DC2\EOT\172\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\v\SOH\DC2\EOT\173\STX\EOT\f\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\v\DC2\EOT\173\STX\EOT\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\v\STX\DC2\EOT\173\STX\SI\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\f\SOH\DC2\EOT\174\STX\EOT\SI\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\f\DC2\EOT\174\STX\EOT\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\f\STX\DC2\EOT\174\STX\DC2\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\r\SOH\DC2\EOT\176\STX\EOT\f\n\+    \\RS\n\+    \\ACK\EOT\b\EOT\NUL\STX\r\DC2\EOT\176\STX\EOT\DC2\SUB\SO For Solidity\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\r\STX\DC2\EOT\176\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SO\SOH\DC2\EOT\178\STX\EOT\SO\n\+    \\GS\n\+    \\ACK\EOT\b\EOT\NUL\STX\SO\DC2\EOT\178\STX\EOT\DC4\SUB\r For Haskell\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SO\STX\DC2\EOT\178\STX\DC1\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SI\SOH\DC2\EOT\180\STX\EOT\f\n\+    \\US\n\+    \\ACK\EOT\b\EOT\NUL\STX\SI\DC2\EOT\180\STX\EOT\DC2\SUB\SI For C# and F#\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SI\STX\DC2\EOT\180\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DLE\SOH\DC2\EOT\181\STX\EOT\b\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\DLE\DC2\EOT\181\STX\EOT\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DLE\STX\DC2\EOT\181\STX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC1\SOH\DC2\EOT\182\STX\EOT\SO\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\DC1\DC2\EOT\182\STX\EOT\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC1\STX\DC2\EOT\182\STX\DC1\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC2\SOH\DC2\EOT\183\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\DC2\DC2\EOT\183\STX\EOT\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC2\STX\DC2\EOT\183\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC3\SOH\DC2\EOT\184\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\DC3\DC2\EOT\184\STX\EOT\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC3\STX\DC2\EOT\184\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC4\SOH\DC2\EOT\186\STX\EOT\r\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX\DC4\DC2\EOT\186\STX\EOT\DC3\SUB\n\+    \ For Dart\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\DC4\STX\DC2\EOT\186\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\NAK\SOH\DC2\EOT\188\STX\EOT\b\n\+    \\ESC\n\+    \\ACK\EOT\b\EOT\NUL\STX\NAK\DC2\EOT\188\STX\EOT\SO\SUB\v For Alloy\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\NAK\STX\DC2\EOT\188\STX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SYN\SOH\DC2\EOT\189\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\SYN\DC2\EOT\189\STX\EOT\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SYN\STX\DC2\EOT\189\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ETB\SOH\DC2\EOT\190\STX\EOT\b\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\ETB\DC2\EOT\190\STX\EOT\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ETB\STX\DC2\EOT\190\STX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\CAN\SOH\DC2\EOT\191\STX\EOT\f\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\CAN\DC2\EOT\191\STX\EOT\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\CAN\STX\DC2\EOT\191\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\EM\SOH\DC2\EOT\193\STX\EOT\n\+    \\n\+    \;\n\+    \\ACK\EOT\b\EOT\NUL\STX\EM\DC2\EOT\193\STX\EOT\DLE\SUB+ For 'get' in Swift, 'attr_reader' in Ruby\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\EM\STX\DC2\EOT\193\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SUB\SOH\DC2\EOT\195\STX\EOT\v\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX\SUB\DC2\EOT\195\STX\EOT\DC1\SUB\n\+    \ For Raku\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\SUB\STX\DC2\EOT\195\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ESC\SOH\DC2\EOT\197\STX\EOT\f\n\+    \)\n\+    \\ACK\EOT\b\EOT\NUL\STX\ESC\DC2\EOT\197\STX\EOT\DC2\SUB\EM For Purescript and Lean\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\ESC\STX\DC2\EOT\197\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\FS\SOH\DC2\EOT\198\STX\EOT\r\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\FS\DC2\EOT\198\STX\EOT\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\FS\STX\DC2\EOT\198\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\GS\SOH\DC2\EOT\199\STX\EOT\a\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\GS\DC2\EOT\199\STX\EOT\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\GS\STX\DC2\EOT\199\STX\n\+    \\f\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\RS\SOH\DC2\EOT\201\STX\EOT\b\n\+    \\FS\n\+    \\ACK\EOT\b\EOT\NUL\STX\RS\DC2\EOT\201\STX\EOT\SO\SUB\f For Racket\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\RS\STX\DC2\EOT\201\STX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\US\SOH\DC2\EOT\203\STX\EOT\t\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX\US\DC2\EOT\203\STX\EOT\SI\SUB\n\+    \ For Lean\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\US\STX\DC2\EOT\203\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX \SOH\DC2\EOT\205\STX\EOT\v\n\+    \\RS\n\+    \\ACK\EOT\b\EOT\NUL\STX \DC2\EOT\205\STX\EOT\DC1\SUB\SO For solidity\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX \STX\DC2\EOT\205\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX!\SOH\DC2\EOT\206\STX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX!\DC2\EOT\206\STX\EOT\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX!\STX\DC2\EOT\206\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\"\SOH\DC2\EOT\207\STX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX\"\DC2\EOT\207\STX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX\"\STX\DC2\EOT\207\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX#\SOH\DC2\EOT\209\STX\EOT\SI\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX#\DC2\EOT\209\STX\EOT\NAK\SUB\n\+    \ For Ruby\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX#\STX\DC2\EOT\209\STX\DC2\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX$\SOH\DC2\EOT\212\STX\EOT\DC2\n\+    \\148\SOH\n\+    \\ACK\EOT\b\EOT\NUL\STX$\DC2\EOT\212\STX\EOT\CAN\SUB\131\SOH Analogous to 'ThisParameter' and 'SelfParameter', but for languages\n\+    \ like Go where the receiver doesn't have a conventional name.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX$\STX\DC2\EOT\212\STX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX%\SOH\DC2\EOT\214\STX\EOT\ETB\n\+    \8\n\+    \\ACK\EOT\b\EOT\NUL\STX%\DC2\EOT\214\STX\EOT\GS\SUB( Analogous to 'AbstractMethod', for Go.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX%\STX\DC2\EOT\214\STX\SUB\FS\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX&\SOH\DC2\EOT\216\STX\EOT\v\n\+    \\RS\n\+    \\ACK\EOT\b\EOT\NUL\STX&\DC2\EOT\216\STX\EOT\DC1\SUB\SO For Protobuf\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX&\STX\DC2\EOT\216\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX'\SOH\DC2\EOT\218\STX\EOT\t\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX'\DC2\EOT\218\STX\EOT\SI\SUB\n\+    \ For Dart\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX'\STX\DC2\EOT\218\STX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX(\SOH\DC2\EOT\220\STX\EOT\f\n\+    \\RS\n\+    \\ACK\EOT\b\EOT\NUL\STX(\DC2\EOT\220\STX\EOT\DC2\SUB\SO For Solidity\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX(\STX\DC2\EOT\220\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX)\SOH\DC2\EOT\221\STX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX)\DC2\EOT\221\STX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX)\STX\DC2\EOT\221\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX*\SOH\DC2\EOT\222\STX\EOT\r\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX*\DC2\EOT\222\STX\EOT\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX*\STX\DC2\EOT\222\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX+\SOH\DC2\EOT\223\STX\EOT\b\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX+\DC2\EOT\223\STX\EOT\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX+\STX\DC2\EOT\223\STX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX,\SOH\DC2\EOT\224\STX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX,\DC2\EOT\224\STX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX,\STX\DC2\EOT\224\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX-\SOH\DC2\EOT\225\STX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX-\DC2\EOT\225\STX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX-\STX\DC2\EOT\225\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX.\SOH\DC2\EOT\226\STX\EOT\f\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX.\DC2\EOT\226\STX\EOT\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX.\STX\DC2\EOT\226\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX/\SOH\DC2\EOT\227\STX\EOT\v\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX/\DC2\EOT\227\STX\EOT\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX/\STX\DC2\EOT\227\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX0\SOH\DC2\EOT\228\STX\EOT\DC1\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX0\DC2\EOT\228\STX\EOT\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX0\STX\DC2\EOT\228\STX\DC4\SYN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX1\SOH\DC2\EOT\229\STX\EOT\r\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX1\DC2\EOT\229\STX\EOT\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX1\STX\DC2\EOT\229\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX2\SOH\DC2\EOT\230\STX\EOT\DC2\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX2\DC2\EOT\230\STX\EOT\CAN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX2\STX\DC2\EOT\230\STX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX3\SOH\DC2\EOT\232\STX\EOT\v\n\+    \/\n\+    \\ACK\EOT\b\EOT\NUL\STX3\DC2\EOT\232\STX\EOT\DC1\SUB\US For Haskell's PatternSynonyms\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX3\STX\DC2\EOT\232\STX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX4\SOH\DC2\EOT\234\STX\EOT\r\n\+    \\ESC\n\+    \\ACK\EOT\b\EOT\NUL\STX4\DC2\EOT\234\STX\EOT\DC3\SUB\v For Alloy\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX4\STX\DC2\EOT\234\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX5\SOH\DC2\EOT\235\STX\EOT\f\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STX5\DC2\EOT\235\STX\EOT\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX5\STX\DC2\EOT\235\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX6\SOH\DC2\EOT\237\STX\EOT\f\n\+    \Q\n\+    \\ACK\EOT\b\EOT\NUL\STX6\DC2\EOT\237\STX\EOT\DC2\SUBA Analogous to 'Trait' and 'TypeClass', for Swift and Objective-C\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX6\STX\DC2\EOT\237\STX\SI\DC1\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX7\SOH\DC2\EOT\239\STX\EOT\DC2\n\+    \K\n\+    \\ACK\EOT\b\EOT\NUL\STX7\DC2\EOT\239\STX\EOT\CAN\SUB; Analogous to 'AbstractMethod', for Swift and Objective-C.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX7\STX\DC2\EOT\239\STX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX8\SOH\DC2\EOT\241\STX\EOT\NAK\n\+    \9\n\+    \\ACK\EOT\b\EOT\NUL\STX8\DC2\EOT\241\STX\EOT\ESC\SUB) Analogous to 'AbstractMethod', for C++.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX8\STX\DC2\EOT\241\STX\CAN\SUB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX9\SOH\DC2\EOT\243\STX\EOT\SI\n\+    \\GS\n\+    \\ACK\EOT\b\EOT\NUL\STX9\DC2\EOT\243\STX\EOT\NAK\SUB\r For Haskell\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX9\STX\DC2\EOT\243\STX\DC2\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX:\SOH\DC2\EOT\245\STX\EOT\DC1\n\+    \4\n\+    \\ACK\EOT\b\EOT\NUL\STX:\DC2\EOT\245\STX\EOT\ETB\SUB$ 'self' in Python, Rust, Swift etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX:\STX\DC2\EOT\245\STX\DC4\SYN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX;\SOH\DC2\EOT\247\STX\EOT\n\+    \\n\+    \;\n\+    \\ACK\EOT\b\EOT\NUL\STX;\DC2\EOT\247\STX\EOT\DLE\SUB+ For 'set' in Swift, 'attr_writer' in Ruby\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX;\STX\DC2\EOT\247\STX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX<\SOH\DC2\EOT\249\STX\EOT\r\n\+    \3\n\+    \\ACK\EOT\b\EOT\NUL\STX<\DC2\EOT\249\STX\EOT\DC3\SUB# For Alloy, analogous to 'Struct'.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX<\STX\DC2\EOT\249\STX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX=\SOH\DC2\EOT\251\STX\EOT\DC2\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STX=\DC2\EOT\251\STX\EOT\CAN\SUB\n\+    \ For Ruby\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX=\STX\DC2\EOT\251\STX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX>\SOH\DC2\EOT\253\STX\EOT\DC3\n\+    \8\n\+    \\ACK\EOT\b\EOT\NUL\STX>\DC2\EOT\253\STX\EOT\EM\SUB( Analogous to 'StaticMethod', for Ruby.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX>\STX\DC2\EOT\253\STX\SYN\CAN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX?\SOH\DC2\EOT\255\STX\EOT\DC4\n\+    \5\n\+    \\ACK\EOT\b\EOT\NUL\STX?\DC2\EOT\255\STX\EOT\SUB\SUB% Analogous to 'StaticField', for C++\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX?\STX\DC2\EOT\255\STX\ETB\EM\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX@\SOH\DC2\EOT\129\ETX\EOT\SI\n\+    \\CAN\n\+    \\ACK\EOT\b\EOT\NUL\STX@\DC2\EOT\129\ETX\EOT\NAK\SUB\b For C#\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STX@\STX\DC2\EOT\129\ETX\DC2\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXA\SOH\DC2\EOT\131\ETX\EOT\SI\n\+    \\CAN\n\+    \\ACK\EOT\b\EOT\NUL\STXA\DC2\EOT\131\ETX\EOT\NAK\SUB\b For C#\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXA\STX\DC2\EOT\131\ETX\DC2\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXB\SOH\DC2\EOT\133\ETX\EOT\DLE\n\+    \(\n\+    \\ACK\EOT\b\EOT\NUL\STXB\DC2\EOT\133\ETX\EOT\SYN\SUB\CAN For Java, C#, C++ etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXB\STX\DC2\EOT\133\ETX\DC3\NAK\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXC\SOH\DC2\EOT\135\ETX\EOT\DC2\n\+    \)\n\+    \\ACK\EOT\b\EOT\NUL\STXC\DC2\EOT\135\ETX\EOT\CAN\SUB\EM For C#, TypeScript etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXC\STX\DC2\EOT\135\ETX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXD\SOH\DC2\EOT\137\ETX\EOT\DC2\n\+    \\FS\n\+    \\ACK\EOT\b\EOT\NUL\STXD\DC2\EOT\137\ETX\EOT\CAN\SUB\f For C, C++\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXD\STX\DC2\EOT\137\ETX\NAK\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXE\SOH\DC2\EOT\138\ETX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STXE\DC2\EOT\138\ETX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXE\STX\DC2\EOT\138\ETX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXF\SOH\DC2\EOT\139\ETX\EOT\n\+    \\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STXF\DC2\EOT\139\ETX\EOT\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXF\STX\DC2\EOT\139\ETX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXG\SOH\DC2\EOT\141\ETX\EOT\r\n\+    \\ESC\n\+    \\ACK\EOT\b\EOT\NUL\STXG\DC2\EOT\141\ETX\EOT\DC3\SUB\v For Swift\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXG\STX\DC2\EOT\141\ETX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXH\SOH\DC2\EOT\143\ETX\EOT\n\+    \\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STXH\DC2\EOT\143\ETX\EOT\DLE\SUB\n\+    \ For Lean\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXH\STX\DC2\EOT\143\ETX\r\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXI\SOH\DC2\EOT\145\ETX\EOT\v\n\+    \\SUB\n\+    \\ACK\EOT\b\EOT\NUL\STXI\DC2\EOT\145\ETX\EOT\DC1\SUB\n\+    \ For Lean\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXI\STX\DC2\EOT\145\ETX\SO\DLE\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXJ\SOH\DC2\EOT\148\ETX\EOT\DC1\n\+    \U\n\+    \\ACK\EOT\b\EOT\NUL\STXJ\DC2\EOT\148\ETX\EOT\ETB\SUBE Method receiver for languages\n\+    \ 'this' in JavaScript, C++, Java etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXJ\STX\DC2\EOT\148\ETX\DC4\SYN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXK\SOH\DC2\EOT\150\ETX\EOT\t\n\+    \O\n\+    \\ACK\EOT\b\EOT\NUL\STXK\DC2\EOT\150\ETX\EOT\SI\SUB? Analogous to 'Protocol' and 'TypeClass', for Rust, Scala etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXK\STX\DC2\EOT\150\ETX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXL\SOH\DC2\EOT\152\ETX\EOT\SI\n\+    \E\n\+    \\ACK\EOT\b\EOT\NUL\STXL\DC2\EOT\152\ETX\EOT\NAK\SUB5 Analogous to 'AbstractMethod', for Rust, Scala etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXL\STX\DC2\EOT\152\ETX\DC2\DC4\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXM\SOH\DC2\EOT\155\ETX\EOT\b\n\+    \\137\SOH\n\+    \\ACK\EOT\b\EOT\NUL\STXM\DC2\EOT\155\ETX\EOT\SO\SUBy Data type definition for languages like OCaml which use `type`\n\+    \ rather than separate keywords like `struct` and `enum`.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXM\STX\DC2\EOT\155\ETX\v\r\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXN\SOH\DC2\EOT\156\ETX\EOT\r\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STXN\DC2\EOT\156\ETX\EOT\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXN\STX\DC2\EOT\156\ETX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXO\SOH\DC2\EOT\158\ETX\EOT\r\n\+    \S\n\+    \\ACK\EOT\b\EOT\NUL\STXO\DC2\EOT\158\ETX\EOT\DC3\SUBC Analogous to 'Trait' and 'Protocol', for Haskell, Purescript etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXO\STX\DC2\EOT\158\ETX\DLE\DC2\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXP\SOH\DC2\EOT\160\ETX\EOT\DC3\n\+    \M\n\+    \\ACK\EOT\b\EOT\NUL\STXP\DC2\EOT\160\ETX\EOT\EM\SUB= Analogous to 'AbstractMethod', for Haskell, Purescript etc.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXP\STX\DC2\EOT\160\ETX\SYN\CAN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXQ\SOH\DC2\EOT\162\ETX\EOT\SO\n\+    \\GS\n\+    \\ACK\EOT\b\EOT\NUL\STXQ\DC2\EOT\162\ETX\EOT\DC4\SUB\r For Haskell\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXQ\STX\DC2\EOT\162\ETX\DC1\DC3\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXR\SOH\DC2\EOT\163\ETX\EOT\DC1\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STXR\DC2\EOT\163\ETX\EOT\ETB\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXR\STX\DC2\EOT\163\ETX\DC4\SYN\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXS\SOH\DC2\EOT\165\ETX\EOT\t\n\+    \(\n\+    \\ACK\EOT\b\EOT\NUL\STXS\DC2\EOT\165\ETX\EOT\SI\SUB\CAN For C, C++, Capn Proto\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXS\STX\DC2\EOT\165\ETX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXT\SOH\DC2\EOT\166\ETX\EOT\t\n\+    \\SO\n\+    \\ACK\EOT\b\EOT\NUL\STXT\DC2\EOT\166\ETX\EOT\SI\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXT\STX\DC2\EOT\166\ETX\f\SO\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXU\SOH\DC2\EOT\167\ETX\EOT\f\n\+    \[\n\+    \\ACK\EOT\b\EOT\NUL\STXU\DC2\EOT\167\ETX\EOT\DC2\"K Next = 87;\n\+    \ Feel free to open a PR proposing new language-specific kinds.\n\+    \\n\+    \\SI\n\+    \\a\EOT\b\EOT\NUL\STXU\STX\DC2\EOT\167\ETX\SI\DC1\n\+    \\r\n\+    \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\180\ETX\STX\b\n\+    \\243\ETX\n\+    \\EOT\EOT\b\STX\EOT\DC2\EOT\180\ETX\STX\SUB\SUB\228\ETX (optional) The name of this symbol as it should be displayed to the user.\n\+    \ For example, the symbol \"com/example/MyClass#myMethod(+1).\" should have the\n\+    \ display name \"myMethod\". The `symbol` field is not a reliable source of\n\+    \ the display name for several reasons:\n\+    \\n\+    \ - Local symbols don't encode the name.\n\+    \ - Some languages have case-insensitive names, so the symbol is all-lowercase.\n\+    \ - The symbol may encode names with special characters that should not be\n\+    \   displayed to the user.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\180\ETX\t\NAK\n\+    \\r\n\+    \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\180\ETX\CAN\EM\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ENQ\ACK\DC2\EOT\187\ETX\STX\v\n\+    \\159\ETX\n\+    \\EOT\EOT\b\STX\ENQ\DC2\EOT\187\ETX\STX(\SUB\144\ETX (optional) The signature of this symbol as it's displayed in API\n\+    \ documentation or in hover tooltips. For example, a Java method that adds\n\+    \ two numbers would have `Signature.language = \"java\"` and\n\+    \ `Signature.text = \"void add(int a, int b)\"`. The `language` and `text`\n\+    \ fields are required while `occurrences` can be optionally included to\n\+    \ support hyperlinking referenced symbols in the signature.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\187\ETX\f#\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\187\ETX&'\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ACK\ENQ\DC2\EOT\205\ETX\STX\b\n\+    \\201\b\n\+    \\EOT\EOT\b\STX\ACK\DC2\EOT\205\ETX\STX\RS\SUB\186\b (optional) The enclosing symbol if this is a local symbol.  For non-local\n\+    \ symbols, the enclosing symbol should be parsed from the `symbol` field\n\+    \ using the `Descriptor` grammar.\n\+    \\n\+    \ The primary use-case for this field is to allow local symbol to be displayed\n\+    \ in a symbol hierarchy for API documentation. It's OK to leave this field\n\+    \ empty for local variables since local variables usually don't belong in API\n\+    \ documentation. However, in the situation that you wish to include a local\n\+    \ symbol in the hierarchy, then you can use `enclosing_symbol` to locate the\n\+    \ \"parent\" or \"owner\" of this local symbol. For example, a Java indexer may\n\+    \ choose to use local symbols for private class fields while providing an\n\+    \ `enclosing_symbol` to reference the enclosing class to allow the field to\n\+    \ be part of the class documentation hierarchy. From the perspective of an\n\+    \ author of an indexer, the decision to use a local symbol or global symbol\n\+    \ should exclusively be determined whether the local symbol is accessible\n\+    \ outside the document, not by the capability to find the enclosing\n\+    \ symbol.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ACK\SOH\DC2\EOT\205\ETX\t\EM\n\+    \\r\n\+    \\ENQ\EOT\b\STX\ACK\ETX\DC2\EOT\205\ETX\FS\GS\n\+    \\f\n\+    \\STX\EOT\t\DC2\ACK\208\ETX\NUL\132\EOT\SOH\n\+    \\v\n\+    \\ETX\EOT\t\SOH\DC2\EOT\208\ETX\b\DC4\n\+    \\r\n\+    \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\209\ETX\STX\b\n\+    \\f\n\+    \\EOT\EOT\t\STX\NUL\DC2\EOT\209\ETX\STX\DC4\n\+    \\r\n\+    \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\209\ETX\t\SI\n\+    \\r\n\+    \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\209\ETX\DC2\DC3\n\+    \\r\n\+    \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\234\ETX\STX\ACK\n\+    \\222\b\n\+    \\EOT\EOT\t\STX\SOH\DC2\EOT\234\ETX\STX\CAN\SUB\207\b When resolving \"Find references\", this field documents what other symbols\n\+    \ should be included together with this symbol. For example, consider the\n\+    \ following TypeScript code that defines two symbols `Animal#sound()` and\n\+    \ `Dog#sound()`:\n\+    \ ```ts\n\+    \ interface Animal {\n\+    \           ^^^^^^ definition Animal#\n\+    \   sound(): string\n\+    \   ^^^^^ definition Animal#sound()\n\+    \ }\n\+    \ class Dog implements Animal {\n\+    \       ^^^ definition Dog#, relationships = [{symbol: \"Animal#\", is_implementation: true}]\n\+    \   public sound(): string { return \"woof\" }\n\+    \          ^^^^^ definition Dog#sound(), references_symbols = Animal#sound(), relationships = [{symbol: \"Animal#sound()\", is_implementation:true, is_reference: true}]\n\+    \ }\n\+    \ const animal: Animal = new Dog()\n\+    \               ^^^^^^ reference Animal#\n\+    \ console.log(animal.sound())\n\+    \                    ^^^^^ reference Animal#sound()\n\+    \ ```\n\+    \ Doing \"Find references\" on the symbol `Animal#sound()` should return\n\+    \ references to the `Dog#sound()` method as well. Vice-versa, doing \"Find\n\+    \ references\" on the `Dog#sound()` method should include references to the\n\+    \ `Animal#sound()` method as well.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\234\ETX\a\DC3\n\+    \\r\n\+    \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\234\ETX\SYN\ETB\n\+    \\r\n\+    \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\243\ETX\STX\ACK\n\+    \\238\ETX\n\+    \\EOT\EOT\t\STX\STX\DC2\EOT\243\ETX\STX\GS\SUB\223\ETX Similar to `is_reference` but for \"Find implementations\".\n\+    \ It's common for `is_implementation` and `is_reference` to both be true but\n\+    \ it's not always the case.\n\+    \ In the TypeScript example above, observe that `Dog#` has an\n\+    \ `is_implementation` relationship with `\"Animal#\"` but not `is_reference`.\n\+    \ This is because \"Find references\" on the \"Animal#\" symbol should not return\n\+    \ \"Dog#\". We only want \"Dog#\" to return as a result for \"Find\n\+    \ implementations\" on the \"Animal#\" symbol.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\243\ETX\a\CAN\n\+    \\r\n\+    \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\243\ETX\ESC\FS\n\+    \\r\n\+    \\ENQ\EOT\t\STX\ETX\ENQ\DC2\EOT\245\ETX\STX\ACK\n\+    \P\n\+    \\EOT\EOT\t\STX\ETX\DC2\EOT\245\ETX\STX\RS\SUBB Similar to `references_symbols` but for \"Go to type definition\".\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\t\STX\ETX\SOH\DC2\EOT\245\ETX\a\EM\n\+    \\r\n\+    \\ENQ\EOT\t\STX\ETX\ETX\DC2\EOT\245\ETX\FS\GS\n\+    \\r\n\+    \\ENQ\EOT\t\STX\EOT\ENQ\DC2\EOT\130\EOT\STX\ACK\n\+    \\216\ENQ\n\+    \\EOT\EOT\t\STX\EOT\DC2\EOT\130\EOT\STX\EM\SUB\134\ENQ Allows overriding the behavior of \"Go to definition\" and \"Find references\"\n\+    \ for symbols which do not have a definition of their own or could\n\+    \ potentially have multiple definitions.\n\+    \\n\+    \ For example, in a language with single inheritance and no field overriding,\n\+    \ inherited fields can reuse the same symbol as the ancestor which declares\n\+    \ the field. In such a situation, is_definition is not needed.\n\+    \\n\+    \ On the other hand, in languages with single inheritance and some form\n\+    \ of mixins, you can use is_definition to relate the symbol to the\n\+    \ matching symbol in ancestor classes, and is_reference to relate the\n\+    \ symbol to the matching symbol in mixins.\n\+    \\"A Update registerInverseRelationships on adding a new field here.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\t\STX\EOT\SOH\DC2\EOT\130\EOT\a\DC4\n\+    \\r\n\+    \\ENQ\EOT\t\STX\EOT\ETX\DC2\EOT\130\EOT\ETB\CAN\n\+    \\136\ETX\n\+    \\STX\ENQ\ETX\DC2\ACK\139\EOT\NUL\161\EOT\SOH\SUB\249\STX SymbolRole declares what \"role\" a symbol has in an occurrence. A role is\n\+    \ encoded as a bitset where each bit represents a different role. For example,\n\+    \ to determine if the `Import` role is set, test whether the second bit of the\n\+    \ enum value is defined. In pseudocode, this can be implemented with the\n\+    \ logic: `const isImportRole = (role.value & SymbolRole.Import.value) > 0`.\n\+    \\n\+    \\v\n\+    \\ETX\ENQ\ETX\SOH\DC2\EOT\139\EOT\ENQ\SI\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\NUL\SOH\DC2\EOT\142\EOT\STX\ETB\n\+    \v\n\+    \\EOT\ENQ\ETX\STX\NUL\DC2\EOT\142\EOT\STX\FS\SUBh This case is not meant to be used; it only exists to avoid an error\n\+    \ from the Protobuf code generator.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\NUL\STX\DC2\EOT\142\EOT\SUB\ESC\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\SOH\SOH\DC2\EOT\144\EOT\STX\f\n\+    \T\n\+    \\EOT\ENQ\ETX\STX\SOH\DC2\EOT\144\EOT\STX\DC3\SUBF Is the symbol defined here? If not, then this is a symbol reference.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\SOH\STX\DC2\EOT\144\EOT\SI\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\STX\SOH\DC2\EOT\146\EOT\STX\b\n\+    \,\n\+    \\EOT\ENQ\ETX\STX\STX\DC2\EOT\146\EOT\STX\SI\SUB\RS Is the symbol imported here?\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\STX\STX\DC2\EOT\146\EOT\v\SO\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ETX\SOH\DC2\EOT\148\EOT\STX\r\n\+    \+\n\+    \\EOT\ENQ\ETX\STX\ETX\DC2\EOT\148\EOT\STX\DC4\SUB\GS Is the symbol written here?\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ETX\STX\DC2\EOT\148\EOT\DLE\DC3\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\EOT\SOH\DC2\EOT\150\EOT\STX\f\n\+    \(\n\+    \\EOT\ENQ\ETX\STX\EOT\DC2\EOT\150\EOT\STX\DC3\SUB\SUB Is the symbol read here?\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\EOT\STX\DC2\EOT\150\EOT\SI\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ENQ\SOH\DC2\EOT\152\EOT\STX\v\n\+    \0\n\+    \\EOT\ENQ\ETX\STX\ENQ\DC2\EOT\152\EOT\STX\DC3\SUB\" Is the symbol in generated code?\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ENQ\STX\DC2\EOT\152\EOT\SO\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ACK\SOH\DC2\EOT\154\EOT\STX\ACK\n\+    \+\n\+    \\EOT\ENQ\ETX\STX\ACK\DC2\EOT\154\EOT\STX\SO\SUB\GS Is the symbol in test code?\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\ACK\STX\DC2\EOT\154\EOT\t\r\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\a\SOH\DC2\EOT\160\EOT\STX\DC3\n\+    \\237\SOH\n\+    \\EOT\ENQ\ETX\STX\a\DC2\EOT\160\EOT\STX\ESC\SUB\222\SOH Is this a signature for a symbol that is defined elsewhere?\n\+    \\n\+    \ Applies to forward declarations for languages like C, C++\n\+    \ and Objective-C, as well as `val` declarations in interface\n\+    \ files in languages like SML and OCaml.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\ETX\STX\a\STX\DC2\EOT\160\EOT\SYN\SUB\n\+    \\f\n\+    \\STX\ENQ\EOT\DC2\ACK\163\EOT\NUL\128\ENQ\SOH\n\+    \\v\n\+    \\ETX\ENQ\EOT\SOH\DC2\EOT\163\EOT\ENQ\SI\n\+    \\v\n\+    \\ETX\ENQ\EOT\ETX\DC2\EOT\164\EOT\STX\FS\n\+    \\f\n\+    \\EOT\ENQ\EOT\ETX\STX\DC2\EOT\164\EOT\STX\FS\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\NUL\SOH\DC2\EOT\166\EOT\STX\ETB\n\+    \\f\n\+    \\EOT\ENQ\EOT\STX\NUL\DC2\EOT\166\EOT\STX\FS\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\NUL\STX\DC2\EOT\166\EOT\SUB\ESC\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SOH\SOH\DC2\EOT\169\EOT\STX\t\n\+    \;\n\+    \\EOT\ENQ\EOT\STX\SOH\DC2\EOT\169\EOT\STX\SO\SUB- Comment, including comment markers and text\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SOH\STX\DC2\EOT\169\EOT\f\r\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\STX\SOH\DC2\EOT\172\EOT\STX\SYN\n\+    \\ESC\n\+    \\EOT\ENQ\EOT\STX\STX\DC2\EOT\172\EOT\STX\ESC\SUB\r `;` `.` `,`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\STX\STX\DC2\EOT\172\EOT\EM\SUB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ETX\SOH\DC2\EOT\174\EOT\STX\DC4\n\+    \2\n\+    \\EOT\ENQ\EOT\STX\ETX\DC2\EOT\174\EOT\STX\EM\SUB$ (), {}, [] when used syntactically\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ETX\STX\DC2\EOT\174\EOT\ETB\CAN\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\EOT\SOH\DC2\EOT\177\EOT\STX\t\n\+    \5\n\+    \\EOT\ENQ\EOT\STX\EOT\DC2\EOT\177\EOT\STX\SO\SUB' `if`, `else`, `return`, `class`, etc.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\EOT\STX\DC2\EOT\177\EOT\f\r\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ENQ\SOH\DC2\EOT\178\EOT\STX\DC3\n\+    \\f\n\+    \\EOT\ENQ\EOT\STX\ENQ\DC2\EOT\178\EOT\STX,\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ENQ\STX\DC2\EOT\178\EOT\SYN\ETB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ENQ\ETX\DC2\EOT\178\EOT\CAN+\n\+    \\SO\n\+    \\ACK\ENQ\EOT\STX\ENQ\ETX\SOH\DC2\EOT\178\EOT\EM*\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ACK\SOH\DC2\EOT\181\EOT\STX\DC4\n\+    \\RS\n\+    \\EOT\ENQ\EOT\STX\ACK\DC2\EOT\181\EOT\STX\EM\SUB\DLE `+`, `*`, etc.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ACK\STX\DC2\EOT\181\EOT\ETB\CAN\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\a\SOH\DC2\EOT\184\EOT\STX\f\n\+    \X\n\+    \\EOT\ENQ\EOT\STX\a\DC2\EOT\184\EOT\STX\DC1\SUBJ non-specific catch-all for any identifier not better described elsewhere\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\a\STX\DC2\EOT\184\EOT\SI\DLE\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\b\SOH\DC2\EOT\186\EOT\STX\DC3\n\+    \N\n\+    \\EOT\ENQ\EOT\STX\b\DC2\EOT\186\EOT\STX\CAN\SUB@ Identifiers builtin to the language: `min`, `print` in Python.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\b\STX\DC2\EOT\186\EOT\SYN\ETB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\t\SOH\DC2\EOT\188\EOT\STX\DLE\n\+    \[\n\+    \\EOT\ENQ\EOT\STX\t\DC2\EOT\188\EOT\STX\NAK\SUBM Identifiers representing `null`-like values: `None` in Python, `nil` in Go.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\t\STX\DC2\EOT\188\EOT\DC3\DC4\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\n\+    \\SOH\DC2\EOT\190\EOT\STX\DC4\n\+    \.\n\+    \\EOT\ENQ\EOT\STX\n\+    \\DC2\EOT\190\EOT\STX\EM\SUB  `xyz` in `const xyz = \"hello\"`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\n\+    \\STX\DC2\EOT\190\EOT\ETB\CAN\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\v\SOH\DC2\EOT\192\EOT\STX\EM\n\+    \'\n\+    \\EOT\ENQ\EOT\STX\v\DC2\EOT\192\EOT\STX\US\SUB\EM `var X = \"hello\"` in Go\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\v\STX\DC2\EOT\192\EOT\FS\RS\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\f\SOH\DC2\EOT\194\EOT\STX\NAK\n\+    \3\n\+    \\EOT\ENQ\EOT\STX\f\DC2\EOT\194\EOT\STX\ESC\SUB% Parameter definition and references\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\f\STX\DC2\EOT\194\EOT\CAN\SUB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\r\SOH\DC2\EOT\196\EOT\STX\DC1\n\+    \X\n\+    \\EOT\ENQ\EOT\STX\r\DC2\EOT\196\EOT\STX\ETB\SUBJ Identifiers for variable definitions and references within a local scope\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\r\STX\DC2\EOT\196\EOT\DC4\SYN\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SO\SOH\DC2\EOT\198\EOT\STX\DC4\n\+    \K\n\+    \\EOT\ENQ\EOT\STX\SO\DC2\EOT\198\EOT\STX\SUB\SUB= Identifiers that shadow other identifiers in an outer scope\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SO\STX\DC2\EOT\198\EOT\ETB\EM\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SI\SOH\DC2\EOT\203\EOT\STX\NAK\n\+    \\205\SOH\n\+    \\EOT\ENQ\EOT\STX\SI\DC2\EOT\203\EOT\STX\ESC\SUB\190\SOH Identifier representing a unit of code abstraction and/or namespacing.\n\+    \\n\+    \ NOTE: This corresponds to a package in Go and JVM languages,\n\+    \ and a module in languages like Python and JavaScript.\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SI\STX\DC2\EOT\203\EOT\CAN\SUB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DLE\SOH\DC2\EOT\204\EOT\STX\DC2\n\+    \\f\n\+    \\EOT\ENQ\EOT\STX\DLE\DC2\EOT\204\EOT\STX,\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DLE\STX\DC2\EOT\204\EOT\NAK\ETB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DLE\ETX\DC2\EOT\204\EOT\CAN+\n\+    \\SO\n\+    \\ACK\ENQ\EOT\STX\DLE\ETX\SOH\DC2\EOT\204\EOT\EM*\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC1\SOH\DC2\EOT\207\EOT\STX\DC4\n\+    \4\n\+    \\EOT\ENQ\EOT\STX\DC1\DC2\EOT\207\EOT\STX\SUB\SUB& Function references, including calls\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC1\STX\DC2\EOT\207\EOT\ETB\EM\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC2\SOH\DC2\EOT\209\EOT\STX\RS\n\+    \(\n\+    \\EOT\ENQ\EOT\STX\DC2\DC2\EOT\209\EOT\STX$\SUB\SUB Function definition only\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC2\STX\DC2\EOT\209\EOT!#\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC3\SOH\DC2\EOT\212\EOT\STX\DC1\n\+    \7\n\+    \\EOT\ENQ\EOT\STX\DC3\DC2\EOT\212\EOT\STX\ETB\SUB) Macro references, including invocations\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC3\STX\DC2\EOT\212\EOT\DC4\SYN\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC4\SOH\DC2\EOT\214\EOT\STX\ESC\n\+    \%\n\+    \\EOT\ENQ\EOT\STX\DC4\DC2\EOT\214\EOT\STX!\SUB\ETB Macro definition only\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\DC4\STX\DC2\EOT\214\EOT\RS \n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\NAK\SOH\DC2\EOT\217\EOT\STX\DLE\n\+    \!\n\+    \\EOT\ENQ\EOT\STX\NAK\DC2\EOT\217\EOT\STX\SYN\SUB\DC3 non-builtin types\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\NAK\STX\DC2\EOT\217\EOT\DC3\NAK\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SYN\SOH\DC2\EOT\219\EOT\STX\ETB\n\+    \K\n\+    \\EOT\ENQ\EOT\STX\SYN\DC2\EOT\219\EOT\STX\GS\SUB= builtin types only, such as `str` for Python or `int` in Go\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SYN\STX\DC2\EOT\219\EOT\SUB\FS\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ETB\SOH\DC2\EOT\222\EOT\STX\NAK\n\+    \7\n\+    \\EOT\ENQ\EOT\STX\ETB\DC2\EOT\222\EOT\STX\ESC\SUB) Python decorators, c-like __attribute__\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ETB\STX\DC2\EOT\222\EOT\CAN\SUB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\CAN\SOH\DC2\EOT\225\EOT\STX\r\n\+    \\DC4\n\+    \\EOT\ENQ\EOT\STX\CAN\DC2\EOT\225\EOT\STX\DC3\SUB\ACK `\\b`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\CAN\STX\DC2\EOT\225\EOT\DLE\DC2\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\EM\SOH\DC2\EOT\227\EOT\STX\SI\n\+    \\CAN\n\+    \\EOT\ENQ\EOT\STX\EM\DC2\EOT\227\EOT\STX\NAK\SUB\n\+    \ `*`, `+`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\EM\STX\DC2\EOT\227\EOT\DC2\DC4\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SUB\SOH\DC2\EOT\229\EOT\STX\SI\n\+    \\DC3\n\+    \\EOT\ENQ\EOT\STX\SUB\DC2\EOT\229\EOT\STX\NAK\SUB\ENQ `.`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\SUB\STX\DC2\EOT\229\EOT\DC2\DC4\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ESC\SOH\DC2\EOT\231\EOT\STX\DLE\n\+    \\"\n\+    \\EOT\ENQ\EOT\STX\ESC\DC2\EOT\231\EOT\STX\SYN\SUB\DC4 `(`, `)`, `[`, `]`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\ESC\STX\DC2\EOT\231\EOT\DC3\NAK\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\FS\SOH\DC2\EOT\233\EOT\STX\v\n\+    \\CAN\n\+    \\EOT\ENQ\EOT\STX\FS\DC2\EOT\233\EOT\STX\DC1\SUB\n\+    \ `|`, `-`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\FS\STX\DC2\EOT\233\EOT\SO\DLE\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\GS\SOH\DC2\EOT\236\EOT\STX\SI\n\+    \0\n\+    \\EOT\ENQ\EOT\STX\GS\DC2\EOT\236\EOT\STX\NAK\SUB\" Literal strings: \"Hello, world!\"\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\GS\STX\DC2\EOT\236\EOT\DC2\DC4\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\RS\SOH\DC2\EOT\238\EOT\STX\NAK\n\+    \-\n\+    \\EOT\ENQ\EOT\STX\RS\DC2\EOT\238\EOT\STX\ESC\SUB\US non-regex escapes: \"\\t\", \"\\n\"\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\RS\STX\DC2\EOT\238\EOT\CAN\SUB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\US\SOH\DC2\EOT\240\EOT\STX\SYN\n\+    \_\n\+    \\EOT\ENQ\EOT\STX\US\DC2\EOT\240\EOT\STX\FS\SUBQ datetimes within strings, special words within a string, `{}` in format strings\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\US\STX\DC2\EOT\240\EOT\EM\ESC\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX \SOH\DC2\EOT\242\EOT\STX\DC2\n\+    \G\n\+    \\EOT\ENQ\EOT\STX \DC2\EOT\242\EOT\STX\CAN\SUB9 \"key\" in { \"key\": \"value\" }, useful for example in JSON\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX \STX\DC2\EOT\242\EOT\NAK\ETB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX!\SOH\DC2\EOT\244\EOT\STX\DC2\n\+    \V\n\+    \\EOT\ENQ\EOT\STX!\DC2\EOT\244\EOT\STX\CAN\SUBH 'c' or similar, in languages that differentiate strings and characters\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX!\STX\DC2\EOT\244\EOT\NAK\ETB\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\"\SOH\DC2\EOT\246\EOT\STX\DLE\n\+    \9\n\+    \\EOT\ENQ\EOT\STX\"\DC2\EOT\246\EOT\STX\SYN\SUB+ Literal numbers, both floats and integers\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX\"\STX\DC2\EOT\246\EOT\DC3\NAK\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX#\SOH\DC2\EOT\248\EOT\STX\DLE\n\+    \\US\n\+    \\EOT\ENQ\EOT\STX#\DC2\EOT\248\EOT\STX\SYN\SUB\DC1 `true`, `false`\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX#\STX\DC2\EOT\248\EOT\DC3\NAK\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX$\SOH\DC2\EOT\251\EOT\STX\ENQ\n\+    \&\n\+    \\EOT\ENQ\EOT\STX$\DC2\EOT\251\EOT\STX\v\SUB\CAN Used for XML-like tags\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX$\STX\DC2\EOT\251\EOT\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX%\SOH\DC2\EOT\253\EOT\STX\SO\n\+    \/\n\+    \\EOT\ENQ\EOT\STX%\DC2\EOT\253\EOT\STX\DC4\SUB! Attribute name in XML-like tags\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX%\STX\DC2\EOT\253\EOT\DC1\DC3\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX&\SOH\DC2\EOT\255\EOT\STX\SO\n\+    \,\n\+    \\EOT\ENQ\EOT\STX&\DC2\EOT\255\EOT\STX\DC4\SUB\RS Delimiters for XML-like tags\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\EOT\STX&\STX\DC2\EOT\255\EOT\DC1\DC3\n\+    \\249\SOH\n\+    \\STX\EOT\n\+    \\DC2\ACK\135\ENQ\NUL\232\ENQ\SOH\SUB\234\SOH Occurrence associates a source position with a symbol and/or highlighting\n\+    \ information.\n\+    \\n\+    \ If possible, indexers should try to bundle logically related information\n\+    \ across occurrences into a single occurrence to reduce payload sizes.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\n\+    \\SOH\DC2\EOT\135\ENQ\b\DC2\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\NUL\EOT\DC2\EOT\159\ENQ\STX\n\+    \\n\+    \\232\b\n\+    \\EOT\EOT\n\+    \\STX\NUL\DC2\EOT\159\ENQ\STX\ESC\SUB\217\b Half-open [start, end) range of this occurrence. Must be exactly three or four\n\+    \ elements:\n\+    \\n\+    \ - Four elements: `[startLine, startCharacter, endLine, endCharacter]`\n\+    \ - Three elements: `[startLine, startCharacter, endCharacter]`. The end line\n\+    \   is inferred to have the same value as the start line.\n\+    \\n\+    \ It is allowed for the range to be empty (i.e. start==end).\n\+    \\n\+    \ Line numbers and characters are always 0-based. Make sure to increment the\n\+    \ line/character values before displaying them in an editor-like UI because\n\+    \ editors conventionally use 1-based numbers.\n\+    \\n\+    \ The 'character' value is interpreted based on the PositionEncoding for\n\+    \ the Document.\n\+    \\n\+    \ Historical note: the original draft of this schema had a `Range` message\n\+    \ type with `start` and `end` fields of type `Position`, mirroring LSP.\n\+    \ Benchmarks revealed that this encoding was inefficient and that we could\n\+    \ reduce the total payload size of an index by 50% by using `repeated int32`\n\+    \ instead. The `repeated int32` encoding is admittedly more embarrassing to\n\+    \ work with in some programming languages but we hope the performance\n\+    \ improvements make up for it.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\NUL\ENQ\DC2\EOT\159\ENQ\v\DLE\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\NUL\SOH\DC2\EOT\159\ENQ\DC1\SYN\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\NUL\ETX\DC2\EOT\159\ENQ\EM\SUB\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\SOH\ENQ\DC2\EOT\162\ENQ\STX\b\n\+    \\138\SOH\n\+    \\EOT\EOT\n\+    \\STX\SOH\DC2\EOT\162\ENQ\STX\DC4\SUB| (optional) The symbol that appears at this position. See\n\+    \ `SymbolInformation.symbol` for how to format symbols as strings.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\SOH\SOH\DC2\EOT\162\ENQ\t\SI\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\SOH\ETX\DC2\EOT\162\ENQ\DC2\DC3\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\STX\ENQ\DC2\EOT\165\ENQ\STX\a\n\+    \\151\SOH\n\+    \\EOT\EOT\n\+    \\STX\STX\DC2\EOT\165\ENQ\STX\EM\SUB\136\SOH (optional) Bitset containing `SymbolRole`s in this occurrence.\n\+    \ See `SymbolRole`'s documentation for how to read and write this field.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\STX\SOH\DC2\EOT\165\ENQ\b\DC4\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\STX\ETX\DC2\EOT\165\ENQ\ETB\CAN\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ETX\EOT\DC2\EOT\174\ENQ\STX\n\+    \\n\+    \\241\ETX\n\+    \\EOT\EOT\n\+    \\STX\ETX\DC2\EOT\174\ENQ\STX-\SUB\226\ETX (optional) CommonMark-formatted documentation for this specific range. If\n\+    \ empty, the `Symbol.documentation` field is used instead. One example\n\+    \ where this field might be useful is when the symbol represents a generic\n\+    \ function (with abstract type parameters such as `List<T>`) and at this\n\+    \ occurrence we know the exact values (such as `List<String>`).\n\+    \\n\+    \ This field can also be used for dynamically or gradually typed languages,\n\+    \ which commonly allow for type-changing assignment.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ETX\ENQ\DC2\EOT\174\ENQ\v\DC1\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ETX\SOH\DC2\EOT\174\ENQ\DC2(\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ETX\ETX\DC2\EOT\174\ENQ+,\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\EOT\ACK\DC2\EOT\176\ENQ\STX\f\n\+    \X\n\+    \\EOT\EOT\n\+    \\STX\EOT\DC2\EOT\176\ENQ\STX\GS\SUBJ (optional) What syntax highlighting class should be used for this range?\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\EOT\SOH\DC2\EOT\176\ENQ\r\CAN\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\EOT\ETX\DC2\EOT\176\ENQ\ESC\FS\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ENQ\EOT\DC2\EOT\178\ENQ\STX\n\+    \\n\+    \W\n\+    \\EOT\EOT\n\+    \\STX\ENQ\DC2\EOT\178\ENQ\STX&\SUBI (optional) Diagnostics that have been reported for this specific range.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ENQ\ACK\DC2\EOT\178\ENQ\v\NAK\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ENQ\SOH\DC2\EOT\178\ENQ\SYN!\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ENQ\ETX\DC2\EOT\178\ENQ$%\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ACK\EOT\DC2\EOT\231\ENQ\STX\n\+    \\n\+    \\183\SO\n\+    \\EOT\EOT\n\+    \\STX\ACK\DC2\EOT\231\ENQ\STX%\SUB\168\SO (optional) Using the same encoding as the sibling `range` field, half-open\n\+    \ source range of the nearest non-trivial enclosing AST node. This range must\n\+    \ enclose the `range` field. Example applications that make use of the\n\+    \ enclosing_range field:\n\+    \\n\+    \ - Call hierarchies: to determine what symbols are references from the body\n\+    \   of a function\n\+    \ - Symbol outline: to display breadcrumbs from the cursor position to the\n\+    \   root of the file\n\+    \ - Expand selection: to select the nearest enclosing AST node.\n\+    \ - Highlight range: to indicate the AST expression that is associated with a\n\+    \   hover popover\n\+    \\n\+    \ For definition occurrences, the enclosing range should indicate the\n\+    \ start/end bounds of the entire definition AST node, including\n\+    \ documentation.\n\+    \ ```\n\+    \ const n = 3\n\+    \       ^ range\n\+    \ ^^^^^^^^^^^ enclosing_range\n\+    \\n\+    \ /** Parses the string into something */\n\+    \ ^ enclosing_range start --------------------------------------|\n\+    \ function parse(input string): string {                        |\n\+    \          ^^^^^ range                                          |\n\+    \     return input.slice(n)                                     |\n\+    \ }                                                             |\n\+    \ ^ enclosing_range end <---------------------------------------|\n\+    \ ```\n\+    \\n\+    \ Any attributes/decorators/attached macros should also be part of the\n\+    \ enclosing range.\n\+    \\n\+    \ ```python\n\+    \ @cache\n\+    \ ^ enclosing_range start---------------------|\n\+    \ def factorial(n):                           |\n\+    \     return n * factorial(n-1) if n else 1   |\n\+    \ < enclosing_range end-----------------------|\n\+    \\n\+    \ ```\n\+    \\n\+    \ For reference occurrences, the enclosing range should indicate the start/end\n\+    \ bounds of the parent expression.\n\+    \ ```\n\+    \ const a = a.b\n\+    \             ^ range\n\+    \           ^^^ enclosing_range\n\+    \ const b = a.b(41).f(42).g(43)\n\+    \                   ^ range\n\+    \           ^^^^^^^^^^^^^ enclosing_range\n\+    \ ```\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ACK\ENQ\DC2\EOT\231\ENQ\v\DLE\n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ACK\SOH\DC2\EOT\231\ENQ\DC1 \n\+    \\r\n\+    \\ENQ\EOT\n\+    \\STX\ACK\ETX\DC2\EOT\231\ENQ#$\n\+    \w\n\+    \\STX\EOT\v\DC2\ACK\236\ENQ\NUL\247\ENQ\SOH\SUBi Represents a diagnostic, such as a compiler error or warning, which should be\n\+    \ reported for a document.\n\+    \\n\+    \\v\n\+    \\ETX\EOT\v\SOH\DC2\EOT\236\ENQ\b\DC2\n\+    \\r\n\+    \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\238\ENQ\STX\n\+    \\n\+    \W\n\+    \\EOT\EOT\v\STX\NUL\DC2\EOT\238\ENQ\STX\CAN\SUBI Should this diagnostic be reported as an error, warning, info, or hint?\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\238\ENQ\v\DC3\n\+    \\r\n\+    \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\238\ENQ\SYN\ETB\n\+    \\r\n\+    \\ENQ\EOT\v\STX\SOH\ENQ\DC2\EOT\240\ENQ\STX\b\n\+    \]\n\+    \\EOT\EOT\v\STX\SOH\DC2\EOT\240\ENQ\STX\DC2\SUBO (optional) Code of this diagnostic, which might appear in the user interface.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\v\STX\SOH\SOH\DC2\EOT\240\ENQ\t\r\n\+    \\r\n\+    \\ENQ\EOT\v\STX\SOH\ETX\DC2\EOT\240\ENQ\DLE\DC1\n\+    \\r\n\+    \\ENQ\EOT\v\STX\STX\ENQ\DC2\EOT\242\ENQ\STX\b\n\+    \+\n\+    \\EOT\EOT\v\STX\STX\DC2\EOT\242\ENQ\STX\NAK\SUB\GS Message of this diagnostic.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\v\STX\STX\SOH\DC2\EOT\242\ENQ\t\DLE\n\+    \\r\n\+    \\ENQ\EOT\v\STX\STX\ETX\DC2\EOT\242\ENQ\DC3\DC4\n\+    \\r\n\+    \\ENQ\EOT\v\STX\ETX\ENQ\DC2\EOT\245\ENQ\STX\b\n\+    \~\n\+    \\EOT\EOT\v\STX\ETX\DC2\EOT\245\ENQ\STX\DC4\SUBp (optional) Human-readable string describing the source of this diagnostic, e.g.\n\+    \ 'typescript' or 'super lint'.\n\+    \\n\+    \\r\n\+    \\ENQ\EOT\v\STX\ETX\SOH\DC2\EOT\245\ENQ\t\SI\n\+    \\r\n\+    \\ENQ\EOT\v\STX\ETX\ETX\DC2\EOT\245\ENQ\DC2\DC3\n\+    \\r\n\+    \\ENQ\EOT\v\STX\EOT\EOT\DC2\EOT\246\ENQ\STX\n\+    \\n\+    \\f\n\+    \\EOT\EOT\v\STX\EOT\DC2\EOT\246\ENQ\STX\"\n\+    \\r\n\+    \\ENQ\EOT\v\STX\EOT\ACK\DC2\EOT\246\ENQ\v\CAN\n\+    \\r\n\+    \\ENQ\EOT\v\STX\EOT\SOH\DC2\EOT\246\ENQ\EM\GS\n\+    \\r\n\+    \\ENQ\EOT\v\STX\EOT\ETX\DC2\EOT\246\ENQ !\n\+    \\f\n\+    \\STX\ENQ\ENQ\DC2\ACK\249\ENQ\NUL\255\ENQ\SOH\n\+    \\v\n\+    \\ETX\ENQ\ENQ\SOH\DC2\EOT\249\ENQ\ENQ\r\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\NUL\SOH\DC2\EOT\250\ENQ\STX\NAK\n\+    \\f\n\+    \\EOT\ENQ\ENQ\STX\NUL\DC2\EOT\250\ENQ\STX\SUB\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\NUL\STX\DC2\EOT\250\ENQ\CAN\EM\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\SOH\SOH\DC2\EOT\251\ENQ\STX\a\n\+    \\f\n\+    \\EOT\ENQ\ENQ\STX\SOH\DC2\EOT\251\ENQ\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\SOH\STX\DC2\EOT\251\ENQ\n\+    \\v\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\STX\SOH\DC2\EOT\252\ENQ\STX\t\n\+    \\f\n\+    \\EOT\ENQ\ENQ\STX\STX\DC2\EOT\252\ENQ\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\STX\STX\DC2\EOT\252\ENQ\f\r\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\ETX\SOH\DC2\EOT\253\ENQ\STX\r\n\+    \\f\n\+    \\EOT\ENQ\ENQ\STX\ETX\DC2\EOT\253\ENQ\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\ETX\STX\DC2\EOT\253\ENQ\DLE\DC1\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\EOT\SOH\DC2\EOT\254\ENQ\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\ENQ\STX\EOT\DC2\EOT\254\ENQ\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\ENQ\STX\EOT\STX\DC2\EOT\254\ENQ\t\n\+    \\n\+    \\f\n\+    \\STX\ENQ\ACK\DC2\ACK\129\ACK\NUL\133\ACK\SOH\n\+    \\v\n\+    \\ETX\ENQ\ACK\SOH\DC2\EOT\129\ACK\ENQ\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\NUL\SOH\DC2\EOT\130\ACK\STX\SUB\n\+    \\f\n\+    \\EOT\ENQ\ACK\STX\NUL\DC2\EOT\130\ACK\STX\US\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\NUL\STX\DC2\EOT\130\ACK\GS\RS\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\SOH\SOH\DC2\EOT\131\ACK\STX\r\n\+    \\f\n\+    \\EOT\ENQ\ACK\STX\SOH\DC2\EOT\131\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\SOH\STX\DC2\EOT\131\ACK\DLE\DC1\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\STX\SOH\DC2\EOT\132\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\ACK\STX\STX\DC2\EOT\132\ACK\STX\DC1\n\+    \\r\n\+    \\ENQ\ENQ\ACK\STX\STX\STX\DC2\EOT\132\ACK\SI\DLE\n\+    \\208\ETX\n\+    \\STX\ENQ\a\DC2\ACK\141\ACK\NUL\131\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\+    \ \"CPP\" in this enum and other names such as \"cpp\" are incompatible.\n\+    \ Feel free to send a pull-request to add missing programming languages.\n\+    \\n\+    \\v\n\+    \\ETX\ENQ\a\SOH\DC2\EOT\141\ACK\ENQ\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\NUL\SOH\DC2\EOT\142\ACK\STX\NAK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\NUL\DC2\EOT\142\ACK\STX\SUB\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\NUL\STX\DC2\EOT\142\ACK\CAN\EM\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SOH\SOH\DC2\EOT\143\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\SOH\DC2\EOT\143\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SOH\STX\DC2\EOT\143\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\STX\SOH\DC2\EOT\144\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\STX\DC2\EOT\144\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\STX\STX\DC2\EOT\144\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ETX\SOH\DC2\EOT\145\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\ETX\DC2\EOT\145\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ETX\STX\DC2\EOT\145\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\EOT\SOH\DC2\EOT\146\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\EOT\DC2\EOT\146\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\EOT\STX\DC2\EOT\146\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ENQ\SOH\DC2\EOT\147\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\ENQ\DC2\EOT\147\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ENQ\STX\DC2\EOT\147\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ACK\SOH\DC2\EOT\148\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX\ACK\DC2\EOT\148\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ACK\STX\DC2\EOT\148\ACK\r\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\a\SOH\DC2\EOT\149\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX\a\DC2\EOT\149\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\a\STX\DC2\EOT\149\ACK\r\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\b\SOH\DC2\EOT\150\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\b\DC2\EOT\150\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\b\STX\DC2\EOT\150\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\t\SOH\DC2\EOT\151\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\t\DC2\EOT\151\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\t\STX\DC2\EOT\151\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\n\+    \\SOH\DC2\EOT\152\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\n\+    \\DC2\EOT\152\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\n\+    \\STX\DC2\EOT\152\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\v\SOH\DC2\EOT\153\ACK\STX\ETX\n\+    \\f\n\+    \\EOT\ENQ\a\STX\v\DC2\EOT\153\ACK\STX\t\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\v\STX\DC2\EOT\153\ACK\ACK\b\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\f\SOH\DC2\EOT\154\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX\f\DC2\EOT\154\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\f\STX\DC2\EOT\154\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\r\SOH\DC2\EOT\155\ACK\STX\ENQ\n\+    \G\n\+    \\EOT\ENQ\a\STX\r\DC2\EOT\155\ACK\STX\v\"9 C++ (the name \"CPP\" was chosen for consistency with LSP)\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\r\STX\DC2\EOT\155\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SO\SOH\DC2\EOT\156\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\SO\DC2\EOT\156\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SO\STX\DC2\EOT\156\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SI\SOH\DC2\EOT\157\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\SI\DC2\EOT\157\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SI\STX\DC2\EOT\157\ACK\v\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DLE\SOH\DC2\EOT\158\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STX\DLE\DC2\EOT\158\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DLE\STX\DC2\EOT\158\ACK\f\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC1\SOH\DC2\EOT\159\ACK\STX\SO\n\+    \\f\n\+    \\EOT\ENQ\a\STX\DC1\DC2\EOT\159\ACK\STX\DC4\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC1\STX\DC2\EOT\159\ACK\DC1\DC3\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC2\SOH\DC2\EOT\160\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX\DC2\DC2\EOT\160\ACK\STX\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC2\STX\DC2\EOT\160\ACK\SI\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC3\SOH\DC2\EOT\161\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX\DC3\DC2\EOT\161\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC3\STX\DC2\EOT\161\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC4\SOH\DC2\EOT\162\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\DC4\DC2\EOT\162\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\DC4\STX\DC2\EOT\162\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\NAK\SOH\DC2\EOT\163\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\NAK\DC2\EOT\163\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\NAK\STX\DC2\EOT\163\ACK\t\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SYN\SOH\DC2\EOT\164\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\SYN\DC2\EOT\164\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SYN\STX\DC2\EOT\164\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ETB\SOH\DC2\EOT\165\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\ETB\DC2\EOT\165\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ETB\STX\DC2\EOT\165\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\CAN\SOH\DC2\EOT\166\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX\CAN\DC2\EOT\166\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\CAN\STX\DC2\EOT\166\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\EM\SOH\DC2\EOT\167\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\EM\DC2\EOT\167\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\EM\STX\DC2\EOT\167\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SUB\SOH\DC2\EOT\168\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\SUB\DC2\EOT\168\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\SUB\STX\DC2\EOT\168\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ESC\SOH\DC2\EOT\169\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\ESC\DC2\EOT\169\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\ESC\STX\DC2\EOT\169\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\FS\SOH\DC2\EOT\170\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX\FS\DC2\EOT\170\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\FS\STX\DC2\EOT\170\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\GS\SOH\DC2\EOT\171\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\GS\DC2\EOT\171\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\GS\STX\DC2\EOT\171\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\RS\SOH\DC2\EOT\172\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX\RS\DC2\EOT\172\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\RS\STX\DC2\EOT\172\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\US\SOH\DC2\EOT\173\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STX\US\DC2\EOT\173\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\US\STX\DC2\EOT\173\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX \SOH\DC2\EOT\174\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX \DC2\EOT\174\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX \STX\DC2\EOT\174\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX!\SOH\DC2\EOT\175\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX!\DC2\EOT\175\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX!\STX\DC2\EOT\175\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\"\SOH\DC2\EOT\176\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX\"\DC2\EOT\176\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\"\STX\DC2\EOT\176\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX#\SOH\DC2\EOT\177\ACK\STX\EOT\n\+    \\f\n\+    \\EOT\ENQ\a\STX#\DC2\EOT\177\ACK\STX\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX#\STX\DC2\EOT\177\ACK\a\t\n\+    \\r\n\+    \\ENQ\ENQ\a\STX$\SOH\DC2\EOT\178\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STX$\DC2\EOT\178\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX$\STX\DC2\EOT\178\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX%\SOH\DC2\EOT\179\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX%\DC2\EOT\179\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX%\STX\DC2\EOT\179\ACK\v\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX&\SOH\DC2\EOT\180\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX&\DC2\EOT\180\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX&\STX\DC2\EOT\180\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX'\SOH\DC2\EOT\181\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX'\DC2\EOT\181\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX'\STX\DC2\EOT\181\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX(\SOH\DC2\EOT\182\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX(\DC2\EOT\182\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX(\STX\DC2\EOT\182\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX)\SOH\DC2\EOT\183\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STX)\DC2\EOT\183\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX)\STX\DC2\EOT\183\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX*\SOH\DC2\EOT\184\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX*\DC2\EOT\184\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX*\STX\DC2\EOT\184\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX+\SOH\DC2\EOT\185\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX+\DC2\EOT\185\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX+\STX\DC2\EOT\185\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX,\SOH\DC2\EOT\186\ACK\STX\ETX\n\+    \\f\n\+    \\EOT\ENQ\a\STX,\DC2\EOT\186\ACK\STX\t\n\+    \\r\n\+    \\ENQ\ENQ\a\STX,\STX\DC2\EOT\186\ACK\ACK\b\n\+    \\r\n\+    \\ENQ\ENQ\a\STX-\SOH\DC2\EOT\187\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX-\DC2\EOT\187\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX-\STX\DC2\EOT\187\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX.\SOH\DC2\EOT\188\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX.\DC2\EOT\188\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX.\STX\DC2\EOT\188\ACK\t\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX/\SOH\DC2\EOT\189\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STX/\DC2\EOT\189\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STX/\STX\DC2\EOT\189\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX0\SOH\DC2\EOT\190\ACK\STX\DC1\n\+    \\f\n\+    \\EOT\ENQ\a\STX0\DC2\EOT\190\ACK\STX\ETB\n\+    \\r\n\+    \\ENQ\ENQ\a\STX0\STX\DC2\EOT\190\ACK\DC4\SYN\n\+    \\r\n\+    \\ENQ\ENQ\a\STX1\SOH\DC2\EOT\191\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STX1\DC2\EOT\191\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX1\STX\DC2\EOT\191\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX2\SOH\DC2\EOT\192\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX2\DC2\EOT\192\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX2\STX\DC2\EOT\192\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX3\SOH\DC2\EOT\193\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX3\DC2\EOT\193\ACK\STX\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STX3\STX\DC2\EOT\193\ACK\r\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX4\SOH\DC2\EOT\194\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX4\DC2\EOT\194\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX4\STX\DC2\EOT\194\ACK\v\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX5\SOH\DC2\EOT\195\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX5\DC2\EOT\195\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX5\STX\DC2\EOT\195\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX6\SOH\DC2\EOT\196\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX6\DC2\EOT\196\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX6\STX\DC2\EOT\196\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX7\SOH\DC2\EOT\197\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX7\DC2\EOT\197\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX7\STX\DC2\EOT\197\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX8\SOH\DC2\EOT\198\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX8\DC2\EOT\198\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX8\STX\DC2\EOT\198\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX9\SOH\DC2\EOT\199\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX9\DC2\EOT\199\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX9\STX\DC2\EOT\199\ACK\t\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX:\SOH\DC2\EOT\200\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX:\DC2\EOT\200\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX:\STX\DC2\EOT\200\ACK\r\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX;\SOH\DC2\EOT\201\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX;\DC2\EOT\201\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX;\STX\DC2\EOT\201\ACK\r\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX<\SOH\DC2\EOT\202\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX<\DC2\EOT\202\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX<\STX\DC2\EOT\202\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX=\SOH\DC2\EOT\203\ACK\STX\b\n\+    \'\n\+    \\EOT\ENQ\a\STX=\DC2\EOT\203\ACK\STX\SI\"\EM https://nickel-lang.org/\n\+    \\r\n\+    \\ENQ\ENQ\a\STX=\STX\DC2\EOT\203\ACK\v\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX>\SOH\DC2\EOT\204\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX>\DC2\EOT\204\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX>\STX\DC2\EOT\204\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STX?\SOH\DC2\EOT\205\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX?\DC2\EOT\205\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX?\STX\DC2\EOT\205\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX@\SOH\DC2\EOT\206\ACK\STX\r\n\+    \\f\n\+    \\EOT\ENQ\a\STX@\DC2\EOT\206\ACK\STX\DC3\n\+    \\r\n\+    \\ENQ\ENQ\a\STX@\STX\DC2\EOT\206\ACK\DLE\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STXA\SOH\DC2\EOT\207\ACK\STX\SI\n\+    \\f\n\+    \\EOT\ENQ\a\STXA\DC2\EOT\207\ACK\STX\NAK\n\+    \\r\n\+    \\ENQ\ENQ\a\STXA\STX\DC2\EOT\207\ACK\DC2\DC4\n\+    \\r\n\+    \\ENQ\ENQ\a\STXB\SOH\DC2\EOT\208\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXB\DC2\EOT\208\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXB\STX\DC2\EOT\208\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXC\SOH\DC2\EOT\209\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXC\DC2\EOT\209\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXC\STX\DC2\EOT\209\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXD\SOH\DC2\EOT\210\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STXD\DC2\EOT\210\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXD\STX\DC2\EOT\210\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXE\SOH\DC2\EOT\211\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXE\DC2\EOT\211\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXE\STX\DC2\EOT\211\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXF\SOH\DC2\EOT\212\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STXF\DC2\EOT\212\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STXF\STX\DC2\EOT\212\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STXG\SOH\DC2\EOT\213\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXG\DC2\EOT\213\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXG\STX\DC2\EOT\213\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXH\SOH\DC2\EOT\214\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STXH\DC2\EOT\214\ACK\STX\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STXH\STX\DC2\EOT\214\ACK\r\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STXI\SOH\DC2\EOT\215\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXI\DC2\EOT\215\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXI\STX\DC2\EOT\215\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXJ\SOH\DC2\EOT\216\ACK\STX\ETX\n\+    \\f\n\+    \\EOT\ENQ\a\STXJ\DC2\EOT\216\ACK\STX\t\n\+    \\r\n\+    \\ENQ\ENQ\a\STXJ\STX\DC2\EOT\216\ACK\ACK\b\n\+    \\r\n\+    \\ENQ\ENQ\a\STXK\SOH\DC2\EOT\217\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXK\DC2\EOT\217\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXK\STX\DC2\EOT\217\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXL\SOH\DC2\EOT\218\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXL\DC2\EOT\218\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXL\STX\DC2\EOT\218\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXM\SOH\DC2\EOT\219\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STXM\DC2\EOT\219\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXM\STX\DC2\EOT\219\ACK\n\+    \\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXN\SOH\DC2\EOT\220\ACK\STX\a\n\+    \1\n\+    \\EOT\ENQ\a\STXN\DC2\EOT\220\ACK\STX\SO\"# Internal language for testing SCIP\n\+    \\r\n\+    \\ENQ\ENQ\a\STXN\STX\DC2\EOT\220\ACK\n\+    \\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXO\SOH\DC2\EOT\221\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXO\DC2\EOT\221\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXO\STX\DC2\EOT\221\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXP\SOH\DC2\EOT\222\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXP\DC2\EOT\222\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXP\STX\DC2\EOT\222\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXQ\SOH\DC2\EOT\223\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXQ\DC2\EOT\223\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXQ\STX\DC2\EOT\223\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXR\SOH\DC2\EOT\224\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXR\DC2\EOT\224\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXR\STX\DC2\EOT\224\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXS\SOH\DC2\EOT\225\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXS\DC2\EOT\225\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXS\STX\DC2\EOT\225\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXT\SOH\DC2\EOT\226\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXT\DC2\EOT\226\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXT\STX\DC2\EOT\226\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXU\SOH\DC2\EOT\227\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXU\DC2\EOT\227\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXU\STX\DC2\EOT\227\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXV\SOH\DC2\EOT\228\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXV\DC2\EOT\228\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXV\STX\DC2\EOT\228\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXW\SOH\DC2\EOT\229\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STXW\DC2\EOT\229\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXW\STX\DC2\EOT\229\ACK\n\+    \\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXX\SOH\DC2\EOT\230\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXX\DC2\EOT\230\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXX\STX\DC2\EOT\230\ACK\v\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXY\SOH\DC2\EOT\231\ACK\STX\r\n\+    \\DC3\n\+    \\EOT\ENQ\a\STXY\DC2\EOT\231\ACK\STX\DC3\"\ENQ Bash\n\+    \\r\n\+    \\ENQ\ENQ\a\STXY\STX\DC2\EOT\231\ACK\DLE\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STXZ\SOH\DC2\EOT\232\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STXZ\DC2\EOT\232\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STXZ\STX\DC2\EOT\232\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX[\SOH\DC2\EOT\233\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX[\DC2\EOT\233\ACK\STX\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX[\STX\DC2\EOT\233\ACK\n\+    \\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\\\SOH\DC2\EOT\234\ACK\STX\n\+    \\n\+    \\f\n\+    \\EOT\ENQ\a\STX\\\DC2\EOT\234\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STX\\\STX\DC2\EOT\234\ACK\r\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX]\SOH\DC2\EOT\235\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STX]\DC2\EOT\235\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STX]\STX\DC2\EOT\235\ACK\v\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STX^\SOH\DC2\EOT\236\ACK\STX\a\n\+    \\f\n\+    \\EOT\ENQ\a\STX^\DC2\EOT\236\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX^\STX\DC2\EOT\236\ACK\n\+    \\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX_\SOH\DC2\EOT\237\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STX_\DC2\EOT\237\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX_\STX\DC2\EOT\237\ACK\b\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STX`\SOH\DC2\EOT\238\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STX`\DC2\EOT\238\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STX`\STX\DC2\EOT\238\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXa\SOH\DC2\EOT\239\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXa\DC2\EOT\239\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXa\STX\DC2\EOT\239\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXb\SOH\DC2\EOT\240\ACK\STX\b\n\+    \\f\n\+    \\EOT\ENQ\a\STXb\DC2\EOT\240\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STXb\STX\DC2\EOT\240\ACK\v\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXc\SOH\DC2\EOT\241\ACK\STX\f\n\+    \\f\n\+    \\EOT\ENQ\a\STXc\DC2\EOT\241\ACK\STX\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STXc\STX\DC2\EOT\241\ACK\SI\DC1\n\+    \\r\n\+    \\ENQ\ENQ\a\STXd\SOH\DC2\EOT\242\ACK\STX\DC1\n\+    \\f\n\+    \\EOT\ENQ\a\STXd\DC2\EOT\242\ACK\STX\ETB\n\+    \\r\n\+    \\ENQ\ENQ\a\STXd\STX\DC2\EOT\242\ACK\DC4\SYN\n\+    \\r\n\+    \\ENQ\ENQ\a\STXe\SOH\DC2\EOT\243\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STXe\DC2\EOT\243\ACK\STX\DLE\n\+    \\r\n\+    \\ENQ\ENQ\a\STXe\STX\DC2\EOT\243\ACK\f\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STXf\SOH\DC2\EOT\244\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXf\DC2\EOT\244\ACK\STX\r\n\+    \\r\n\+    \\ENQ\ENQ\a\STXf\STX\DC2\EOT\244\ACK\t\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXg\SOH\DC2\EOT\245\ACK\STX\r\n\+    \\f\n\+    \\EOT\ENQ\a\STXg\DC2\EOT\245\ACK\STX\DC3\n\+    \\r\n\+    \\ENQ\ENQ\a\STXg\STX\DC2\EOT\245\ACK\DLE\DC2\n\+    \\r\n\+    \\ENQ\ENQ\a\STXh\SOH\DC2\EOT\246\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXh\DC2\EOT\246\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXh\STX\DC2\EOT\246\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXi\SOH\DC2\EOT\247\ACK\STX\t\n\+    \\f\n\+    \\EOT\ENQ\a\STXi\DC2\EOT\247\ACK\STX\SI\n\+    \\r\n\+    \\ENQ\ENQ\a\STXi\STX\DC2\EOT\247\ACK\f\SO\n\+    \\r\n\+    \\ENQ\ENQ\a\STXj\SOH\DC2\EOT\248\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXj\DC2\EOT\248\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXj\STX\DC2\EOT\248\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXk\SOH\DC2\EOT\249\ACK\STX\ENQ\n\+    \\f\n\+    \\EOT\ENQ\a\STXk\DC2\EOT\249\ACK\STX\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXk\STX\DC2\EOT\249\ACK\b\n\+    \\n\+    \\r\n\+    \\ENQ\ENQ\a\STXl\SOH\DC2\EOT\250\ACK\STX\ACK\n\+    \\f\n\+    \\EOT\ENQ\a\STXl\DC2\EOT\250\ACK\STX\f\n\+    \\r\n\+    \\ENQ\ENQ\a\STXl\STX\DC2\EOT\250\ACK\t\v\n\+    \\r\n\+    \\ENQ\ENQ\a\STXm\SOH\DC2\EOT\251\ACK\STX\ENQ\n\+    \\147\ETX\n\+    \\EOT\ENQ\a\STXm\DC2\EOT\251\ACK\STX\v\"\132\ETX NextLanguage = 111;\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\+    \ 3. Replace \"NextLanguage = N\" with the name of the new language.\n\+    \ 4. Move the new language to the correct line above using alphabetical order\n\+    \ 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\251\ACK\b\n\+    \b\ACKproto3"
+ src/Proto/Scip_Fields.hs view
@@ -0,0 +1,381 @@+{- This file was auto-generated from scip.proto by the proto-lens-protoc program. -}+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}+{-# OPTIONS_GHC -Wno-unused-imports#-}+{-# OPTIONS_GHC -Wno-duplicate-exports#-}+{-# OPTIONS_GHC -Wno-dodgy-exports#-}+module Proto.Scip_Fields where+import qualified Data.ProtoLens.Runtime.Prelude as Prelude+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read+arguments ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "arguments" a) =>+  Lens.Family2.LensLike' f s a+arguments = Data.ProtoLens.Field.field @"arguments"+code ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "code" a) =>+  Lens.Family2.LensLike' f s a+code = Data.ProtoLens.Field.field @"code"+descriptors ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "descriptors" a) =>+  Lens.Family2.LensLike' f s a+descriptors = Data.ProtoLens.Field.field @"descriptors"+diagnostics ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "diagnostics" a) =>+  Lens.Family2.LensLike' f s a+diagnostics = Data.ProtoLens.Field.field @"diagnostics"+disambiguator ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "disambiguator" a) =>+  Lens.Family2.LensLike' f s a+disambiguator = Data.ProtoLens.Field.field @"disambiguator"+displayName ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "displayName" a) =>+  Lens.Family2.LensLike' f s a+displayName = Data.ProtoLens.Field.field @"displayName"+documentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "documentation" a) =>+  Lens.Family2.LensLike' f s a+documentation = Data.ProtoLens.Field.field @"documentation"+documents ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "documents" a) =>+  Lens.Family2.LensLike' f s a+documents = Data.ProtoLens.Field.field @"documents"+enclosingRange ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "enclosingRange" a) =>+  Lens.Family2.LensLike' f s a+enclosingRange = Data.ProtoLens.Field.field @"enclosingRange"+enclosingSymbol ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "enclosingSymbol" a) =>+  Lens.Family2.LensLike' f s a+enclosingSymbol = Data.ProtoLens.Field.field @"enclosingSymbol"+externalSymbols ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "externalSymbols" a) =>+  Lens.Family2.LensLike' f s a+externalSymbols = Data.ProtoLens.Field.field @"externalSymbols"+isDefinition ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "isDefinition" a) =>+  Lens.Family2.LensLike' f s a+isDefinition = Data.ProtoLens.Field.field @"isDefinition"+isImplementation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "isImplementation" a) =>+  Lens.Family2.LensLike' f s a+isImplementation = Data.ProtoLens.Field.field @"isImplementation"+isReference ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "isReference" a) =>+  Lens.Family2.LensLike' f s a+isReference = Data.ProtoLens.Field.field @"isReference"+isTypeDefinition ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "isTypeDefinition" a) =>+  Lens.Family2.LensLike' f s a+isTypeDefinition = Data.ProtoLens.Field.field @"isTypeDefinition"+kind ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "kind" a) =>+  Lens.Family2.LensLike' f s a+kind = Data.ProtoLens.Field.field @"kind"+language ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "language" a) =>+  Lens.Family2.LensLike' f s a+language = Data.ProtoLens.Field.field @"language"+manager ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "manager" a) =>+  Lens.Family2.LensLike' f s a+manager = Data.ProtoLens.Field.field @"manager"+maybe'metadata ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "maybe'metadata" a) =>+  Lens.Family2.LensLike' f s a+maybe'metadata = Data.ProtoLens.Field.field @"maybe'metadata"+maybe'package ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "maybe'package" a) =>+  Lens.Family2.LensLike' f s a+maybe'package = Data.ProtoLens.Field.field @"maybe'package"+maybe'signatureDocumentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "maybe'signatureDocumentation" a) =>+  Lens.Family2.LensLike' f s a+maybe'signatureDocumentation+  = Data.ProtoLens.Field.field @"maybe'signatureDocumentation"+maybe'toolInfo ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "maybe'toolInfo" a) =>+  Lens.Family2.LensLike' f s a+maybe'toolInfo = Data.ProtoLens.Field.field @"maybe'toolInfo"+message ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "message" a) =>+  Lens.Family2.LensLike' f s a+message = Data.ProtoLens.Field.field @"message"+metadata ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "metadata" a) =>+  Lens.Family2.LensLike' f s a+metadata = Data.ProtoLens.Field.field @"metadata"+name ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "name" a) =>+  Lens.Family2.LensLike' f s a+name = Data.ProtoLens.Field.field @"name"+occurrences ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "occurrences" a) =>+  Lens.Family2.LensLike' f s a+occurrences = Data.ProtoLens.Field.field @"occurrences"+overrideDocumentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "overrideDocumentation" a) =>+  Lens.Family2.LensLike' f s a+overrideDocumentation+  = Data.ProtoLens.Field.field @"overrideDocumentation"+package ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "package" a) =>+  Lens.Family2.LensLike' f s a+package = Data.ProtoLens.Field.field @"package"+positionEncoding ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "positionEncoding" a) =>+  Lens.Family2.LensLike' f s a+positionEncoding = Data.ProtoLens.Field.field @"positionEncoding"+projectRoot ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "projectRoot" a) =>+  Lens.Family2.LensLike' f s a+projectRoot = Data.ProtoLens.Field.field @"projectRoot"+range ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "range" a) =>+  Lens.Family2.LensLike' f s a+range = Data.ProtoLens.Field.field @"range"+relationships ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "relationships" a) =>+  Lens.Family2.LensLike' f s a+relationships = Data.ProtoLens.Field.field @"relationships"+relativePath ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "relativePath" a) =>+  Lens.Family2.LensLike' f s a+relativePath = Data.ProtoLens.Field.field @"relativePath"+scheme ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "scheme" a) =>+  Lens.Family2.LensLike' f s a+scheme = Data.ProtoLens.Field.field @"scheme"+severity ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "severity" a) =>+  Lens.Family2.LensLike' f s a+severity = Data.ProtoLens.Field.field @"severity"+signatureDocumentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "signatureDocumentation" a) =>+  Lens.Family2.LensLike' f s a+signatureDocumentation+  = Data.ProtoLens.Field.field @"signatureDocumentation"+source ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "source" a) =>+  Lens.Family2.LensLike' f s a+source = Data.ProtoLens.Field.field @"source"+suffix ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "suffix" a) =>+  Lens.Family2.LensLike' f s a+suffix = Data.ProtoLens.Field.field @"suffix"+symbol ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "symbol" a) =>+  Lens.Family2.LensLike' f s a+symbol = Data.ProtoLens.Field.field @"symbol"+symbolRoles ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "symbolRoles" a) =>+  Lens.Family2.LensLike' f s a+symbolRoles = Data.ProtoLens.Field.field @"symbolRoles"+symbols ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "symbols" a) =>+  Lens.Family2.LensLike' f s a+symbols = Data.ProtoLens.Field.field @"symbols"+syntaxKind ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "syntaxKind" a) =>+  Lens.Family2.LensLike' f s a+syntaxKind = Data.ProtoLens.Field.field @"syntaxKind"+tags ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "tags" a) =>+  Lens.Family2.LensLike' f s a+tags = Data.ProtoLens.Field.field @"tags"+text ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "text" a) =>+  Lens.Family2.LensLike' f s a+text = Data.ProtoLens.Field.field @"text"+textDocumentEncoding ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "textDocumentEncoding" a) =>+  Lens.Family2.LensLike' f s a+textDocumentEncoding+  = Data.ProtoLens.Field.field @"textDocumentEncoding"+toolInfo ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "toolInfo" a) =>+  Lens.Family2.LensLike' f s a+toolInfo = Data.ProtoLens.Field.field @"toolInfo"+vec'arguments ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'arguments" a) =>+  Lens.Family2.LensLike' f s a+vec'arguments = Data.ProtoLens.Field.field @"vec'arguments"+vec'descriptors ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'descriptors" a) =>+  Lens.Family2.LensLike' f s a+vec'descriptors = Data.ProtoLens.Field.field @"vec'descriptors"+vec'diagnostics ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'diagnostics" a) =>+  Lens.Family2.LensLike' f s a+vec'diagnostics = Data.ProtoLens.Field.field @"vec'diagnostics"+vec'documentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'documentation" a) =>+  Lens.Family2.LensLike' f s a+vec'documentation = Data.ProtoLens.Field.field @"vec'documentation"+vec'documents ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'documents" a) =>+  Lens.Family2.LensLike' f s a+vec'documents = Data.ProtoLens.Field.field @"vec'documents"+vec'enclosingRange ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'enclosingRange" a) =>+  Lens.Family2.LensLike' f s a+vec'enclosingRange+  = Data.ProtoLens.Field.field @"vec'enclosingRange"+vec'externalSymbols ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'externalSymbols" a) =>+  Lens.Family2.LensLike' f s a+vec'externalSymbols+  = Data.ProtoLens.Field.field @"vec'externalSymbols"+vec'occurrences ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'occurrences" a) =>+  Lens.Family2.LensLike' f s a+vec'occurrences = Data.ProtoLens.Field.field @"vec'occurrences"+vec'overrideDocumentation ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'overrideDocumentation" a) =>+  Lens.Family2.LensLike' f s a+vec'overrideDocumentation+  = Data.ProtoLens.Field.field @"vec'overrideDocumentation"+vec'range ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'range" a) =>+  Lens.Family2.LensLike' f s a+vec'range = Data.ProtoLens.Field.field @"vec'range"+vec'relationships ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'relationships" a) =>+  Lens.Family2.LensLike' f s a+vec'relationships = Data.ProtoLens.Field.field @"vec'relationships"+vec'symbols ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'symbols" a) =>+  Lens.Family2.LensLike' f s a+vec'symbols = Data.ProtoLens.Field.field @"vec'symbols"+vec'tags ::+  forall f s a.+  (Prelude.Functor f,+   Data.ProtoLens.Field.HasField s "vec'tags" a) =>+  Lens.Family2.LensLike' f s a+vec'tags = Data.ProtoLens.Field.field @"vec'tags"+version ::+  forall f s a.+  (Prelude.Functor f, Data.ProtoLens.Field.HasField s "version" a) =>+  Lens.Family2.LensLike' f s a+version = Data.ProtoLens.Field.field @"version"