diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,8 +1,12 @@
 # Changelog for `proto-lens`
 
-## v0.3.1.3
+## v0.4
+- Don't use `data-default` for default proto values (#194).
+- Update the proto descriptors to protobuf-3.6.1.
+- Use simplified lens-labels instances. (#208)
+
+## v0.3.1.1
 - Bump the lower bound on `base` to indicate we require `ghc>=8.0`.
-- Add support for ghc-8.6.
 
 ## v0.3.1.0
 - Improve references to types/fields in decoding error messages (#187).
diff --git a/proto-lens-imports/google/protobuf/compiler/plugin.proto b/proto-lens-imports/google/protobuf/compiler/plugin.proto
--- a/proto-lens-imports/google/protobuf/compiler/plugin.proto
+++ b/proto-lens-imports/google/protobuf/compiler/plugin.proto
@@ -49,10 +49,20 @@
 option java_package = "com.google.protobuf.compiler";
 option java_outer_classname = "PluginProtos";
 
-option go_package = "plugin_go";
+option go_package = "github.com/golang/protobuf/protoc-gen-go/plugin;plugin_go";
 
 import "google/protobuf/descriptor.proto";
 
+// The version number of protocol compiler.
+message Version {
+  optional int32 major = 1;
+  optional int32 minor = 2;
+  optional int32 patch = 3;
+  // A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
+  // be empty for mainline stable releases.
+  optional string suffix = 4;
+}
+
 // An encoded CodeGeneratorRequest is written to the plugin's stdin.
 message CodeGeneratorRequest {
   // The .proto files that were explicitly listed on the command-line.  The
@@ -74,7 +84,14 @@
   // the entire set into memory at once.  However, as of this writing, this
   // is not similarly optimized on protoc's end -- it will store all fields in
   // memory at once before sending them to the plugin.
+  //
+  // Type names of fields and extensions in the FileDescriptorProto are always
+  // fully qualified.
   repeated FileDescriptorProto proto_file = 15;
+
+  // The version number of protocol compiler.
+  optional Version compiler_version = 3;
+
 }
 
 // The plugin writes an encoded CodeGeneratorResponse to stdout.
diff --git a/proto-lens-imports/google/protobuf/descriptor.proto b/proto-lens-imports/google/protobuf/descriptor.proto
--- a/proto-lens-imports/google/protobuf/descriptor.proto
+++ b/proto-lens-imports/google/protobuf/descriptor.proto
@@ -40,11 +40,12 @@
 syntax = "proto2";
 
 package google.protobuf;
-option go_package = "descriptor";
+option go_package = "github.com/golang/protobuf/protoc-gen-go/descriptor;descriptor";
 option java_package = "com.google.protobuf";
 option java_outer_classname = "DescriptorProtos";
 option csharp_namespace = "Google.Protobuf.Reflection";
 option objc_class_prefix = "GPB";
+option cc_enable_arenas = true;
 
 // descriptor.proto must be optimized for speed because reflection-based
 // algorithms don't work during bootstrapping.
@@ -101,6 +102,8 @@
   message ExtensionRange {
     optional int32 start = 1;
     optional int32 end = 2;
+
+    optional ExtensionRangeOptions options = 3;
   }
   repeated ExtensionRange extension_range = 5;
 
@@ -121,6 +124,14 @@
   repeated string reserved_name = 10;
 }
 
+message ExtensionRangeOptions {
+  // The parser stores options it doesn't recognize here. See above.
+  repeated UninterpretedOption uninterpreted_option = 999;
+
+  // Clients can define custom options in extensions of this message. See above.
+  extensions 1000 to max;
+}
+
 // Describes a field within a message.
 message FieldDescriptorProto {
   enum Type {
@@ -139,7 +150,11 @@
     TYPE_FIXED32        = 7;
     TYPE_BOOL           = 8;
     TYPE_STRING         = 9;
-    TYPE_GROUP          = 10;  // Tag-delimited aggregate.
+    // Tag-delimited aggregate.
+    // Group type is deprecated and not supported in proto3. However, Proto3
+    // implementations should still be able to parse the group wire format and
+    // treat group fields as unknown fields.
+    TYPE_GROUP          = 10;
     TYPE_MESSAGE        = 11;  // Length-delimited aggregate.
 
     // New in version 2.
@@ -157,7 +172,6 @@
     LABEL_OPTIONAL      = 1;
     LABEL_REQUIRED      = 2;
     LABEL_REPEATED      = 3;
-    // TODO(sanjay): Should we add LABEL_MAP?
   };
 
   optional string name = 1;
@@ -202,6 +216,7 @@
 // Describes a oneof.
 message OneofDescriptorProto {
   optional string name = 1;
+  optional OneofOptions options = 2;
 }
 
 // Describes an enum type.
@@ -211,6 +226,26 @@
   repeated EnumValueDescriptorProto value = 2;
 
   optional EnumOptions options = 3;
+
+  // Range of reserved numeric values. Reserved values may not be used by
+  // entries in the same enum. Reserved ranges may not overlap.
+  //
+  // Note that this is distinct from DescriptorProto.ReservedRange in that it
+  // is inclusive such that it can appropriately represent the entire int32
+  // domain.
+  message EnumReservedRange {
+    optional int32 start = 1; // Inclusive.
+    optional int32 end = 2;   // Inclusive.
+  }
+
+  // Range of reserved numeric values. Reserved numeric values may not be used
+  // by enum values in the same enum declaration. Reserved ranges may not
+  // overlap.
+  repeated EnumReservedRange reserved_range = 4;
+
+  // Reserved enum value names, which may not be reused. A given name may only
+  // be reserved once.
+  repeated string reserved_name = 5;
 }
 
 // Describes a value within an enum.
@@ -304,19 +339,8 @@
   // top-level extensions defined in the file.
   optional bool java_multiple_files = 10 [default=false];
 
-  // If set true, then the Java code generator will generate equals() and
-  // hashCode() methods for all messages defined in the .proto file.
-  // This increases generated code size, potentially substantially for large
-  // protos, which may harm a memory-constrained application.
-  // - In the full runtime this is a speed optimization, as the
-  // AbstractMessage base class includes reflection-based implementations of
-  // these methods.
-  // - In the lite runtime, setting this option changes the semantics of
-  // equals() and hashCode() to more closely match those of the full runtime;
-  // the generated methods compute their results based on field values rather
-  // than object identity. (Implementations should not assume that hashcodes
-  // will be consistent across runtimes or versions of the protocol compiler.)
-  optional bool java_generate_equals_and_hash = 20 [default=false];
+  // This option does nothing.
+  optional bool java_generate_equals_and_hash = 20 [deprecated=true];
 
   // If set true, then the Java2 code generator will generate code that
   // throws an exception whenever an attempt is made to assign a non-UTF-8
@@ -358,6 +382,7 @@
   optional bool cc_generic_services = 16 [default=false];
   optional bool java_generic_services = 17 [default=false];
   optional bool py_generic_services = 18 [default=false];
+  optional bool php_generic_services = 42 [default=false];
 
   // Is this file deprecated?
   // Depending on the target platform, this can emit Deprecated annotations
@@ -377,10 +402,38 @@
   // Namespace for generated classes; defaults to the package.
   optional string csharp_namespace = 37;
 
-  // The parser stores options it doesn't recognize here. See above.
+  // By default Swift generators will take the proto package and CamelCase it
+  // replacing '.' with underscore and use that to prefix the types/symbols
+  // defined. When this options is provided, they will use this value instead
+  // to prefix the types/symbols defined.
+  optional string swift_prefix = 39;
+
+  // Sets the php class prefix which is prepended to all php generated classes
+  // from this .proto. Default is empty.
+  optional string php_class_prefix = 40;
+
+  // Use this option to change the namespace of php generated classes. Default
+  // is empty. When this option is empty, the package name will be used for
+  // determining the namespace.
+  optional string php_namespace = 41;
+
+
+  // Use this option to change the namespace of php generated metadata classes.
+  // Default is empty. When this option is empty, the proto file name will be used
+  // for determining the namespace.
+  optional string php_metadata_namespace = 44;
+
+  // Use this option to change the package of ruby generated classes. Default
+  // is empty. When this option is not set, the package name will be used for
+  // determining the ruby package.
+  optional string ruby_package = 45;
+
+  // The parser stores options it doesn't recognize here.
+  // See the documentation for the "Options" section above.
   repeated UninterpretedOption uninterpreted_option = 999;
 
-  // Clients can define custom options in extensions of this message. See above.
+  // Clients can define custom options in extensions of this message.
+  // See the documentation for the "Options" section above.
   extensions 1000 to max;
 
   reserved 38;
@@ -441,6 +494,9 @@
   // parser.
   optional bool map_entry = 7;
 
+  reserved 8;  // javalite_serializable
+  reserved 9;  // javanano_as_lite
+
   // The parser stores options it doesn't recognize here. See above.
   repeated UninterpretedOption uninterpreted_option = 999;
 
@@ -469,16 +525,17 @@
   // false will avoid using packed encoding.
   optional bool packed = 2;
 
-
   // The jstype option determines the JavaScript type used for values of the
   // field.  The option is permitted only for 64 bit integral and fixed types
-  // (int64, uint64, sint64, fixed64, sfixed64).  By default these types are
-  // represented as JavaScript strings.  This avoids loss of precision that can
-  // happen when a large value is converted to a floating point JavaScript
-  // numbers.  Specifying JS_NUMBER for the jstype causes the generated
-  // JavaScript code to use the JavaScript "number" type instead of strings.
-  // This option is an enum to permit additional types to be added,
-  // e.g. goog.math.Integer.
+  // (int64, uint64, sint64, fixed64, sfixed64).  A field with jstype JS_STRING
+  // is represented as JavaScript string, which avoids loss of precision that
+  // can happen when a large value is converted to a floating point JavaScript.
+  // Specifying JS_NUMBER for the jstype causes the generated JavaScript code to
+  // use the JavaScript "number" type.  The behavior of the default option
+  // JS_NORMAL is implementation dependent.
+  //
+  // This option is an enum to permit additional types to be added, e.g.
+  // goog.math.Integer.
   optional JSType jstype = 6 [default = JS_NORMAL];
   enum JSType {
     // Use the default type.
@@ -510,7 +567,7 @@
   //
   //
   // Note that implementations may choose not to check required fields within
-  // a lazy sub-message.  That is, calling IsInitialized() on the outher message
+  // a lazy sub-message.  That is, calling IsInitialized() on the outer message
   // may return true even if the inner message has missing required fields.
   // This is necessary because otherwise the inner message would have to be
   // parsed in order to perform the check, defeating the purpose of lazy
@@ -536,8 +593,18 @@
 
   // Clients can define custom options in extensions of this message. See above.
   extensions 1000 to max;
+
+  reserved 4;  // removed jtype
 }
 
+message OneofOptions {
+  // The parser stores options it doesn't recognize here. See above.
+  repeated UninterpretedOption uninterpreted_option = 999;
+
+  // Clients can define custom options in extensions of this message. See above.
+  extensions 1000 to max;
+}
+
 message EnumOptions {
 
   // Set this option to true to allow mapping different tag names to the same
@@ -550,6 +617,8 @@
   // is a formalization for deprecating enums.
   optional bool deprecated = 3 [default=false];
 
+  reserved 5;  // javanano_as_lite
+
   // The parser stores options it doesn't recognize here. See above.
   repeated UninterpretedOption uninterpreted_option = 999;
 
@@ -603,6 +672,17 @@
   // for the method, or it will be completely ignored; in the very least,
   // this is a formalization for deprecating methods.
   optional bool deprecated = 33 [default=false];
+
+  // Is this method side-effect-free (or safe in HTTP parlance), or idempotent,
+  // or neither? HTTP based RPC implementation may choose GET verb for safe
+  // methods, and PUT verb for idempotent methods instead of the default POST.
+  enum IdempotencyLevel {
+    IDEMPOTENCY_UNKNOWN = 0;
+    NO_SIDE_EFFECTS     = 1; // implies idempotent
+    IDEMPOTENT          = 2; // idempotent, but may have side effects
+  }
+  optional IdempotencyLevel idempotency_level =
+      34 [default=IDEMPOTENCY_UNKNOWN];
 
   // The parser stores options it doesn't recognize here. See above.
   repeated UninterpretedOption uninterpreted_option = 999;
diff --git a/proto-lens.cabal b/proto-lens.cabal
--- a/proto-lens.cabal
+++ b/proto-lens.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: e861709a62f9bb5aed79ce928ff46e599d67119f6b2b28968149652593c8e8d0
+-- hash: 31fe09f6b294be55cf57e56d57b17fe11d3c5cffb5ebdcdf225bf4783b7e2225
 
 name:           proto-lens
-version:        0.3.1.3
+version:        0.4.0.0
 synopsis:       A lens-based implementation of protocol buffers in Haskell.
 description:    The proto-lens library provides to protocol buffers using modern Haskell language and library patterns.  Specifically, it provides:
                 .
@@ -38,6 +38,7 @@
 library
   exposed-modules:
       Data.ProtoLens
+      Data.ProtoLens.Default
       Data.ProtoLens.Encoding
       Data.ProtoLens.Encoding.Wire
       Data.ProtoLens.Message
@@ -55,13 +56,12 @@
       src
   build-depends:
       attoparsec ==0.13.*
-    , base >=4.9 && <4.13
+    , base >=4.9 && <4.12
     , bytestring ==0.10.*
-    , containers >=0.5 && <0.7
-    , data-default-class >=0.0 && <0.2
+    , containers ==0.5.*
     , deepseq ==1.4.*
     , lens-family ==1.2.*
-    , lens-labels ==0.2.*
+    , lens-labels ==0.3.*
     , parsec ==3.1.*
     , pretty ==1.1.*
     , text ==1.2.*
diff --git a/src/Data/ProtoLens/Default.hs b/src/Data/ProtoLens/Default.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/ProtoLens/Default.hs
@@ -0,0 +1,20 @@
+-- | A compatibility layer for older code to create default protocol buffer messages.
+--
+-- In older versions of @proto-lens@, messages could be constructed with
+-- @Data.Default.Class.def@.  However, for @proto-lens >= 0.4@, that is
+-- no longer the case and @Data.ProtoLens.defMessage@ should be used instead.
+--
+-- This module provides a compatibility layer that may be used to upgrade
+-- older code without substantial code changes.
+module Data.ProtoLens.Default
+    ( def
+    , Message
+    ) where
+
+import Data.ProtoLens.Message (Message(defMessage))
+
+-- | A message with all fields set to their default values.
+--
+-- For new code, prefer `defMessage`.
+def :: Message a => a
+def = defMessage
diff --git a/src/Data/ProtoLens/Encoding.hs b/src/Data/ProtoLens/Encoding.hs
--- a/src/Data/ProtoLens/Encoding.hs
+++ b/src/Data/ProtoLens/Encoding.hs
@@ -55,7 +55,7 @@
 -- the case of a group, and end-of-input otherwise).
 parseMessage :: forall msg . Message msg => Parser () -> Parser msg
 parseMessage end = (Parse.<?> T.unpack (messageName (Proxy @msg))) $ do
-    (msg, unsetFields) <- loop def requiredFields
+    (msg, unsetFields) <- loop defMessage requiredFields
     if Map.null unsetFields
         then return $ over unknownFields reverse
                     $ reverseRepeatedFields fields msg
@@ -227,7 +227,9 @@
             RepeatedField Unpacked f -> concatMap embed (msg ^. f)
             RepeatedField Packed f -> embedPacked (msg ^. f)
             MapField keyLens valueLens f ->
-                concatMap (\(k, v) -> embed $ def & set keyLens k & set valueLens v)
+                concatMap (\(k, v) -> embed $ defMessage
+                                                & set keyLens k
+                                                & set valueLens v)
                     $ Map.toList (msg ^. f)
 
 data FieldWireType value where
diff --git a/src/Data/ProtoLens/Message.hs b/src/Data/ProtoLens/Message.hs
--- a/src/Data/ProtoLens/Message.hs
+++ b/src/Data/ProtoLens/Message.hs
@@ -30,7 +30,6 @@
     FieldDefault(..),
     MessageEnum(..),
     -- * Building protocol buffers
-    Default(..),
     build,
     -- * Proto registries
     Registry,
@@ -51,7 +50,6 @@
     ) where
 
 import qualified Data.ByteString as B
-import Data.Default.Class
 import Data.Int
 import qualified Data.Map as Map
 import Data.Map (Map)
@@ -71,12 +69,19 @@
 -- | Every protocol buffer is an instance of 'Message'.  This class enables
 -- serialization by providing reflection of all of the fields that may be used
 -- by this type.
-class Default msg => Message msg where
+class Message msg where
     -- | A unique identifier for this type, of the format
     -- @"packagename.messagename"@.
     messageName :: Proxy msg -> T.Text
+
+    -- | A message with all fields set to their default values.
+    --
+    -- Satisfies @encodeMessage defMessage == ""@ and @decodeMessage "" == Right defMessage@.
+    defMessage :: msg
+
     -- | The fields of the proto, indexed by their (integer) tag.
     fieldsByTag :: Map Tag (FieldDescriptor msg)
+
     -- | This map is keyed by the name of the field used for text format protos.
     -- This is just the field name for every field except for group fields,
     -- which use their Message type name in text protos instead of their
@@ -85,6 +90,7 @@
     fieldsByTextFormatName :: Map String (FieldDescriptor msg)
     fieldsByTextFormatName =
         Map.fromList [(n, f) | f@(FieldDescriptor n _ _) <- allFields]
+
     -- | Access the unknown fields of a Message.
     unknownFields :: Lens' msg FieldSet
 
@@ -142,8 +148,9 @@
 
 -- | A proto3 field type with an implicit default value.
 --
--- This is distinct from 'Data.Default' to avoid orphan instances, and because
--- 'Bool' doesn't necessarily have a good Default instance for general usage.
+-- This is distinct from, say, 'Data.Default' to avoid orphan instances, and
+-- because 'Bool' doesn't necessarily have a good Default instance for general
+-- usage.
 class FieldDefault value where
     fieldDefault :: value
 
@@ -243,8 +250,8 @@
 -- > x, y :: Lens' A Int
 -- > m :: A
 -- > m = build ((x .~ 5) . (y .~ 7))
-build :: Default a => (a -> a) -> a
-build = ($ def)
+build :: Message a => (a -> a) -> a
+build = ($ defMessage)
 
 -- | A helper lens for accessing optional fields.
 -- This is used as part of code generation, and should generally not be needed
diff --git a/src/Data/ProtoLens/TextFormat.hs b/src/Data/ProtoLens/TextFormat.hs
--- a/src/Data/ProtoLens/TextFormat.hs
+++ b/src/Data/ProtoLens/TextFormat.hs
@@ -105,8 +105,9 @@
         -- TODO: better printing for packed fields
         RepeatedField _ f -> msg ^. f
         MapField k v f -> pairToMsg <$> Map.assocs (msg ^. f)
-          where pairToMsg (x,y) = def & k .~ x
-                                      & v .~ y
+          where pairToMsg (x,y) = defMessage
+                                    & k .~ x
+                                    & v .~ y
 
 pprintFieldValue :: Registry -> String -> FieldTypeDescriptor value -> value -> Doc
 pprintFieldValue reg name field@(MessageField MessageType) m
@@ -222,7 +223,7 @@
     | missing <- missingFields (Proxy @msg) fields, not $ null missing
         = Left $ "Missing fields " ++ show missing
     | otherwise = reverseRepeatedFields fieldsByTag
-                      <$> buildMessageFromDescriptor reg def fields
+                      <$> buildMessageFromDescriptor reg defMessage fields
 
 missingFields :: forall msg . Message msg => Proxy msg -> Parser.Message -> [String]
 missingFields _ = Set.toList . foldl' deleteField requiredFieldNames
@@ -283,8 +284,9 @@
           Just (SomeMessageType (Proxy :: Proxy value')) ->
             case buildMessage reg x :: Either String value' of
               Left err -> Left err
-              Right value' -> Right (def & anyTypeUrlLens .~ typeUri
-                                         & anyValueLens .~ encodeMessage value')
+              Right value' -> Right (defMessage
+                                        & anyTypeUrlLens .~ typeUri
+                                        & anyValueLens .~ encodeMessage value')
     | otherwise = Left ("Type mismatch parsing explicitly typed message. Expected " ++
                         show (messageName (Proxy @value))  ++
                         ", got " ++ show typeUri)
diff --git a/src/Proto/Google/Protobuf/Compiler/Plugin.hs b/src/Proto/Google/Protobuf/Compiler/Plugin.hs
--- a/src/Proto/Google/Protobuf/Compiler/Plugin.hs
+++ b/src/Proto/Google/Protobuf/Compiler/Plugin.hs
@@ -6,9 +6,10 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports#-}
 {-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
 module Proto.Google.Protobuf.Compiler.Plugin
-       (CodeGeneratorRequest(..), CodeGeneratorResponse(..),
-        CodeGeneratorResponse'File(..))
+       (CodeGeneratorRequest(), CodeGeneratorResponse(),
+        CodeGeneratorResponse'File(), Version())
        where
+import qualified Control.DeepSeq
 import qualified Lens.Labels.Prism
 import qualified Prelude
 import qualified Data.Int
@@ -18,7 +19,6 @@
 import qualified Data.ProtoLens.Service.Types
 import qualified Lens.Family2
 import qualified Lens.Family2.Unchecked
-import qualified Data.Default.Class
 import qualified Data.Text
 import qualified Data.Map
 import qualified Data.ByteString
@@ -34,6 +34,8 @@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'parameter' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Data.Text.Text)@
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.protoFile' @:: Lens' CodeGeneratorRequest
   [Proto.Google.Protobuf.Descriptor.FileDescriptorProto]@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.compilerVersion' @:: Lens' CodeGeneratorRequest Version@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'compilerVersion' @:: Lens' CodeGeneratorRequest (Prelude.Maybe Version)@
  -}
 data CodeGeneratorRequest = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate
                                                  :: ![Data.Text.Text],
@@ -41,17 +43,17 @@
                                                  !(Prelude.Maybe Data.Text.Text),
                                                  _CodeGeneratorRequest'protoFile ::
                                                  ![Proto.Google.Protobuf.Descriptor.FileDescriptorProto],
+                                                 _CodeGeneratorRequest'compilerVersion ::
+                                                 !(Prelude.Maybe Version),
                                                  _CodeGeneratorRequest'_unknownFields ::
                                                  !Data.ProtoLens.FieldSet}
-                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f CodeGeneratorRequest x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f CodeGeneratorRequest CodeGeneratorRequest x a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorRequest "fileToGenerate"
+                              deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show CodeGeneratorRequest where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' CodeGeneratorRequest "fileToGenerate"
            ([Data.Text.Text])
          where
         lensOf' _
@@ -59,8 +61,7 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'fileToGenerate
                  (\ x__ y__ -> x__{_CodeGeneratorRequest'fileToGenerate = y__}))
               Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorRequest "parameter"
+instance Lens.Labels.HasLens' CodeGeneratorRequest "parameter"
            (Data.Text.Text)
          where
         lensOf' _
@@ -68,8 +69,8 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
                  (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
               (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorRequest "maybe'parameter"
+instance Lens.Labels.HasLens' CodeGeneratorRequest
+           "maybe'parameter"
            (Prelude.Maybe Data.Text.Text)
          where
         lensOf' _
@@ -77,8 +78,7 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'parameter
                  (\ x__ y__ -> x__{_CodeGeneratorRequest'parameter = y__}))
               Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorRequest "protoFile"
+instance Lens.Labels.HasLens' CodeGeneratorRequest "protoFile"
            ([Proto.Google.Protobuf.Descriptor.FileDescriptorProto])
          where
         lensOf' _
@@ -86,12 +86,24 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'protoFile
                  (\ x__ y__ -> x__{_CodeGeneratorRequest'protoFile = y__}))
               Prelude.id
-instance Data.Default.Class.Default CodeGeneratorRequest where
-        def
-          = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate = [],
-                                 _CodeGeneratorRequest'parameter = Prelude.Nothing,
-                                 _CodeGeneratorRequest'protoFile = [],
-                                 _CodeGeneratorRequest'_unknownFields = ([])}
+instance Lens.Labels.HasLens' CodeGeneratorRequest
+           "compilerVersion"
+           (Version)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'compilerVersion
+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' CodeGeneratorRequest
+           "maybe'compilerVersion"
+           (Prelude.Maybe Version)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _CodeGeneratorRequest'compilerVersion
+                 (\ x__ y__ -> x__{_CodeGeneratorRequest'compilerVersion = y__}))
+              Prelude.id
 instance Data.ProtoLens.Message CodeGeneratorRequest where
         messageName _
           = Data.Text.pack "google.protobuf.compiler.CodeGeneratorRequest"
@@ -101,7 +113,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
                 parameter__field_descriptor
@@ -109,7 +121,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
                 protoFile__field_descriptor
@@ -118,17 +130,43 @@
                          Data.ProtoLens.FieldTypeDescriptor
                            Proto.Google.Protobuf.Descriptor.FileDescriptorProto)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
+                compilerVersion__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "compiler_version"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor Version)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'compilerVersion")))
+                      :: Data.ProtoLens.FieldDescriptor CodeGeneratorRequest
               in
               Data.Map.fromList
                 [(Data.ProtoLens.Tag 1, fileToGenerate__field_descriptor),
                  (Data.ProtoLens.Tag 2, parameter__field_descriptor),
-                 (Data.ProtoLens.Tag 15, protoFile__field_descriptor)]
+                 (Data.ProtoLens.Tag 15, protoFile__field_descriptor),
+                 (Data.ProtoLens.Tag 3, compilerVersion__field_descriptor)]
         unknownFields
           = Lens.Family2.Unchecked.lens _CodeGeneratorRequest'_unknownFields
               (\ x__ y__ -> x__{_CodeGeneratorRequest'_unknownFields = y__})
+        defMessage
+          = CodeGeneratorRequest{_CodeGeneratorRequest'fileToGenerate = [],
+                                 _CodeGeneratorRequest'parameter = Prelude.Nothing,
+                                 _CodeGeneratorRequest'protoFile = [],
+                                 _CodeGeneratorRequest'compilerVersion = Prelude.Nothing,
+                                 _CodeGeneratorRequest'_unknownFields = ([])}
+instance Control.DeepSeq.NFData CodeGeneratorRequest where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_CodeGeneratorRequest'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_CodeGeneratorRequest'fileToGenerate x__)
+                   (Control.DeepSeq.deepseq (_CodeGeneratorRequest'parameter x__)
+                      (Control.DeepSeq.deepseq (_CodeGeneratorRequest'protoFile x__)
+                         (Control.DeepSeq.deepseq
+                            (_CodeGeneratorRequest'compilerVersion x__)
+                            (())))))
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.error' @:: Lens' CodeGeneratorResponse Data.Text.Text@
@@ -141,16 +179,13 @@
                                                    ![CodeGeneratorResponse'File],
                                                    _CodeGeneratorResponse'_unknownFields ::
                                                    !Data.ProtoLens.FieldSet}
-                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f CodeGeneratorResponse x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f CodeGeneratorResponse CodeGeneratorResponse x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse "error"
+                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show CodeGeneratorResponse where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' CodeGeneratorResponse "error"
            (Data.Text.Text)
          where
         lensOf' _
@@ -158,8 +193,7 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
               (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse "maybe'error"
+instance Lens.Labels.HasLens' CodeGeneratorResponse "maybe'error"
            (Prelude.Maybe Data.Text.Text)
          where
         lensOf' _
@@ -167,8 +201,7 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'error
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'error = y__}))
               Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse "file"
+instance Lens.Labels.HasLens' CodeGeneratorResponse "file"
            ([CodeGeneratorResponse'File])
          where
         lensOf' _
@@ -176,12 +209,6 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'file
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'file = y__}))
               Prelude.id
-instance Data.Default.Class.Default CodeGeneratorResponse where
-        def
-          = CodeGeneratorResponse{_CodeGeneratorResponse'error =
-                                    Prelude.Nothing,
-                                  _CodeGeneratorResponse'file = [],
-                                  _CodeGeneratorResponse'_unknownFields = ([])}
 instance Data.ProtoLens.Message CodeGeneratorResponse where
         messageName _
           = Data.Text.pack "google.protobuf.compiler.CodeGeneratorResponse"
@@ -191,7 +218,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse
                 file__field_descriptor
@@ -199,7 +226,7 @@
                       (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
                          Data.ProtoLens.FieldTypeDescriptor CodeGeneratorResponse'File)
                       (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse
               in
@@ -209,6 +236,17 @@
         unknownFields
           = Lens.Family2.Unchecked.lens _CodeGeneratorResponse'_unknownFields
               (\ x__ y__ -> x__{_CodeGeneratorResponse'_unknownFields = y__})
+        defMessage
+          = CodeGeneratorResponse{_CodeGeneratorResponse'error =
+                                    Prelude.Nothing,
+                                  _CodeGeneratorResponse'file = [],
+                                  _CodeGeneratorResponse'_unknownFields = ([])}
+instance Control.DeepSeq.NFData CodeGeneratorResponse where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_CodeGeneratorResponse'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_CodeGeneratorResponse'error x__)
+                   (Control.DeepSeq.deepseq (_CodeGeneratorResponse'file x__) (())))
 {- | Fields :
 
     * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.name' @:: Lens' CodeGeneratorResponse'File Data.Text.Text@
@@ -226,18 +264,13 @@
                                                              !(Prelude.Maybe Data.Text.Text),
                                                              _CodeGeneratorResponse'File'_unknownFields
                                                              :: !Data.ProtoLens.FieldSet}
-                                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f CodeGeneratorResponse'File x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f CodeGeneratorResponse'File
-           CodeGeneratorResponse'File
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File "name"
+                                    deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show CodeGeneratorResponse'File where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File "name"
            (Data.Text.Text)
          where
         lensOf' _
@@ -245,8 +278,8 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
               (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File "maybe'name"
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+           "maybe'name"
            (Prelude.Maybe Data.Text.Text)
          where
         lensOf' _
@@ -254,8 +287,8 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'name
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'File'name = y__}))
               Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File "insertionPoint"
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+           "insertionPoint"
            (Data.Text.Text)
          where
         lensOf' _
@@ -265,8 +298,7 @@
                  (\ x__ y__ ->
                     x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
               (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File
            "maybe'insertionPoint"
            (Prelude.Maybe Data.Text.Text)
          where
@@ -277,8 +309,7 @@
                  (\ x__ y__ ->
                     x__{_CodeGeneratorResponse'File'insertionPoint = y__}))
               Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File "content"
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File "content"
            (Data.Text.Text)
          where
         lensOf' _
@@ -286,8 +317,8 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
               (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f CodeGeneratorResponse'File "maybe'content"
+instance Lens.Labels.HasLens' CodeGeneratorResponse'File
+           "maybe'content"
            (Prelude.Maybe Data.Text.Text)
          where
         lensOf' _
@@ -295,14 +326,6 @@
               (Lens.Family2.Unchecked.lens _CodeGeneratorResponse'File'content
                  (\ x__ y__ -> x__{_CodeGeneratorResponse'File'content = y__}))
               Prelude.id
-instance Data.Default.Class.Default CodeGeneratorResponse'File
-         where
-        def
-          = CodeGeneratorResponse'File{_CodeGeneratorResponse'File'name =
-                                         Prelude.Nothing,
-                                       _CodeGeneratorResponse'File'insertionPoint = Prelude.Nothing,
-                                       _CodeGeneratorResponse'File'content = Prelude.Nothing,
-                                       _CodeGeneratorResponse'File'_unknownFields = ([])}
 instance Data.ProtoLens.Message CodeGeneratorResponse'File where
         messageName _
           = Data.Text.pack
@@ -313,7 +336,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
                 insertionPoint__field_descriptor
@@ -321,7 +344,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) ::
                                (Lens.Labels.Proxy#) "maybe'insertionPoint")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
@@ -330,7 +353,7 @@
                       (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
                          Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                       (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
+                         (Lens.Labels.lensOf'
                             ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")))
                       :: Data.ProtoLens.FieldDescriptor CodeGeneratorResponse'File
               in
@@ -343,3 +366,158 @@
               _CodeGeneratorResponse'File'_unknownFields
               (\ x__ y__ ->
                  x__{_CodeGeneratorResponse'File'_unknownFields = y__})
+        defMessage
+          = CodeGeneratorResponse'File{_CodeGeneratorResponse'File'name =
+                                         Prelude.Nothing,
+                                       _CodeGeneratorResponse'File'insertionPoint = Prelude.Nothing,
+                                       _CodeGeneratorResponse'File'content = Prelude.Nothing,
+                                       _CodeGeneratorResponse'File'_unknownFields = ([])}
+instance Control.DeepSeq.NFData CodeGeneratorResponse'File where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_CodeGeneratorResponse'File'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'name x__)
+                   (Control.DeepSeq.deepseq
+                      (_CodeGeneratorResponse'File'insertionPoint x__)
+                      (Control.DeepSeq.deepseq (_CodeGeneratorResponse'File'content x__)
+                         (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.major' @:: Lens' Version Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'major' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.minor' @:: Lens' Version Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'minor' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.patch' @:: Lens' Version Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'patch' @:: Lens' Version (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.suffix' @:: Lens' Version Data.Text.Text@
+    * 'Proto.Google.Protobuf.Compiler.Plugin_Fields.maybe'suffix' @:: Lens' Version (Prelude.Maybe Data.Text.Text)@
+ -}
+data Version = Version{_Version'major ::
+                       !(Prelude.Maybe Data.Int.Int32),
+                       _Version'minor :: !(Prelude.Maybe Data.Int.Int32),
+                       _Version'patch :: !(Prelude.Maybe Data.Int.Int32),
+                       _Version'suffix :: !(Prelude.Maybe Data.Text.Text),
+                       _Version'_unknownFields :: !Data.ProtoLens.FieldSet}
+                 deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Version where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' Version "major" (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'major
+                 (\ x__ y__ -> x__{_Version'major = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' Version "maybe'major"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'major
+                 (\ x__ y__ -> x__{_Version'major = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' Version "minor" (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'minor
+                 (\ x__ y__ -> x__{_Version'minor = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' Version "maybe'minor"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'minor
+                 (\ x__ y__ -> x__{_Version'minor = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' Version "patch" (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'patch
+                 (\ x__ y__ -> x__{_Version'patch = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' Version "maybe'patch"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'patch
+                 (\ x__ y__ -> x__{_Version'patch = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' Version "suffix" (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'suffix
+                 (\ x__ y__ -> x__{_Version'suffix = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' Version "maybe'suffix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _Version'suffix
+                 (\ x__ y__ -> x__{_Version'suffix = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message Version where
+        messageName _ = Data.Text.pack "google.protobuf.compiler.Version"
+        fieldsByTag
+          = let major__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "major"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'major")))
+                      :: Data.ProtoLens.FieldDescriptor Version
+                minor__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "minor"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'minor")))
+                      :: Data.ProtoLens.FieldDescriptor Version
+                patch__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "patch"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'patch")))
+                      :: Data.ProtoLens.FieldDescriptor Version
+                suffix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "suffix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'suffix")))
+                      :: Data.ProtoLens.FieldDescriptor Version
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, major__field_descriptor),
+                 (Data.ProtoLens.Tag 2, minor__field_descriptor),
+                 (Data.ProtoLens.Tag 3, patch__field_descriptor),
+                 (Data.ProtoLens.Tag 4, suffix__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _Version'_unknownFields
+              (\ x__ y__ -> x__{_Version'_unknownFields = y__})
+        defMessage
+          = Version{_Version'major = Prelude.Nothing,
+                    _Version'minor = Prelude.Nothing, _Version'patch = Prelude.Nothing,
+                    _Version'suffix = Prelude.Nothing, _Version'_unknownFields = ([])}
+instance Control.DeepSeq.NFData Version where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_Version'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_Version'major x__)
+                   (Control.DeepSeq.deepseq (_Version'minor x__)
+                      (Control.DeepSeq.deepseq (_Version'patch x__)
+                         (Control.DeepSeq.deepseq (_Version'suffix x__) (())))))
diff --git a/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs b/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
--- a/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
+++ b/src/Proto/Google/Protobuf/Compiler/Plugin_Fields.hs
@@ -14,7 +14,6 @@
 import qualified Data.ProtoLens.Service.Types
 import qualified Lens.Family2
 import qualified Lens.Family2.Unchecked
-import qualified Data.Default.Class
 import qualified Data.Text
 import qualified Data.Map
 import qualified Data.ByteString
@@ -23,87 +22,168 @@
 import qualified Text.Read
 import qualified Proto.Google.Protobuf.Descriptor
 
+compilerVersion ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "compilerVersion" a) =>
+                  Lens.Family2.LensLike' f s a
+compilerVersion
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "compilerVersion")
 content ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "content" a b) =>
-          Lens.Family2.LensLike f s t a b
+        forall f s a .
+          (Prelude.Functor f, Lens.Labels.HasLens' s "content" a) =>
+          Lens.Family2.LensLike' f s a
 content
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "content")
 error ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "error" a b) =>
-        Lens.Family2.LensLike f s t a b
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "error" a) =>
+        Lens.Family2.LensLike' f s a
 error
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "error")
 file ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "file" a b) =>
-       Lens.Family2.LensLike f s t a b
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "file" a) =>
+       Lens.Family2.LensLike' f s a
 file
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")
 fileToGenerate ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "fileToGenerate" a b) =>
-                 Lens.Family2.LensLike f s t a b
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "fileToGenerate" a) =>
+                 Lens.Family2.LensLike' f s a
 fileToGenerate
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "fileToGenerate")
 insertionPoint ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "insertionPoint" a b) =>
-                 Lens.Family2.LensLike f s t a b
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "insertionPoint" a) =>
+                 Lens.Family2.LensLike' f s a
 insertionPoint
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "insertionPoint")
+major ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "major" a) =>
+        Lens.Family2.LensLike' f s a
+major
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "major")
+maybe'compilerVersion ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'compilerVersion" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'compilerVersion
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'compilerVersion")
 maybe'content ::
-              forall f s t a b .
-                (Lens.Labels.HasLens f s t "maybe'content" a b) =>
-                Lens.Family2.LensLike f s t a b
+              forall f s a .
+                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'content" a) =>
+                Lens.Family2.LensLike' f s a
 maybe'content
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'content")
 maybe'error ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'error" a b) =>
-              Lens.Family2.LensLike f s t a b
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'error" a) =>
+              Lens.Family2.LensLike' f s a
 maybe'error
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'error")
 maybe'insertionPoint ::
-                     forall f s t a b .
-                       (Lens.Labels.HasLens f s t "maybe'insertionPoint" a b) =>
-                       Lens.Family2.LensLike f s t a b
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "maybe'insertionPoint" a) =>
+                       Lens.Family2.LensLike' f s a
 maybe'insertionPoint
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) ::
          (Lens.Labels.Proxy#) "maybe'insertionPoint")
+maybe'major ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'major" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'major
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'major")
+maybe'minor ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'minor" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'minor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'minor")
 maybe'name ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'name" a b) =>
-             Lens.Family2.LensLike f s t a b
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'name" a) =>
+             Lens.Family2.LensLike' f s a
 maybe'name
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")
 maybe'parameter ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "maybe'parameter" a b) =>
-                  Lens.Family2.LensLike f s t a b
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'parameter" a) =>
+                  Lens.Family2.LensLike' f s a
 maybe'parameter
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'parameter")
+maybe'patch ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'patch" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'patch
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'patch")
+maybe'suffix ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'suffix" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'suffix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'suffix")
+minor ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "minor" a) =>
+        Lens.Family2.LensLike' f s a
+minor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "minor")
 name ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "name" a b) =>
-       Lens.Family2.LensLike f s t a b
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "name" a) =>
+       Lens.Family2.LensLike' f s a
 name
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")
 parameter ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "parameter" a b) =>
-            Lens.Family2.LensLike f s t a b
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "parameter" a) =>
+            Lens.Family2.LensLike' f s a
 parameter
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "parameter")
+patch ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "patch" a) =>
+        Lens.Family2.LensLike' f s a
+patch
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "patch")
 protoFile ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "protoFile" a b) =>
-            Lens.Family2.LensLike f s t a b
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "protoFile" a) =>
+            Lens.Family2.LensLike' f s a
 protoFile
-  = Lens.Labels.lensOf
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "protoFile")
+suffix ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "suffix" a) =>
+         Lens.Family2.LensLike' f s a
+suffix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "suffix")
diff --git a/src/Proto/Google/Protobuf/Descriptor.hs b/src/Proto/Google/Protobuf/Descriptor.hs
--- a/src/Proto/Google/Protobuf/Descriptor.hs
+++ b/src/Proto/Google/Protobuf/Descriptor.hs
@@ -6,4177 +6,4902 @@
 {-# OPTIONS_GHC -fno-warn-unused-imports#-}
 {-# OPTIONS_GHC -fno-warn-duplicate-exports#-}
 module Proto.Google.Protobuf.Descriptor
-       (DescriptorProto(..), DescriptorProto'ExtensionRange(..),
-        DescriptorProto'ReservedRange(..), EnumDescriptorProto(..),
-        EnumOptions(..), EnumValueDescriptorProto(..),
-        EnumValueOptions(..), FieldDescriptorProto(..),
-        FieldDescriptorProto'Label(..), FieldDescriptorProto'Label(),
-        FieldDescriptorProto'Type(..), FieldDescriptorProto'Type(),
-        FieldOptions(..), FieldOptions'CType(..), FieldOptions'CType(),
-        FieldOptions'JSType(..), FieldOptions'JSType(),
-        FileDescriptorProto(..), FileDescriptorSet(..), FileOptions(..),
-        FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),
-        GeneratedCodeInfo(..), GeneratedCodeInfo'Annotation(..),
-        MessageOptions(..), MethodDescriptorProto(..), MethodOptions(..),
-        OneofDescriptorProto(..), ServiceDescriptorProto(..),
-        ServiceOptions(..), SourceCodeInfo(..),
-        SourceCodeInfo'Location(..), UninterpretedOption(..),
-        UninterpretedOption'NamePart(..))
-       where
-import qualified Lens.Labels.Prism
-import qualified Prelude
-import qualified Data.Int
-import qualified Data.Word
-import qualified Data.ProtoLens
-import qualified Data.ProtoLens.Message.Enum
-import qualified Data.ProtoLens.Service.Types
-import qualified Lens.Family2
-import qualified Lens.Family2.Unchecked
-import qualified Data.Default.Class
-import qualified Data.Text
-import qualified Data.Map
-import qualified Data.ByteString
-import qualified Data.ByteString.Char8
-import qualified Lens.Labels
-import qualified Text.Read
-
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@
- -}
-data DescriptorProto = DescriptorProto{_DescriptorProto'name ::
-                                       !(Prelude.Maybe Data.Text.Text),
-                                       _DescriptorProto'field :: ![FieldDescriptorProto],
-                                       _DescriptorProto'extension :: ![FieldDescriptorProto],
-                                       _DescriptorProto'nestedType :: ![DescriptorProto],
-                                       _DescriptorProto'enumType :: ![EnumDescriptorProto],
-                                       _DescriptorProto'extensionRange ::
-                                       ![DescriptorProto'ExtensionRange],
-                                       _DescriptorProto'oneofDecl :: ![OneofDescriptorProto],
-                                       _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),
-                                       _DescriptorProto'reservedRange ::
-                                       ![DescriptorProto'ReservedRange],
-                                       _DescriptorProto'reservedName :: ![Data.Text.Text],
-                                       _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}
-                     deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f DescriptorProto x a, a ~ b) =>
-         Lens.Labels.HasLens f DescriptorProto DescriptorProto x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "name" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'name
-                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'name
-                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "field"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'field
-                 (\ x__ y__ -> x__{_DescriptorProto'field = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "extension"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'extension
-                 (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "nestedType"
-           ([DescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType
-                 (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "enumType"
-           ([EnumDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'enumType
-                 (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "extensionRange"
-           ([DescriptorProto'ExtensionRange])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange
-                 (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "oneofDecl"
-           ([OneofDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl
-                 (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "options" (MessageOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'options
-                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "maybe'options"
-           (Prelude.Maybe MessageOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'options
-                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "reservedRange"
-           ([DescriptorProto'ReservedRange])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange
-                 (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto "reservedName"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName
-                 (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))
-              Prelude.id
-instance Data.Default.Class.Default DescriptorProto where
-        def
-          = DescriptorProto{_DescriptorProto'name = Prelude.Nothing,
-                            _DescriptorProto'field = [], _DescriptorProto'extension = [],
-                            _DescriptorProto'nestedType = [], _DescriptorProto'enumType = [],
-                            _DescriptorProto'extensionRange = [],
-                            _DescriptorProto'oneofDecl = [],
-                            _DescriptorProto'options = Prelude.Nothing,
-                            _DescriptorProto'reservedRange = [],
-                            _DescriptorProto'reservedName = [],
-                            _DescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message DescriptorProto where
-        messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                field__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "field"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                extension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                nestedType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "nested_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                enumType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "enum_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                extensionRange__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension_range"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                oneofDecl__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "oneof_decl"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MessageOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                reservedRange__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_range"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-                reservedName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "reserved_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, field__field_descriptor),
-                 (Data.ProtoLens.Tag 6, extension__field_descriptor),
-                 (Data.ProtoLens.Tag 3, nestedType__field_descriptor),
-                 (Data.ProtoLens.Tag 4, enumType__field_descriptor),
-                 (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),
-                 (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),
-                 (Data.ProtoLens.Tag 7, options__field_descriptor),
-                 (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),
-                 (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _DescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_DescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
- -}
-data DescriptorProto'ExtensionRange = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
-                                                                     ::
-                                                                     !(Prelude.Maybe
-                                                                         Data.Int.Int32),
-                                                                     _DescriptorProto'ExtensionRange'end
-                                                                     ::
-                                                                     !(Prelude.Maybe
-                                                                         Data.Int.Int32),
-                                                                     _DescriptorProto'ExtensionRange'_unknownFields
-                                                                     :: !Data.ProtoLens.FieldSet}
-                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f DescriptorProto'ExtensionRange x
-            a,
-          a ~ b) =>
-         Lens.Labels.HasLens f DescriptorProto'ExtensionRange
-           DescriptorProto'ExtensionRange
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "start"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "maybe'start"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ExtensionRange "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
-              Prelude.id
-instance Data.Default.Class.Default DescriptorProto'ExtensionRange
-         where
-        def
-          = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
-                                             = Prelude.Nothing,
-                                           _DescriptorProto'ExtensionRange'end = Prelude.Nothing,
-                                           _DescriptorProto'ExtensionRange'_unknownFields = ([])}
-instance Data.ProtoLens.Message DescriptorProto'ExtensionRange
-         where
-        messageName _
-          = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"
-        fieldsByTag
-          = let start__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, start__field_descriptor),
-                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _DescriptorProto'ExtensionRange'_unknownFields
-              (\ x__ y__ ->
-                 x__{_DescriptorProto'ExtensionRange'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
- -}
-data DescriptorProto'ReservedRange = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
-                                                                   ::
-                                                                   !(Prelude.Maybe Data.Int.Int32),
-                                                                   _DescriptorProto'ReservedRange'end
-                                                                   ::
-                                                                   !(Prelude.Maybe Data.Int.Int32),
-                                                                   _DescriptorProto'ReservedRange'_unknownFields
-                                                                   :: !Data.ProtoLens.FieldSet}
-                                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f DescriptorProto'ReservedRange x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f DescriptorProto'ReservedRange
-           DescriptorProto'ReservedRange
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "start"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "maybe'start"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f DescriptorProto'ReservedRange "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
-                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
-              Prelude.id
-instance Data.Default.Class.Default DescriptorProto'ReservedRange
-         where
-        def
-          = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
-                                            = Prelude.Nothing,
-                                          _DescriptorProto'ReservedRange'end = Prelude.Nothing,
-                                          _DescriptorProto'ReservedRange'_unknownFields = ([])}
-instance Data.ProtoLens.Message DescriptorProto'ReservedRange where
-        messageName _
-          = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"
-        fieldsByTag
-          = let start__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "start"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, start__field_descriptor),
-                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _DescriptorProto'ReservedRange'_unknownFields
-              (\ x__ y__ ->
-                 x__{_DescriptorProto'ReservedRange'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@
- -}
-data EnumDescriptorProto = EnumDescriptorProto{_EnumDescriptorProto'name
-                                               :: !(Prelude.Maybe Data.Text.Text),
-                                               _EnumDescriptorProto'value ::
-                                               ![EnumValueDescriptorProto],
-                                               _EnumDescriptorProto'options ::
-                                               !(Prelude.Maybe EnumOptions),
-                                               _EnumDescriptorProto'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f EnumDescriptorProto x a, a ~ b) =>
-         Lens.Labels.HasLens f EnumDescriptorProto EnumDescriptorProto x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumDescriptorProto "name" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumDescriptorProto "value"
-           ([EnumValueDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumDescriptorProto "options" (EnumOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumDescriptorProto "maybe'options"
-           (Prelude.Maybe EnumOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.Default.Class.Default EnumDescriptorProto where
-        def
-          = EnumDescriptorProto{_EnumDescriptorProto'name = Prelude.Nothing,
-                                _EnumDescriptorProto'value = [],
-                                _EnumDescriptorProto'options = Prelude.Nothing,
-                                _EnumDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message EnumDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.EnumDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                value__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "value"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, value__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_EnumDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@
- -}
-data EnumOptions = EnumOptions{_EnumOptions'allowAlias ::
-                               !(Prelude.Maybe Prelude.Bool),
-                               _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                               _EnumOptions'uninterpretedOption :: ![UninterpretedOption],
-                               _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f EnumOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f EnumOptions EnumOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumOptions "allowAlias" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
-                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumOptions "maybe'allowAlias"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
-                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default EnumOptions where
-        def
-          = EnumOptions{_EnumOptions'allowAlias = Prelude.Nothing,
-                        _EnumOptions'deprecated = Prelude.Nothing,
-                        _EnumOptions'uninterpretedOption = [],
-                        _EnumOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message EnumOptions where
-        messageName _ = Data.Text.pack "google.protobuf.EnumOptions"
-        fieldsByTag
-          = let allowAlias__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "allow_alias"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor EnumOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumOptions'_unknownFields
-              (\ x__ y__ -> x__{_EnumOptions'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@
- -}
-data EnumValueDescriptorProto = EnumValueDescriptorProto{_EnumValueDescriptorProto'name
-                                                         :: !(Prelude.Maybe Data.Text.Text),
-                                                         _EnumValueDescriptorProto'number ::
-                                                         !(Prelude.Maybe Data.Int.Int32),
-                                                         _EnumValueDescriptorProto'options ::
-                                                         !(Prelude.Maybe EnumValueOptions),
-                                                         _EnumValueDescriptorProto'_unknownFields ::
-                                                         !Data.ProtoLens.FieldSet}
-                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f EnumValueDescriptorProto x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f EnumValueDescriptorProto
-           EnumValueDescriptorProto
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "number"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'number"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "options"
-           (EnumValueOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueDescriptorProto "maybe'options"
-           (Prelude.Maybe EnumValueOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
-                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.Default.Class.Default EnumValueDescriptorProto where
-        def
-          = EnumValueDescriptorProto{_EnumValueDescriptorProto'name =
-                                       Prelude.Nothing,
-                                     _EnumValueDescriptorProto'number = Prelude.Nothing,
-                                     _EnumValueDescriptorProto'options = Prelude.Nothing,
-                                     _EnumValueDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message EnumValueDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-                number__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "number"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, number__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _EnumValueDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_EnumValueDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@
- -}
-data EnumValueOptions = EnumValueOptions{_EnumValueOptions'deprecated
-                                         :: !(Prelude.Maybe Prelude.Bool),
-                                         _EnumValueOptions'uninterpretedOption ::
-                                         ![UninterpretedOption],
-                                         _EnumValueOptions'_unknownFields ::
-                                         !Data.ProtoLens.FieldSet}
-                      deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f EnumValueOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f EnumValueOptions EnumValueOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
-                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f EnumValueOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _EnumValueOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default EnumValueOptions where
-        def
-          = EnumValueOptions{_EnumValueOptions'deprecated = Prelude.Nothing,
-                             _EnumValueOptions'uninterpretedOption = [],
-                             _EnumValueOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message EnumValueOptions where
-        messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _EnumValueOptions'_unknownFields
-              (\ x__ y__ -> x__{_EnumValueOptions'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto
-  (Prelude.Maybe FieldDescriptorProto'Label)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto
-  (Prelude.Maybe FieldDescriptorProto'Type)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@
- -}
-data FieldDescriptorProto = FieldDescriptorProto{_FieldDescriptorProto'name
-                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'number ::
-                                                 !(Prelude.Maybe Data.Int.Int32),
-                                                 _FieldDescriptorProto'label ::
-                                                 !(Prelude.Maybe FieldDescriptorProto'Label),
-                                                 _FieldDescriptorProto'type' ::
-                                                 !(Prelude.Maybe FieldDescriptorProto'Type),
-                                                 _FieldDescriptorProto'typeName ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'extendee ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'defaultValue ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'oneofIndex ::
-                                                 !(Prelude.Maybe Data.Int.Int32),
-                                                 _FieldDescriptorProto'jsonName ::
-                                                 !(Prelude.Maybe Data.Text.Text),
-                                                 _FieldDescriptorProto'options ::
-                                                 !(Prelude.Maybe FieldOptions),
-                                                 _FieldDescriptorProto'_unknownFields ::
-                                                 !Data.ProtoLens.FieldSet}
-                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FieldDescriptorProto x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f FieldDescriptorProto FieldDescriptorProto x a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "name" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "number"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'number"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "label"
-           (FieldDescriptorProto'Label)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'label"
-           (Prelude.Maybe FieldDescriptorProto'Label)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "type'"
-           (FieldDescriptorProto'Type)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'type'"
-           (Prelude.Maybe FieldDescriptorProto'Type)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "typeName"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'typeName"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "extendee"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'extendee"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "defaultValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'defaultValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "oneofIndex"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'oneofIndex"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "jsonName"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'jsonName"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "options"
-           (FieldOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldDescriptorProto "maybe'options"
-           (Prelude.Maybe FieldOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
-                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FieldDescriptorProto where
-        def
-          = FieldDescriptorProto{_FieldDescriptorProto'name =
-                                   Prelude.Nothing,
-                                 _FieldDescriptorProto'number = Prelude.Nothing,
-                                 _FieldDescriptorProto'label = Prelude.Nothing,
-                                 _FieldDescriptorProto'type' = Prelude.Nothing,
-                                 _FieldDescriptorProto'typeName = Prelude.Nothing,
-                                 _FieldDescriptorProto'extendee = Prelude.Nothing,
-                                 _FieldDescriptorProto'defaultValue = Prelude.Nothing,
-                                 _FieldDescriptorProto'oneofIndex = Prelude.Nothing,
-                                 _FieldDescriptorProto'jsonName = Prelude.Nothing,
-                                 _FieldDescriptorProto'options = Prelude.Nothing,
-                                 _FieldDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message FieldDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.FieldDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                number__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "number"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                label__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "label"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                type'__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                typeName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "type_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                extendee__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extendee"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                defaultValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "default_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'defaultValue")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                oneofIndex__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "oneof_index"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                jsonName__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "json_name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 3, number__field_descriptor),
-                 (Data.ProtoLens.Tag 4, label__field_descriptor),
-                 (Data.ProtoLens.Tag 5, type'__field_descriptor),
-                 (Data.ProtoLens.Tag 6, typeName__field_descriptor),
-                 (Data.ProtoLens.Tag 2, extendee__field_descriptor),
-                 (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),
-                 (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),
-                 (Data.ProtoLens.Tag 10, jsonName__field_descriptor),
-                 (Data.ProtoLens.Tag 8, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FieldDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_FieldDescriptorProto'_unknownFields = y__})
-data FieldDescriptorProto'Label = FieldDescriptorProto'LABEL_OPTIONAL
-                                | FieldDescriptorProto'LABEL_REQUIRED
-                                | FieldDescriptorProto'LABEL_REPEATED
-                                deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.Default.Class.Default FieldDescriptorProto'Label
-         where
-        def = FieldDescriptorProto'LABEL_OPTIONAL
-instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label
-         where
-        fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL
-instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label
-         where
-        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
-        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
-        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"
-        showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"
-        showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"
-        readEnum "LABEL_OPTIONAL"
-          = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
-        readEnum "LABEL_REQUIRED"
-          = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
-        readEnum "LABEL_REPEATED"
-          = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldDescriptorProto'Label where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum Label: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1
-        fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2
-        fromEnum FieldDescriptorProto'LABEL_REPEATED = 3
-        succ FieldDescriptorProto'LABEL_REPEATED
-          = Prelude.error
-              "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."
-        succ FieldDescriptorProto'LABEL_OPTIONAL
-          = FieldDescriptorProto'LABEL_REQUIRED
-        succ FieldDescriptorProto'LABEL_REQUIRED
-          = FieldDescriptorProto'LABEL_REPEATED
-        pred FieldDescriptorProto'LABEL_OPTIONAL
-          = Prelude.error
-              "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."
-        pred FieldDescriptorProto'LABEL_REQUIRED
-          = FieldDescriptorProto'LABEL_OPTIONAL
-        pred FieldDescriptorProto'LABEL_REPEATED
-          = FieldDescriptorProto'LABEL_REQUIRED
-        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 Prelude.Bounded FieldDescriptorProto'Label where
-        minBound = FieldDescriptorProto'LABEL_OPTIONAL
-        maxBound = FieldDescriptorProto'LABEL_REPEATED
-data FieldDescriptorProto'Type = FieldDescriptorProto'TYPE_DOUBLE
-                               | FieldDescriptorProto'TYPE_FLOAT
-                               | FieldDescriptorProto'TYPE_INT64
-                               | FieldDescriptorProto'TYPE_UINT64
-                               | FieldDescriptorProto'TYPE_INT32
-                               | FieldDescriptorProto'TYPE_FIXED64
-                               | FieldDescriptorProto'TYPE_FIXED32
-                               | FieldDescriptorProto'TYPE_BOOL
-                               | FieldDescriptorProto'TYPE_STRING
-                               | FieldDescriptorProto'TYPE_GROUP
-                               | FieldDescriptorProto'TYPE_MESSAGE
-                               | FieldDescriptorProto'TYPE_BYTES
-                               | FieldDescriptorProto'TYPE_UINT32
-                               | FieldDescriptorProto'TYPE_ENUM
-                               | FieldDescriptorProto'TYPE_SFIXED32
-                               | FieldDescriptorProto'TYPE_SFIXED64
-                               | FieldDescriptorProto'TYPE_SINT32
-                               | FieldDescriptorProto'TYPE_SINT64
-                               deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.Default.Class.Default FieldDescriptorProto'Type where
-        def = FieldDescriptorProto'TYPE_DOUBLE
-instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type
-         where
-        fieldDefault = FieldDescriptorProto'TYPE_DOUBLE
-instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where
-        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
-        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
-        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64
-        maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64
-        maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32
-        maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
-        maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
-        maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL
-        maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING
-        maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP
-        maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
-        maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES
-        maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32
-        maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM
-        maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
-        maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
-        maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32
-        maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"
-        showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"
-        showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"
-        showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"
-        showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"
-        showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"
-        showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"
-        showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"
-        showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"
-        showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"
-        showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"
-        showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"
-        showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"
-        showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"
-        showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"
-        showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"
-        showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"
-        showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"
-        readEnum "TYPE_DOUBLE"
-          = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
-        readEnum "TYPE_FLOAT"
-          = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
-        readEnum "TYPE_INT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_INT64
-        readEnum "TYPE_UINT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_UINT64
-        readEnum "TYPE_INT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_INT32
-        readEnum "TYPE_FIXED64"
-          = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
-        readEnum "TYPE_FIXED32"
-          = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
-        readEnum "TYPE_BOOL" = Prelude.Just FieldDescriptorProto'TYPE_BOOL
-        readEnum "TYPE_STRING"
-          = Prelude.Just FieldDescriptorProto'TYPE_STRING
-        readEnum "TYPE_GROUP"
-          = Prelude.Just FieldDescriptorProto'TYPE_GROUP
-        readEnum "TYPE_MESSAGE"
-          = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
-        readEnum "TYPE_BYTES"
-          = Prelude.Just FieldDescriptorProto'TYPE_BYTES
-        readEnum "TYPE_UINT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_UINT32
-        readEnum "TYPE_ENUM" = Prelude.Just FieldDescriptorProto'TYPE_ENUM
-        readEnum "TYPE_SFIXED32"
-          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
-        readEnum "TYPE_SFIXED64"
-          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
-        readEnum "TYPE_SINT32"
-          = Prelude.Just FieldDescriptorProto'TYPE_SINT32
-        readEnum "TYPE_SINT64"
-          = Prelude.Just FieldDescriptorProto'TYPE_SINT64
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldDescriptorProto'Type where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum Type: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1
-        fromEnum FieldDescriptorProto'TYPE_FLOAT = 2
-        fromEnum FieldDescriptorProto'TYPE_INT64 = 3
-        fromEnum FieldDescriptorProto'TYPE_UINT64 = 4
-        fromEnum FieldDescriptorProto'TYPE_INT32 = 5
-        fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6
-        fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7
-        fromEnum FieldDescriptorProto'TYPE_BOOL = 8
-        fromEnum FieldDescriptorProto'TYPE_STRING = 9
-        fromEnum FieldDescriptorProto'TYPE_GROUP = 10
-        fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11
-        fromEnum FieldDescriptorProto'TYPE_BYTES = 12
-        fromEnum FieldDescriptorProto'TYPE_UINT32 = 13
-        fromEnum FieldDescriptorProto'TYPE_ENUM = 14
-        fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15
-        fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16
-        fromEnum FieldDescriptorProto'TYPE_SINT32 = 17
-        fromEnum FieldDescriptorProto'TYPE_SINT64 = 18
-        succ FieldDescriptorProto'TYPE_SINT64
-          = Prelude.error
-              "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."
-        succ FieldDescriptorProto'TYPE_DOUBLE
-          = FieldDescriptorProto'TYPE_FLOAT
-        succ FieldDescriptorProto'TYPE_FLOAT
-          = FieldDescriptorProto'TYPE_INT64
-        succ FieldDescriptorProto'TYPE_INT64
-          = FieldDescriptorProto'TYPE_UINT64
-        succ FieldDescriptorProto'TYPE_UINT64
-          = FieldDescriptorProto'TYPE_INT32
-        succ FieldDescriptorProto'TYPE_INT32
-          = FieldDescriptorProto'TYPE_FIXED64
-        succ FieldDescriptorProto'TYPE_FIXED64
-          = FieldDescriptorProto'TYPE_FIXED32
-        succ FieldDescriptorProto'TYPE_FIXED32
-          = FieldDescriptorProto'TYPE_BOOL
-        succ FieldDescriptorProto'TYPE_BOOL
-          = FieldDescriptorProto'TYPE_STRING
-        succ FieldDescriptorProto'TYPE_STRING
-          = FieldDescriptorProto'TYPE_GROUP
-        succ FieldDescriptorProto'TYPE_GROUP
-          = FieldDescriptorProto'TYPE_MESSAGE
-        succ FieldDescriptorProto'TYPE_MESSAGE
-          = FieldDescriptorProto'TYPE_BYTES
-        succ FieldDescriptorProto'TYPE_BYTES
-          = FieldDescriptorProto'TYPE_UINT32
-        succ FieldDescriptorProto'TYPE_UINT32
-          = FieldDescriptorProto'TYPE_ENUM
-        succ FieldDescriptorProto'TYPE_ENUM
-          = FieldDescriptorProto'TYPE_SFIXED32
-        succ FieldDescriptorProto'TYPE_SFIXED32
-          = FieldDescriptorProto'TYPE_SFIXED64
-        succ FieldDescriptorProto'TYPE_SFIXED64
-          = FieldDescriptorProto'TYPE_SINT32
-        succ FieldDescriptorProto'TYPE_SINT32
-          = FieldDescriptorProto'TYPE_SINT64
-        pred FieldDescriptorProto'TYPE_DOUBLE
-          = Prelude.error
-              "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."
-        pred FieldDescriptorProto'TYPE_FLOAT
-          = FieldDescriptorProto'TYPE_DOUBLE
-        pred FieldDescriptorProto'TYPE_INT64
-          = FieldDescriptorProto'TYPE_FLOAT
-        pred FieldDescriptorProto'TYPE_UINT64
-          = FieldDescriptorProto'TYPE_INT64
-        pred FieldDescriptorProto'TYPE_INT32
-          = FieldDescriptorProto'TYPE_UINT64
-        pred FieldDescriptorProto'TYPE_FIXED64
-          = FieldDescriptorProto'TYPE_INT32
-        pred FieldDescriptorProto'TYPE_FIXED32
-          = FieldDescriptorProto'TYPE_FIXED64
-        pred FieldDescriptorProto'TYPE_BOOL
-          = FieldDescriptorProto'TYPE_FIXED32
-        pred FieldDescriptorProto'TYPE_STRING
-          = FieldDescriptorProto'TYPE_BOOL
-        pred FieldDescriptorProto'TYPE_GROUP
-          = FieldDescriptorProto'TYPE_STRING
-        pred FieldDescriptorProto'TYPE_MESSAGE
-          = FieldDescriptorProto'TYPE_GROUP
-        pred FieldDescriptorProto'TYPE_BYTES
-          = FieldDescriptorProto'TYPE_MESSAGE
-        pred FieldDescriptorProto'TYPE_UINT32
-          = FieldDescriptorProto'TYPE_BYTES
-        pred FieldDescriptorProto'TYPE_ENUM
-          = FieldDescriptorProto'TYPE_UINT32
-        pred FieldDescriptorProto'TYPE_SFIXED32
-          = FieldDescriptorProto'TYPE_ENUM
-        pred FieldDescriptorProto'TYPE_SFIXED64
-          = FieldDescriptorProto'TYPE_SFIXED32
-        pred FieldDescriptorProto'TYPE_SINT32
-          = FieldDescriptorProto'TYPE_SFIXED64
-        pred FieldDescriptorProto'TYPE_SINT64
-          = FieldDescriptorProto'TYPE_SINT32
-        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 Prelude.Bounded FieldDescriptorProto'Type where
-        minBound = FieldDescriptorProto'TYPE_DOUBLE
-        maxBound = FieldDescriptorProto'TYPE_SINT64
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@
- -}
-data FieldOptions = FieldOptions{_FieldOptions'ctype ::
-                                 !(Prelude.Maybe FieldOptions'CType),
-                                 _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),
-                                 _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),
-                                 _FieldOptions'uninterpretedOption :: ![UninterpretedOption],
-                                 _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FieldOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f FieldOptions FieldOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "ctype" (FieldOptions'CType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
-                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
-              (Data.ProtoLens.maybeLens FieldOptions'STRING)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'ctype"
-           (Prelude.Maybe FieldOptions'CType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
-                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "packed" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'packed
-                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'packed"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'packed
-                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "jstype" (FieldOptions'JSType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
-                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
-              (Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'jstype"
-           (Prelude.Maybe FieldOptions'JSType)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
-                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "lazy" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
-                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'lazy"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
-                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
-                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
-                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "weak" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'weak
-                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "maybe'weak"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'weak
-                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FieldOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FieldOptions where
-        def
-          = FieldOptions{_FieldOptions'ctype = Prelude.Nothing,
-                         _FieldOptions'packed = Prelude.Nothing,
-                         _FieldOptions'jstype = Prelude.Nothing,
-                         _FieldOptions'lazy = Prelude.Nothing,
-                         _FieldOptions'deprecated = Prelude.Nothing,
-                         _FieldOptions'weak = Prelude.Nothing,
-                         _FieldOptions'uninterpretedOption = [],
-                         _FieldOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message FieldOptions where
-        messageName _ = Data.Text.pack "google.protobuf.FieldOptions"
-        fieldsByTag
-          = let ctype__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "ctype"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                packed__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "packed"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                jstype__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "jstype"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                lazy__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "lazy"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                weak__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "weak"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor FieldOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, ctype__field_descriptor),
-                 (Data.ProtoLens.Tag 2, packed__field_descriptor),
-                 (Data.ProtoLens.Tag 6, jstype__field_descriptor),
-                 (Data.ProtoLens.Tag 5, lazy__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 10, weak__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FieldOptions'_unknownFields
-              (\ x__ y__ -> x__{_FieldOptions'_unknownFields = y__})
-data FieldOptions'CType = FieldOptions'STRING
-                        | FieldOptions'CORD
-                        | FieldOptions'STRING_PIECE
-                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.Default.Class.Default FieldOptions'CType where
-        def = FieldOptions'STRING
-instance Data.ProtoLens.FieldDefault FieldOptions'CType where
-        fieldDefault = FieldOptions'STRING
-instance Data.ProtoLens.MessageEnum FieldOptions'CType where
-        maybeToEnum 0 = Prelude.Just FieldOptions'STRING
-        maybeToEnum 1 = Prelude.Just FieldOptions'CORD
-        maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldOptions'STRING = "STRING"
-        showEnum FieldOptions'CORD = "CORD"
-        showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"
-        readEnum "STRING" = Prelude.Just FieldOptions'STRING
-        readEnum "CORD" = Prelude.Just FieldOptions'CORD
-        readEnum "STRING_PIECE" = Prelude.Just FieldOptions'STRING_PIECE
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldOptions'CType where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum CType: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldOptions'STRING = 0
-        fromEnum FieldOptions'CORD = 1
-        fromEnum FieldOptions'STRING_PIECE = 2
-        succ FieldOptions'STRING_PIECE
-          = Prelude.error
-              "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."
-        succ FieldOptions'STRING = FieldOptions'CORD
-        succ FieldOptions'CORD = FieldOptions'STRING_PIECE
-        pred FieldOptions'STRING
-          = Prelude.error
-              "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."
-        pred FieldOptions'CORD = FieldOptions'STRING
-        pred FieldOptions'STRING_PIECE = FieldOptions'CORD
-        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 Prelude.Bounded FieldOptions'CType where
-        minBound = FieldOptions'STRING
-        maxBound = FieldOptions'STRING_PIECE
-data FieldOptions'JSType = FieldOptions'JS_NORMAL
-                         | FieldOptions'JS_STRING
-                         | FieldOptions'JS_NUMBER
-                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.Default.Class.Default FieldOptions'JSType where
-        def = FieldOptions'JS_NORMAL
-instance Data.ProtoLens.FieldDefault FieldOptions'JSType where
-        fieldDefault = FieldOptions'JS_NORMAL
-instance Data.ProtoLens.MessageEnum FieldOptions'JSType where
-        maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL
-        maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING
-        maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"
-        showEnum FieldOptions'JS_STRING = "JS_STRING"
-        showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"
-        readEnum "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL
-        readEnum "JS_STRING" = Prelude.Just FieldOptions'JS_STRING
-        readEnum "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FieldOptions'JSType where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum JSType: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FieldOptions'JS_NORMAL = 0
-        fromEnum FieldOptions'JS_STRING = 1
-        fromEnum FieldOptions'JS_NUMBER = 2
-        succ FieldOptions'JS_NUMBER
-          = Prelude.error
-              "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."
-        succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING
-        succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER
-        pred FieldOptions'JS_NORMAL
-          = Prelude.error
-              "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."
-        pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL
-        pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING
-        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 Prelude.Bounded FieldOptions'JSType where
-        minBound = FieldOptions'JS_NORMAL
-        maxBound = FieldOptions'JS_NUMBER
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
- -}
-data FileDescriptorProto = FileDescriptorProto{_FileDescriptorProto'name
-                                               :: !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'package ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'dependency :: ![Data.Text.Text],
-                                               _FileDescriptorProto'publicDependency ::
-                                               ![Data.Int.Int32],
-                                               _FileDescriptorProto'weakDependency ::
-                                               ![Data.Int.Int32],
-                                               _FileDescriptorProto'messageType ::
-                                               ![DescriptorProto],
-                                               _FileDescriptorProto'enumType ::
-                                               ![EnumDescriptorProto],
-                                               _FileDescriptorProto'service ::
-                                               ![ServiceDescriptorProto],
-                                               _FileDescriptorProto'extension ::
-                                               ![FieldDescriptorProto],
-                                               _FileDescriptorProto'options ::
-                                               !(Prelude.Maybe FileOptions),
-                                               _FileDescriptorProto'sourceCodeInfo ::
-                                               !(Prelude.Maybe SourceCodeInfo),
-                                               _FileDescriptorProto'syntax ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _FileDescriptorProto'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FileDescriptorProto x a, a ~ b) =>
-         Lens.Labels.HasLens f FileDescriptorProto FileDescriptorProto x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "name" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
-                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
-                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "package"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
-                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "maybe'package"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
-                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "dependency"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "publicDependency"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'publicDependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "weakDependency"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency
-                 (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "messageType"
-           ([DescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType
-                 (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "enumType"
-           ([EnumDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType
-                 (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "service"
-           ([ServiceDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'service
-                 (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "extension"
-           ([FieldDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension
-                 (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "options" (FileOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
-                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "maybe'options"
-           (Prelude.Maybe FileOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
-                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "sourceCodeInfo"
-           (SourceCodeInfo)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
-                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "maybe'sourceCodeInfo"
-           (Prelude.Maybe SourceCodeInfo)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
-                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "syntax"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
-                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorProto "maybe'syntax"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
-                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FileDescriptorProto where
-        def
-          = FileDescriptorProto{_FileDescriptorProto'name = Prelude.Nothing,
-                                _FileDescriptorProto'package = Prelude.Nothing,
-                                _FileDescriptorProto'dependency = [],
-                                _FileDescriptorProto'publicDependency = [],
-                                _FileDescriptorProto'weakDependency = [],
-                                _FileDescriptorProto'messageType = [],
-                                _FileDescriptorProto'enumType = [],
-                                _FileDescriptorProto'service = [],
-                                _FileDescriptorProto'extension = [],
-                                _FileDescriptorProto'options = Prelude.Nothing,
-                                _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,
-                                _FileDescriptorProto'syntax = Prelude.Nothing,
-                                _FileDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message FileDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.FileDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                package__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                dependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                publicDependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "public_dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                weakDependency__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "weak_dependency"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                messageType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "message_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                enumType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "enum_type"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                service__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "service"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                extension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "extension"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FileOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                sourceCodeInfo__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "source_code_info"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-                syntax__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "syntax"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, package__field_descriptor),
-                 (Data.ProtoLens.Tag 3, dependency__field_descriptor),
-                 (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),
-                 (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),
-                 (Data.ProtoLens.Tag 4, messageType__field_descriptor),
-                 (Data.ProtoLens.Tag 5, enumType__field_descriptor),
-                 (Data.ProtoLens.Tag 6, service__field_descriptor),
-                 (Data.ProtoLens.Tag 7, extension__field_descriptor),
-                 (Data.ProtoLens.Tag 8, options__field_descriptor),
-                 (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),
-                 (Data.ProtoLens.Tag 12, syntax__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_FileDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@
- -}
-data FileDescriptorSet = FileDescriptorSet{_FileDescriptorSet'file
-                                           :: ![FileDescriptorProto],
-                                           _FileDescriptorSet'_unknownFields ::
-                                           !Data.ProtoLens.FieldSet}
-                       deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FileDescriptorSet x a, a ~ b) =>
-         Lens.Labels.HasLens f FileDescriptorSet FileDescriptorSet x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileDescriptorSet "file"
-           ([FileDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileDescriptorSet'file
-                 (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FileDescriptorSet where
-        def
-          = FileDescriptorSet{_FileDescriptorSet'file = [],
-                              _FileDescriptorSet'_unknownFields = ([])}
-instance Data.ProtoLens.Message FileDescriptorSet where
-        messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"
-        fieldsByTag
-          = let file__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "file"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))
-                      :: Data.ProtoLens.FieldDescriptor FileDescriptorSet
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileDescriptorSet'_unknownFields
-              (\ x__ y__ -> x__{_FileDescriptorSet'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@
- -}
-data FileOptions = FileOptions{_FileOptions'javaPackage ::
-                               !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaGenerateEqualsAndHash ::
-                               !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'optimizeFor ::
-                               !(Prelude.Maybe FileOptions'OptimizeMode),
-                               _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),
-                               _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),
-                               _FileOptions'uninterpretedOption :: ![UninterpretedOption],
-                               _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                 deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f FileOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f FileOptions FileOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaPackage" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
-                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'javaPackage"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
-                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaOuterClassname"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
-                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'javaOuterClassname"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
-                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaMultipleFiles"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
-                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'javaMultipleFiles"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
-                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaGenerateEqualsAndHash"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
-                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions
-           "maybe'javaGenerateEqualsAndHash"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
-                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaStringCheckUtf8"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
-                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'javaStringCheckUtf8"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
-                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "optimizeFor"
-           (FileOptions'OptimizeMode)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
-                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
-              (Data.ProtoLens.maybeLens FileOptions'SPEED)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'optimizeFor"
-           (Prelude.Maybe FileOptions'OptimizeMode)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
-                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "goPackage" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
-                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'goPackage"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
-                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "ccGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'ccGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "javaGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'javaGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "pyGenericServices"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'pyGenericServices"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
-                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
-                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
-                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "ccEnableArenas" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
-                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'ccEnableArenas"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
-                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "objcClassPrefix"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'objcClassPrefix"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
-                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "csharpNamespace"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "maybe'csharpNamespace"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
-                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f FileOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default FileOptions where
-        def
-          = FileOptions{_FileOptions'javaPackage = Prelude.Nothing,
-                        _FileOptions'javaOuterClassname = Prelude.Nothing,
-                        _FileOptions'javaMultipleFiles = Prelude.Nothing,
-                        _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,
-                        _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,
-                        _FileOptions'optimizeFor = Prelude.Nothing,
-                        _FileOptions'goPackage = Prelude.Nothing,
-                        _FileOptions'ccGenericServices = Prelude.Nothing,
-                        _FileOptions'javaGenericServices = Prelude.Nothing,
-                        _FileOptions'pyGenericServices = Prelude.Nothing,
-                        _FileOptions'deprecated = Prelude.Nothing,
-                        _FileOptions'ccEnableArenas = Prelude.Nothing,
-                        _FileOptions'objcClassPrefix = Prelude.Nothing,
-                        _FileOptions'csharpNamespace = Prelude.Nothing,
-                        _FileOptions'uninterpretedOption = [],
-                        _FileOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message FileOptions where
-        messageName _ = Data.Text.pack "google.protobuf.FileOptions"
-        fieldsByTag
-          = let javaPackage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaPackage")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaOuterClassname__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_outer_classname"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaOuterClassname")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaMultipleFiles__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_multiple_files"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaGenerateEqualsAndHash__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_generate_equals_and_hash"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaStringCheckUtf8__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_string_check_utf8"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                optimizeFor__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "optimize_for"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
-                         Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'optimizeFor")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                goPackage__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "go_package"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                ccGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "cc_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'ccGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                javaGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "java_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'javaGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                pyGenericServices__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "py_generic_services"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'pyGenericServices")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                ccEnableArenas__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "cc_enable_arenas"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'ccEnableArenas")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                objcClassPrefix__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "objc_class_prefix"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'objcClassPrefix")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                csharpNamespace__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "csharp_namespace"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'csharpNamespace")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor FileOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),
-                 (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),
-                 (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),
-                 (Data.ProtoLens.Tag 20,
-                  javaGenerateEqualsAndHash__field_descriptor),
-                 (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),
-                 (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),
-                 (Data.ProtoLens.Tag 11, goPackage__field_descriptor),
-                 (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),
-                 (Data.ProtoLens.Tag 23, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),
-                 (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),
-                 (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _FileOptions'_unknownFields
-              (\ x__ y__ -> x__{_FileOptions'_unknownFields = y__})
-data FileOptions'OptimizeMode = FileOptions'SPEED
-                              | FileOptions'CODE_SIZE
-                              | FileOptions'LITE_RUNTIME
-                              deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance Data.Default.Class.Default FileOptions'OptimizeMode where
-        def = FileOptions'SPEED
-instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where
-        fieldDefault = FileOptions'SPEED
-instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where
-        maybeToEnum 1 = Prelude.Just FileOptions'SPEED
-        maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE
-        maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME
-        maybeToEnum _ = Prelude.Nothing
-        showEnum FileOptions'SPEED = "SPEED"
-        showEnum FileOptions'CODE_SIZE = "CODE_SIZE"
-        showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"
-        readEnum "SPEED" = Prelude.Just FileOptions'SPEED
-        readEnum "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE
-        readEnum "LITE_RUNTIME" = Prelude.Just FileOptions'LITE_RUNTIME
-        readEnum _ = Prelude.Nothing
-instance Prelude.Enum FileOptions'OptimizeMode where
-        toEnum k__
-          = Prelude.maybe
-              (Prelude.error
-                 ((Prelude.++) "toEnum: unknown value for enum OptimizeMode: "
-                    (Prelude.show k__)))
-              Prelude.id
-              (Data.ProtoLens.maybeToEnum k__)
-        fromEnum FileOptions'SPEED = 1
-        fromEnum FileOptions'CODE_SIZE = 2
-        fromEnum FileOptions'LITE_RUNTIME = 3
-        succ FileOptions'LITE_RUNTIME
-          = Prelude.error
-              "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."
-        succ FileOptions'SPEED = FileOptions'CODE_SIZE
-        succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME
-        pred FileOptions'SPEED
-          = Prelude.error
-              "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."
-        pred FileOptions'CODE_SIZE = FileOptions'SPEED
-        pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE
-        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 Prelude.Bounded FileOptions'OptimizeMode where
-        minBound = FileOptions'SPEED
-        maxBound = FileOptions'LITE_RUNTIME
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@
- -}
-data GeneratedCodeInfo = GeneratedCodeInfo{_GeneratedCodeInfo'annotation
-                                           :: ![GeneratedCodeInfo'Annotation],
-                                           _GeneratedCodeInfo'_unknownFields ::
-                                           !Data.ProtoLens.FieldSet}
-                       deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f GeneratedCodeInfo x a, a ~ b) =>
-         Lens.Labels.HasLens f GeneratedCodeInfo GeneratedCodeInfo x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo "annotation"
-           ([GeneratedCodeInfo'Annotation])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))
-              Prelude.id
-instance Data.Default.Class.Default GeneratedCodeInfo where
-        def
-          = GeneratedCodeInfo{_GeneratedCodeInfo'annotation = [],
-                              _GeneratedCodeInfo'_unknownFields = ([])}
-instance Data.ProtoLens.Message GeneratedCodeInfo where
-        messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"
-        fieldsByTag
-          = let annotation__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "annotation"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _GeneratedCodeInfo'_unknownFields
-              (\ x__ y__ -> x__{_GeneratedCodeInfo'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
- -}
-data GeneratedCodeInfo'Annotation = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path
-                                                                 :: ![Data.Int.Int32],
-                                                                 _GeneratedCodeInfo'Annotation'sourceFile
-                                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                                 _GeneratedCodeInfo'Annotation'begin
-                                                                 :: !(Prelude.Maybe Data.Int.Int32),
-                                                                 _GeneratedCodeInfo'Annotation'end
-                                                                 :: !(Prelude.Maybe Data.Int.Int32),
-                                                                 _GeneratedCodeInfo'Annotation'_unknownFields
-                                                                 :: !Data.ProtoLens.FieldSet}
-                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f GeneratedCodeInfo'Annotation
-           GeneratedCodeInfo'Annotation
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "path"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "sourceFile"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _GeneratedCodeInfo'Annotation'sourceFile
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation
-           "maybe'sourceFile"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _GeneratedCodeInfo'Annotation'sourceFile
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "begin"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "maybe'begin"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "end"
-           (Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f GeneratedCodeInfo'Annotation "maybe'end"
-           (Prelude.Maybe Data.Int.Int32)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
-                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
-              Prelude.id
-instance Data.Default.Class.Default GeneratedCodeInfo'Annotation
-         where
-        def
-          = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path =
-                                           [],
-                                         _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,
-                                         _GeneratedCodeInfo'Annotation'_unknownFields = ([])}
-instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where
-        messageName _
-          = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"
-        fieldsByTag
-          = let path__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "path"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                sourceFile__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "source_file"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                begin__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "begin"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-                end__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "end"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
-                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, path__field_descriptor),
-                 (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),
-                 (Data.ProtoLens.Tag 3, begin__field_descriptor),
-                 (Data.ProtoLens.Tag 4, end__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _GeneratedCodeInfo'Annotation'_unknownFields
-              (\ x__ y__ ->
-                 x__{_GeneratedCodeInfo'Annotation'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@
- -}
-data MessageOptions = MessageOptions{_MessageOptions'messageSetWireFormat
-                                     :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'noStandardDescriptorAccessor ::
-                                     !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),
-                                     _MessageOptions'uninterpretedOption :: ![UninterpretedOption],
-                                     _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f MessageOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f MessageOptions MessageOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "messageSetWireFormat"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
-                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "maybe'messageSetWireFormat"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
-                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions
-           "noStandardDescriptorAccessor"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _MessageOptions'noStandardDescriptorAccessor
-                 (\ x__ y__ ->
-                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions
-           "maybe'noStandardDescriptorAccessor"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _MessageOptions'noStandardDescriptorAccessor
-                 (\ x__ y__ ->
-                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
-                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
-                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "mapEntry" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
-                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "maybe'mapEntry"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
-                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MessageOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default MessageOptions where
-        def
-          = MessageOptions{_MessageOptions'messageSetWireFormat =
-                             Prelude.Nothing,
-                           _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,
-                           _MessageOptions'deprecated = Prelude.Nothing,
-                           _MessageOptions'mapEntry = Prelude.Nothing,
-                           _MessageOptions'uninterpretedOption = [],
-                           _MessageOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message MessageOptions where
-        messageName _ = Data.Text.pack "google.protobuf.MessageOptions"
-        fieldsByTag
-          = let messageSetWireFormat__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "message_set_wire_format"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                noStandardDescriptorAccessor__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "no_standard_descriptor_accessor"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                mapEntry__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "map_entry"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor MessageOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),
-                 (Data.ProtoLens.Tag 2,
-                  noStandardDescriptorAccessor__field_descriptor),
-                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MessageOptions'_unknownFields
-              (\ x__ y__ -> x__{_MessageOptions'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
- -}
-data MethodDescriptorProto = MethodDescriptorProto{_MethodDescriptorProto'name
-                                                   :: !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'inputType ::
-                                                   !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'outputType ::
-                                                   !(Prelude.Maybe Data.Text.Text),
-                                                   _MethodDescriptorProto'options ::
-                                                   !(Prelude.Maybe MethodOptions),
-                                                   _MethodDescriptorProto'clientStreaming ::
-                                                   !(Prelude.Maybe Prelude.Bool),
-                                                   _MethodDescriptorProto'serverStreaming ::
-                                                   !(Prelude.Maybe Prelude.Bool),
-                                                   _MethodDescriptorProto'_unknownFields ::
-                                                   !Data.ProtoLens.FieldSet}
-                           deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f MethodDescriptorProto x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f MethodDescriptorProto MethodDescriptorProto x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "inputType"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'inputType"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "outputType"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'outputType"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "options"
-           (MethodOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "maybe'options"
-           (Prelude.Maybe MethodOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "clientStreaming"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto
-           "maybe'clientStreaming"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto "serverStreaming"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodDescriptorProto
-           "maybe'serverStreaming"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
-                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
-              Prelude.id
-instance Data.Default.Class.Default MethodDescriptorProto where
-        def
-          = MethodDescriptorProto{_MethodDescriptorProto'name =
-                                    Prelude.Nothing,
-                                  _MethodDescriptorProto'inputType = Prelude.Nothing,
-                                  _MethodDescriptorProto'outputType = Prelude.Nothing,
-                                  _MethodDescriptorProto'options = Prelude.Nothing,
-                                  _MethodDescriptorProto'clientStreaming = Prelude.Nothing,
-                                  _MethodDescriptorProto'serverStreaming = Prelude.Nothing,
-                                  _MethodDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message MethodDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.MethodDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                inputType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "input_type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                outputType__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "output_type"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MethodOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                clientStreaming__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "client_streaming"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'clientStreaming")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-                serverStreaming__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "server_streaming"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'serverStreaming")))
-                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, inputType__field_descriptor),
-                 (Data.ProtoLens.Tag 3, outputType__field_descriptor),
-                 (Data.ProtoLens.Tag 4, options__field_descriptor),
-                 (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),
-                 (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MethodDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_MethodDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@
- -}
-data MethodOptions = MethodOptions{_MethodOptions'deprecated ::
-                                   !(Prelude.Maybe Prelude.Bool),
-                                   _MethodOptions'uninterpretedOption :: ![UninterpretedOption],
-                                   _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f MethodOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f MethodOptions MethodOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
-                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
-                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f MethodOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default MethodOptions where
-        def
-          = MethodOptions{_MethodOptions'deprecated = Prelude.Nothing,
-                          _MethodOptions'uninterpretedOption = [],
-                          _MethodOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message MethodOptions where
-        messageName _ = Data.Text.pack "google.protobuf.MethodOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor MethodOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor MethodOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _MethodOptions'_unknownFields
-              (\ x__ y__ -> x__{_MethodOptions'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@
- -}
-data OneofDescriptorProto = OneofDescriptorProto{_OneofDescriptorProto'name
-                                                 :: !(Prelude.Maybe Data.Text.Text),
-                                                 _OneofDescriptorProto'_unknownFields ::
-                                                 !Data.ProtoLens.FieldSet}
-                          deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f OneofDescriptorProto x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f OneofDescriptorProto OneofDescriptorProto x a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f OneofDescriptorProto "name" (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f OneofDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
-                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
-              Prelude.id
-instance Data.Default.Class.Default OneofDescriptorProto where
-        def
-          = OneofDescriptorProto{_OneofDescriptorProto'name =
-                                   Prelude.Nothing,
-                                 _OneofDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message OneofDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.OneofDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
-              in
-              Data.Map.fromList [(Data.ProtoLens.Tag 1, name__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _OneofDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_OneofDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@
- -}
-data ServiceDescriptorProto = ServiceDescriptorProto{_ServiceDescriptorProto'name
-                                                     :: !(Prelude.Maybe Data.Text.Text),
-                                                     _ServiceDescriptorProto'method ::
-                                                     ![MethodDescriptorProto],
-                                                     _ServiceDescriptorProto'options ::
-                                                     !(Prelude.Maybe ServiceOptions),
-                                                     _ServiceDescriptorProto'_unknownFields ::
-                                                     !Data.ProtoLens.FieldSet}
-                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f ServiceDescriptorProto x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f ServiceDescriptorProto ServiceDescriptorProto
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceDescriptorProto "name"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceDescriptorProto "maybe'name"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceDescriptorProto "method"
-           ([MethodDescriptorProto])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceDescriptorProto "options"
-           (ServiceOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
-              (Data.ProtoLens.maybeLens Data.Default.Class.def)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceDescriptorProto "maybe'options"
-           (Prelude.Maybe ServiceOptions)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
-                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
-              Prelude.id
-instance Data.Default.Class.Default ServiceDescriptorProto where
-        def
-          = ServiceDescriptorProto{_ServiceDescriptorProto'name =
-                                     Prelude.Nothing,
-                                   _ServiceDescriptorProto'method = [],
-                                   _ServiceDescriptorProto'options = Prelude.Nothing,
-                                   _ServiceDescriptorProto'_unknownFields = ([])}
-instance Data.ProtoLens.Message ServiceDescriptorProto where
-        messageName _
-          = Data.Text.pack "google.protobuf.ServiceDescriptorProto"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-                method__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "method"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-                options__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "options"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor ServiceOptions)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, name__field_descriptor),
-                 (Data.ProtoLens.Tag 2, method__field_descriptor),
-                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _ServiceDescriptorProto'_unknownFields
-              (\ x__ y__ -> x__{_ServiceDescriptorProto'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@
- -}
-data ServiceOptions = ServiceOptions{_ServiceOptions'deprecated ::
-                                     !(Prelude.Maybe Prelude.Bool),
-                                     _ServiceOptions'uninterpretedOption :: ![UninterpretedOption],
-                                     _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
-                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f ServiceOptions x a, a ~ b) =>
-         Lens.Labels.HasLens f ServiceOptions ServiceOptions x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceOptions "deprecated" (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
-                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
-              (Data.ProtoLens.maybeLens Prelude.False)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceOptions "maybe'deprecated"
-           (Prelude.Maybe Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
-                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f ServiceOptions "uninterpretedOption"
-           ([UninterpretedOption])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption
-                 (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))
-              Prelude.id
-instance Data.Default.Class.Default ServiceOptions where
-        def
-          = ServiceOptions{_ServiceOptions'deprecated = Prelude.Nothing,
-                           _ServiceOptions'uninterpretedOption = [],
-                           _ServiceOptions'_unknownFields = ([])}
-instance Data.ProtoLens.Message ServiceOptions where
-        messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"
-        fieldsByTag
-          = let deprecated__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "deprecated"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
-                uninterpretedOption__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "uninterpretedOption")))
-                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
-                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _ServiceOptions'_unknownFields
-              (\ x__ y__ -> x__{_ServiceOptions'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@
- -}
-data SourceCodeInfo = SourceCodeInfo{_SourceCodeInfo'location ::
-                                     ![SourceCodeInfo'Location],
-                                     _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}
-                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f SourceCodeInfo x a, a ~ b) =>
-         Lens.Labels.HasLens f SourceCodeInfo SourceCodeInfo x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo "location"
-           ([SourceCodeInfo'Location])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'location
-                 (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))
-              Prelude.id
-instance Data.Default.Class.Default SourceCodeInfo where
-        def
-          = SourceCodeInfo{_SourceCodeInfo'location = [],
-                           _SourceCodeInfo'_unknownFields = ([])}
-instance Data.ProtoLens.Message SourceCodeInfo where
-        messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"
-        fieldsByTag
-          = let location__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "location"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, location__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _SourceCodeInfo'_unknownFields
-              (\ x__ y__ -> x__{_SourceCodeInfo'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@
- -}
-data SourceCodeInfo'Location = SourceCodeInfo'Location{_SourceCodeInfo'Location'path
-                                                       :: ![Data.Int.Int32],
-                                                       _SourceCodeInfo'Location'span ::
-                                                       ![Data.Int.Int32],
-                                                       _SourceCodeInfo'Location'leadingComments ::
-                                                       !(Prelude.Maybe Data.Text.Text),
-                                                       _SourceCodeInfo'Location'trailingComments ::
-                                                       !(Prelude.Maybe Data.Text.Text),
-                                                       _SourceCodeInfo'Location'leadingDetachedComments
-                                                       :: ![Data.Text.Text],
-                                                       _SourceCodeInfo'Location'_unknownFields ::
-                                                       !Data.ProtoLens.FieldSet}
-                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f SourceCodeInfo'Location x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f SourceCodeInfo'Location
-           SourceCodeInfo'Location
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location "path"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location "span"
-           ([Data.Int.Int32])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location "leadingComments"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingComments
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location
-           "maybe'leadingComments"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingComments
-                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location "trailingComments"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'trailingComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location
-           "maybe'trailingComments"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'trailingComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f SourceCodeInfo'Location
-           "leadingDetachedComments"
-           ([Data.Text.Text])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _SourceCodeInfo'Location'leadingDetachedComments
-                 (\ x__ y__ ->
-                    x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))
-              Prelude.id
-instance Data.Default.Class.Default SourceCodeInfo'Location where
-        def
-          = SourceCodeInfo'Location{_SourceCodeInfo'Location'path = [],
-                                    _SourceCodeInfo'Location'span = [],
-                                    _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,
-                                    _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,
-                                    _SourceCodeInfo'Location'leadingDetachedComments = [],
-                                    _SourceCodeInfo'Location'_unknownFields = ([])}
-instance Data.ProtoLens.Message SourceCodeInfo'Location where
-        messageName _
-          = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"
-        fieldsByTag
-          = let path__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "path"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                span__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "span"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                leadingComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "leading_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'leadingComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                trailingComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "trailing_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'trailingComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-                leadingDetachedComments__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "leading_detached_comments"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "leadingDetachedComments")))
-                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, path__field_descriptor),
-                 (Data.ProtoLens.Tag 2, span__field_descriptor),
-                 (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),
-                 (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),
-                 (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _SourceCodeInfo'Location'_unknownFields
-              (\ x__ y__ -> x__{_SourceCodeInfo'Location'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption
-  (Prelude.Maybe Data.ByteString.ByteString)@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
- -}
-data UninterpretedOption = UninterpretedOption{_UninterpretedOption'name
-                                               :: ![UninterpretedOption'NamePart],
-                                               _UninterpretedOption'identifierValue ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _UninterpretedOption'positiveIntValue ::
-                                               !(Prelude.Maybe Data.Word.Word64),
-                                               _UninterpretedOption'negativeIntValue ::
-                                               !(Prelude.Maybe Data.Int.Int64),
-                                               _UninterpretedOption'doubleValue ::
-                                               !(Prelude.Maybe Prelude.Double),
-                                               _UninterpretedOption'stringValue ::
-                                               !(Prelude.Maybe Data.ByteString.ByteString),
-                                               _UninterpretedOption'aggregateValue ::
-                                               !(Prelude.Maybe Data.Text.Text),
-                                               _UninterpretedOption'_unknownFields ::
-                                               !Data.ProtoLens.FieldSet}
-                         deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f UninterpretedOption x a, a ~ b) =>
-         Lens.Labels.HasLens f UninterpretedOption UninterpretedOption x a b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "name"
-           ([UninterpretedOption'NamePart])
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'name
-                 (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "identifierValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'identifierValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "positiveIntValue"
-           (Data.Word.Word64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'positiveIntValue"
-           (Prelude.Maybe Data.Word.Word64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "negativeIntValue"
-           (Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'negativeIntValue"
-           (Prelude.Maybe Data.Int.Int64)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "doubleValue"
-           (Prelude.Double)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'doubleValue"
-           (Prelude.Maybe Prelude.Double)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "stringValue"
-           (Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'stringValue"
-           (Prelude.Maybe Data.ByteString.ByteString)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "aggregateValue"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
-              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption "maybe'aggregateValue"
-           (Prelude.Maybe Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
-                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
-              Prelude.id
-instance Data.Default.Class.Default UninterpretedOption where
-        def
-          = UninterpretedOption{_UninterpretedOption'name = [],
-                                _UninterpretedOption'identifierValue = Prelude.Nothing,
-                                _UninterpretedOption'positiveIntValue = Prelude.Nothing,
-                                _UninterpretedOption'negativeIntValue = Prelude.Nothing,
-                                _UninterpretedOption'doubleValue = Prelude.Nothing,
-                                _UninterpretedOption'stringValue = Prelude.Nothing,
-                                _UninterpretedOption'aggregateValue = Prelude.Nothing,
-                                _UninterpretedOption'_unknownFields = ([])}
-instance Data.ProtoLens.Message UninterpretedOption where
-        messageName _
-          = Data.Text.pack "google.protobuf.UninterpretedOption"
-        fieldsByTag
-          = let name__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name"
-                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
-                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)
-                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                identifierValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "identifier_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'identifierValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                positiveIntValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "positive_int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'positiveIntValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                negativeIntValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "negative_int_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'negativeIntValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                doubleValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "double_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'doubleValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                stringValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "string_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'stringValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-                aggregateValue__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "aggregate_value"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.OptionalField
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) ::
-                               (Lens.Labels.Proxy#) "maybe'aggregateValue")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 2, name__field_descriptor),
-                 (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),
-                 (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),
-                 (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),
-                 (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),
-                 (Data.ProtoLens.Tag 7, stringValue__field_descriptor),
-                 (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens _UninterpretedOption'_unknownFields
-              (\ x__ y__ -> x__{_UninterpretedOption'_unknownFields = y__})
-{- | Fields :
-
-    * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@
-    * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@
- -}
-data UninterpretedOption'NamePart = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
-                                                                 :: !Data.Text.Text,
-                                                                 _UninterpretedOption'NamePart'isExtension
-                                                                 :: !Prelude.Bool,
-                                                                 _UninterpretedOption'NamePart'_unknownFields
-                                                                 :: !Data.ProtoLens.FieldSet}
-                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
-instance (Lens.Labels.HasLens' f UninterpretedOption'NamePart x a,
-          a ~ b) =>
-         Lens.Labels.HasLens f UninterpretedOption'NamePart
-           UninterpretedOption'NamePart
-           x
-           a
-           b
-         where
-        lensOf = Lens.Labels.lensOf'
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption'NamePart "namePart"
-           (Data.Text.Text)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens _UninterpretedOption'NamePart'namePart
-                 (\ x__ y__ -> x__{_UninterpretedOption'NamePart'namePart = y__}))
-              Prelude.id
-instance Prelude.Functor f =>
-         Lens.Labels.HasLens' f UninterpretedOption'NamePart "isExtension"
-           (Prelude.Bool)
-         where
-        lensOf' _
-          = (Prelude..)
-              (Lens.Family2.Unchecked.lens
-                 _UninterpretedOption'NamePart'isExtension
-                 (\ x__ y__ ->
-                    x__{_UninterpretedOption'NamePart'isExtension = y__}))
-              Prelude.id
-instance Data.Default.Class.Default UninterpretedOption'NamePart
-         where
-        def
-          = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
-                                           = Data.ProtoLens.fieldDefault,
-                                         _UninterpretedOption'NamePart'isExtension =
-                                           Data.ProtoLens.fieldDefault,
-                                         _UninterpretedOption'NamePart'_unknownFields = ([])}
-instance Data.ProtoLens.Message UninterpretedOption'NamePart where
-        messageName _
-          = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"
-        fieldsByTag
-          = let namePart__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "name_part"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
-                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
-                isExtension__field_descriptor
-                  = Data.ProtoLens.FieldDescriptor "is_extension"
-                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
-                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
-                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
-                         (Lens.Labels.lensOf
-                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")))
-                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
-              in
-              Data.Map.fromList
-                [(Data.ProtoLens.Tag 1, namePart__field_descriptor),
-                 (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]
-        unknownFields
-          = Lens.Family2.Unchecked.lens
-              _UninterpretedOption'NamePart'_unknownFields
-              (\ x__ y__ ->
-                 x__{_UninterpretedOption'NamePart'_unknownFields = y__})
+       (DescriptorProto(), DescriptorProto'ExtensionRange(),
+        DescriptorProto'ReservedRange(), EnumDescriptorProto(),
+        EnumDescriptorProto'EnumReservedRange(), EnumOptions(),
+        EnumValueDescriptorProto(), EnumValueOptions(),
+        ExtensionRangeOptions(), FieldDescriptorProto(),
+        FieldDescriptorProto'Label(..), FieldDescriptorProto'Label(),
+        FieldDescriptorProto'Type(..), FieldDescriptorProto'Type(),
+        FieldOptions(), FieldOptions'CType(..), FieldOptions'CType(),
+        FieldOptions'JSType(..), FieldOptions'JSType(),
+        FileDescriptorProto(), FileDescriptorSet(), FileOptions(),
+        FileOptions'OptimizeMode(..), FileOptions'OptimizeMode(),
+        GeneratedCodeInfo(), GeneratedCodeInfo'Annotation(),
+        MessageOptions(), MethodDescriptorProto(), MethodOptions(),
+        MethodOptions'IdempotencyLevel(..),
+        MethodOptions'IdempotencyLevel(), OneofDescriptorProto(),
+        OneofOptions(), ServiceDescriptorProto(), ServiceOptions(),
+        SourceCodeInfo(), SourceCodeInfo'Location(), UninterpretedOption(),
+        UninterpretedOption'NamePart())
+       where
+import qualified Control.DeepSeq
+import qualified Lens.Labels.Prism
+import qualified Prelude
+import qualified Data.Int
+import qualified Data.Word
+import qualified Data.ProtoLens
+import qualified Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Service.Types
+import qualified Lens.Family2
+import qualified Lens.Family2.Unchecked
+import qualified Data.Text
+import qualified Data.Map
+import qualified Data.ByteString
+import qualified Data.ByteString.Char8
+import qualified Lens.Labels
+import qualified Text.Read
+
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' DescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' DescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.field' @:: Lens' DescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' DescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.nestedType' @:: Lens' DescriptorProto [DescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' DescriptorProto [EnumDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extensionRange' @:: Lens' DescriptorProto [DescriptorProto'ExtensionRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofDecl' @:: Lens' DescriptorProto [OneofDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto MessageOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto (Prelude.Maybe MessageOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' DescriptorProto [DescriptorProto'ReservedRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' DescriptorProto [Data.Text.Text]@
+ -}
+data DescriptorProto = DescriptorProto{_DescriptorProto'name ::
+                                       !(Prelude.Maybe Data.Text.Text),
+                                       _DescriptorProto'field :: ![FieldDescriptorProto],
+                                       _DescriptorProto'extension :: ![FieldDescriptorProto],
+                                       _DescriptorProto'nestedType :: ![DescriptorProto],
+                                       _DescriptorProto'enumType :: ![EnumDescriptorProto],
+                                       _DescriptorProto'extensionRange ::
+                                       ![DescriptorProto'ExtensionRange],
+                                       _DescriptorProto'oneofDecl :: ![OneofDescriptorProto],
+                                       _DescriptorProto'options :: !(Prelude.Maybe MessageOptions),
+                                       _DescriptorProto'reservedRange ::
+                                       ![DescriptorProto'ReservedRange],
+                                       _DescriptorProto'reservedName :: ![Data.Text.Text],
+                                       _DescriptorProto'_unknownFields :: !Data.ProtoLens.FieldSet}
+                         deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' DescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'name
+                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' DescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'name
+                 (\ x__ y__ -> x__{_DescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "field"
+           ([FieldDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'field
+                 (\ x__ y__ -> x__{_DescriptorProto'field = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "extension"
+           ([FieldDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'extension
+                 (\ x__ y__ -> x__{_DescriptorProto'extension = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "nestedType"
+           ([DescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'nestedType
+                 (\ x__ y__ -> x__{_DescriptorProto'nestedType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "enumType"
+           ([EnumDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'enumType
+                 (\ x__ y__ -> x__{_DescriptorProto'enumType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "extensionRange"
+           ([DescriptorProto'ExtensionRange])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'extensionRange
+                 (\ x__ y__ -> x__{_DescriptorProto'extensionRange = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "oneofDecl"
+           ([OneofDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'oneofDecl
+                 (\ x__ y__ -> x__{_DescriptorProto'oneofDecl = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "options"
+           (MessageOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'options
+                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' DescriptorProto "maybe'options"
+           (Prelude.Maybe MessageOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'options
+                 (\ x__ y__ -> x__{_DescriptorProto'options = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "reservedRange"
+           ([DescriptorProto'ReservedRange])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedRange
+                 (\ x__ y__ -> x__{_DescriptorProto'reservedRange = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto "reservedName"
+           ([Data.Text.Text])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'reservedName
+                 (\ x__ y__ -> x__{_DescriptorProto'reservedName = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message DescriptorProto where
+        messageName _ = Data.Text.pack "google.protobuf.DescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                field__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "field"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                extension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                nestedType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "nested_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                enumType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "enum_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                extensionRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ExtensionRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                oneofDecl__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "oneof_decl"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor OneofDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MessageOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                reservedRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto'ReservedRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+                reservedName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, field__field_descriptor),
+                 (Data.ProtoLens.Tag 6, extension__field_descriptor),
+                 (Data.ProtoLens.Tag 3, nestedType__field_descriptor),
+                 (Data.ProtoLens.Tag 4, enumType__field_descriptor),
+                 (Data.ProtoLens.Tag 5, extensionRange__field_descriptor),
+                 (Data.ProtoLens.Tag 8, oneofDecl__field_descriptor),
+                 (Data.ProtoLens.Tag 7, options__field_descriptor),
+                 (Data.ProtoLens.Tag 9, reservedRange__field_descriptor),
+                 (Data.ProtoLens.Tag 10, reservedName__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _DescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_DescriptorProto'_unknownFields = y__})
+        defMessage
+          = DescriptorProto{_DescriptorProto'name = Prelude.Nothing,
+                            _DescriptorProto'field = [], _DescriptorProto'extension = [],
+                            _DescriptorProto'nestedType = [], _DescriptorProto'enumType = [],
+                            _DescriptorProto'extensionRange = [],
+                            _DescriptorProto'oneofDecl = [],
+                            _DescriptorProto'options = Prelude.Nothing,
+                            _DescriptorProto'reservedRange = [],
+                            _DescriptorProto'reservedName = [],
+                            _DescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData DescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_DescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_DescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_DescriptorProto'field x__)
+                      (Control.DeepSeq.deepseq (_DescriptorProto'extension x__)
+                         (Control.DeepSeq.deepseq (_DescriptorProto'nestedType x__)
+                            (Control.DeepSeq.deepseq (_DescriptorProto'enumType x__)
+                               (Control.DeepSeq.deepseq (_DescriptorProto'extensionRange x__)
+                                  (Control.DeepSeq.deepseq (_DescriptorProto'oneofDecl x__)
+                                     (Control.DeepSeq.deepseq (_DescriptorProto'options x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_DescriptorProto'reservedRange x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_DescriptorProto'reservedName x__)
+                                              (())))))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ExtensionRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ExtensionRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' DescriptorProto'ExtensionRange ExtensionRangeOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' DescriptorProto'ExtensionRange
+  (Prelude.Maybe ExtensionRangeOptions)@
+ -}
+data DescriptorProto'ExtensionRange = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         Data.Int.Int32),
+                                                                     _DescriptorProto'ExtensionRange'end
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         Data.Int.Int32),
+                                                                     _DescriptorProto'ExtensionRange'options
+                                                                     ::
+                                                                     !(Prelude.Maybe
+                                                                         ExtensionRangeOptions),
+                                                                     _DescriptorProto'ExtensionRange'_unknownFields
+                                                                     :: !Data.ProtoLens.FieldSet}
+                                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto'ExtensionRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
+           "start"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'start
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'start = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange "end"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ExtensionRange'end
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'end = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
+           "options"
+           (ExtensionRangeOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _DescriptorProto'ExtensionRange'options
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' DescriptorProto'ExtensionRange
+           "maybe'options"
+           (Prelude.Maybe ExtensionRangeOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _DescriptorProto'ExtensionRange'options
+                 (\ x__ y__ -> x__{_DescriptorProto'ExtensionRange'options = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message DescriptorProto'ExtensionRange
+         where
+        messageName _
+          = Data.Text.pack "google.protobuf.DescriptorProto.ExtensionRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ExtensionRangeOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ExtensionRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _DescriptorProto'ExtensionRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_DescriptorProto'ExtensionRange'_unknownFields = y__})
+        defMessage
+          = DescriptorProto'ExtensionRange{_DescriptorProto'ExtensionRange'start
+                                             = Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'end = Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'options =
+                                             Prelude.Nothing,
+                                           _DescriptorProto'ExtensionRange'_unknownFields = ([])}
+instance Control.DeepSeq.NFData DescriptorProto'ExtensionRange
+         where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_DescriptorProto'ExtensionRange'_unknownFields x__)
+                (Control.DeepSeq.deepseq
+                   (_DescriptorProto'ExtensionRange'start x__)
+                   (Control.DeepSeq.deepseq (_DescriptorProto'ExtensionRange'end x__)
+                      (Control.DeepSeq.deepseq
+                         (_DescriptorProto'ExtensionRange'options x__)
+                         (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' DescriptorProto'ReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' DescriptorProto'ReservedRange (Prelude.Maybe Data.Int.Int32)@
+ -}
+data DescriptorProto'ReservedRange = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
+                                                                   ::
+                                                                   !(Prelude.Maybe Data.Int.Int32),
+                                                                   _DescriptorProto'ReservedRange'end
+                                                                   ::
+                                                                   !(Prelude.Maybe Data.Int.Int32),
+                                                                   _DescriptorProto'ReservedRange'_unknownFields
+                                                                   :: !Data.ProtoLens.FieldSet}
+                                       deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show DescriptorProto'ReservedRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' DescriptorProto'ReservedRange "start"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' DescriptorProto'ReservedRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'start
+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'start = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' DescriptorProto'ReservedRange "end"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' DescriptorProto'ReservedRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _DescriptorProto'ReservedRange'end
+                 (\ x__ y__ -> x__{_DescriptorProto'ReservedRange'end = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message DescriptorProto'ReservedRange where
+        messageName _
+          = Data.Text.pack "google.protobuf.DescriptorProto.ReservedRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
+                      :: Data.ProtoLens.FieldDescriptor DescriptorProto'ReservedRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _DescriptorProto'ReservedRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_DescriptorProto'ReservedRange'_unknownFields = y__})
+        defMessage
+          = DescriptorProto'ReservedRange{_DescriptorProto'ReservedRange'start
+                                            = Prelude.Nothing,
+                                          _DescriptorProto'ReservedRange'end = Prelude.Nothing,
+                                          _DescriptorProto'ReservedRange'_unknownFields = ([])}
+instance Control.DeepSeq.NFData DescriptorProto'ReservedRange where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_DescriptorProto'ReservedRange'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'start x__)
+                   (Control.DeepSeq.deepseq (_DescriptorProto'ReservedRange'end x__)
+                      (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.value' @:: Lens' EnumDescriptorProto [EnumValueDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumDescriptorProto EnumOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumDescriptorProto (Prelude.Maybe EnumOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedRange' @:: Lens' EnumDescriptorProto [EnumDescriptorProto'EnumReservedRange]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.reservedName' @:: Lens' EnumDescriptorProto [Data.Text.Text]@
+ -}
+data EnumDescriptorProto = EnumDescriptorProto{_EnumDescriptorProto'name
+                                               :: !(Prelude.Maybe Data.Text.Text),
+                                               _EnumDescriptorProto'value ::
+                                               ![EnumValueDescriptorProto],
+                                               _EnumDescriptorProto'options ::
+                                               !(Prelude.Maybe EnumOptions),
+                                               _EnumDescriptorProto'reservedRange ::
+                                               ![EnumDescriptorProto'EnumReservedRange],
+                                               _EnumDescriptorProto'reservedName ::
+                                               ![Data.Text.Text],
+                                               _EnumDescriptorProto'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' EnumDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'name
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumDescriptorProto "value"
+           ([EnumValueDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'value
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'value = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumDescriptorProto "options"
+           (EnumOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' EnumDescriptorProto "maybe'options"
+           (Prelude.Maybe EnumOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'options
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'options = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumDescriptorProto "reservedRange"
+           ([EnumDescriptorProto'EnumReservedRange])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedRange
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'reservedRange = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumDescriptorProto "reservedName"
+           ([Data.Text.Text])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumDescriptorProto'reservedName
+                 (\ x__ y__ -> x__{_EnumDescriptorProto'reservedName = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message EnumDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.EnumDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                value__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "value"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumValueDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                reservedRange__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_range"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor
+                           EnumDescriptorProto'EnumReservedRange)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+                reservedName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "reserved_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")))
+                      :: Data.ProtoLens.FieldDescriptor EnumDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, value__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor),
+                 (Data.ProtoLens.Tag 4, reservedRange__field_descriptor),
+                 (Data.ProtoLens.Tag 5, reservedName__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_EnumDescriptorProto'_unknownFields = y__})
+        defMessage
+          = EnumDescriptorProto{_EnumDescriptorProto'name = Prelude.Nothing,
+                                _EnumDescriptorProto'value = [],
+                                _EnumDescriptorProto'options = Prelude.Nothing,
+                                _EnumDescriptorProto'reservedRange = [],
+                                _EnumDescriptorProto'reservedName = [],
+                                _EnumDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData EnumDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_EnumDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_EnumDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_EnumDescriptorProto'value x__)
+                      (Control.DeepSeq.deepseq (_EnumDescriptorProto'options x__)
+                         (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedRange x__)
+                            (Control.DeepSeq.deepseq (_EnumDescriptorProto'reservedName x__)
+                               (()))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.start' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'start' @:: Lens' EnumDescriptorProto'EnumReservedRange
+  (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' EnumDescriptorProto'EnumReservedRange Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' EnumDescriptorProto'EnumReservedRange
+  (Prelude.Maybe Data.Int.Int32)@
+ -}
+data EnumDescriptorProto'EnumReservedRange = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
+                                                                                   ::
+                                                                                   !(Prelude.Maybe
+                                                                                       Data.Int.Int32),
+                                                                                   _EnumDescriptorProto'EnumReservedRange'end
+                                                                                   ::
+                                                                                   !(Prelude.Maybe
+                                                                                       Data.Int.Int32),
+                                                                                   _EnumDescriptorProto'EnumReservedRange'_unknownFields
+                                                                                   ::
+                                                                                   !Data.ProtoLens.FieldSet}
+                                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumDescriptorProto'EnumReservedRange where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
+           "start"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _EnumDescriptorProto'EnumReservedRange'start
+                 (\ x__ y__ ->
+                    x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
+           "maybe'start"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _EnumDescriptorProto'EnumReservedRange'start
+                 (\ x__ y__ ->
+                    x__{_EnumDescriptorProto'EnumReservedRange'start = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
+           "end"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _EnumDescriptorProto'EnumReservedRange'end
+                 (\ x__ y__ ->
+                    x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumDescriptorProto'EnumReservedRange
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _EnumDescriptorProto'EnumReservedRange'end
+                 (\ x__ y__ ->
+                    x__{_EnumDescriptorProto'EnumReservedRange'end = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message
+           EnumDescriptorProto'EnumReservedRange
+         where
+        messageName _
+          = Data.Text.pack
+              "google.protobuf.EnumDescriptorProto.EnumReservedRange"
+        fieldsByTag
+          = let start__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "start"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")))
+                      ::
+                      Data.ProtoLens.FieldDescriptor
+                        EnumDescriptorProto'EnumReservedRange
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
+                      ::
+                      Data.ProtoLens.FieldDescriptor
+                        EnumDescriptorProto'EnumReservedRange
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, start__field_descriptor),
+                 (Data.ProtoLens.Tag 2, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _EnumDescriptorProto'EnumReservedRange'_unknownFields
+              (\ x__ y__ ->
+                 x__{_EnumDescriptorProto'EnumReservedRange'_unknownFields = y__})
+        defMessage
+          = EnumDescriptorProto'EnumReservedRange{_EnumDescriptorProto'EnumReservedRange'start
+                                                    = Prelude.Nothing,
+                                                  _EnumDescriptorProto'EnumReservedRange'end =
+                                                    Prelude.Nothing,
+                                                  _EnumDescriptorProto'EnumReservedRange'_unknownFields
+                                                    = ([])}
+instance Control.DeepSeq.NFData
+           EnumDescriptorProto'EnumReservedRange
+         where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_EnumDescriptorProto'EnumReservedRange'_unknownFields x__)
+                (Control.DeepSeq.deepseq
+                   (_EnumDescriptorProto'EnumReservedRange'start x__)
+                   (Control.DeepSeq.deepseq
+                      (_EnumDescriptorProto'EnumReservedRange'end x__)
+                      (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.allowAlias' @:: Lens' EnumOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'allowAlias' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumOptions [UninterpretedOption]@
+ -}
+data EnumOptions = EnumOptions{_EnumOptions'allowAlias ::
+                               !(Prelude.Maybe Prelude.Bool),
+                               _EnumOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                               _EnumOptions'uninterpretedOption :: ![UninterpretedOption],
+                               _EnumOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                     deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' EnumOptions "allowAlias"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
+                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumOptions "maybe'allowAlias"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumOptions'allowAlias
+                 (\ x__ y__ -> x__{_EnumOptions'allowAlias = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
+                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' EnumOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumOptions'deprecated
+                 (\ x__ y__ -> x__{_EnumOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_EnumOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message EnumOptions where
+        messageName _ = Data.Text.pack "google.protobuf.EnumOptions"
+        fieldsByTag
+          = let allowAlias__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "allow_alias"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor EnumOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 2, allowAlias__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumOptions'_unknownFields
+              (\ x__ y__ -> x__{_EnumOptions'_unknownFields = y__})
+        defMessage
+          = EnumOptions{_EnumOptions'allowAlias = Prelude.Nothing,
+                        _EnumOptions'deprecated = Prelude.Nothing,
+                        _EnumOptions'uninterpretedOption = [],
+                        _EnumOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData EnumOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_EnumOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_EnumOptions'allowAlias x__)
+                   (Control.DeepSeq.deepseq (_EnumOptions'deprecated x__)
+                      (Control.DeepSeq.deepseq (_EnumOptions'uninterpretedOption x__)
+                         (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' EnumValueDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' EnumValueDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' EnumValueDescriptorProto EnumValueOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' EnumValueDescriptorProto (Prelude.Maybe EnumValueOptions)@
+ -}
+data EnumValueDescriptorProto = EnumValueDescriptorProto{_EnumValueDescriptorProto'name
+                                                         :: !(Prelude.Maybe Data.Text.Text),
+                                                         _EnumValueDescriptorProto'number ::
+                                                         !(Prelude.Maybe Data.Int.Int32),
+                                                         _EnumValueDescriptorProto'options ::
+                                                         !(Prelude.Maybe EnumValueOptions),
+                                                         _EnumValueDescriptorProto'_unknownFields ::
+                                                         !Data.ProtoLens.FieldSet}
+                                  deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumValueDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' EnumValueDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumValueDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'name
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumValueDescriptorProto "number"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' EnumValueDescriptorProto
+           "maybe'number"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'number
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'number = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumValueDescriptorProto "options"
+           (EnumValueOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' EnumValueDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe EnumValueOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueDescriptorProto'options
+                 (\ x__ y__ -> x__{_EnumValueDescriptorProto'options = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message EnumValueDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.EnumValueDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+                number__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "number"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumValueOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, number__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _EnumValueDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_EnumValueDescriptorProto'_unknownFields = y__})
+        defMessage
+          = EnumValueDescriptorProto{_EnumValueDescriptorProto'name =
+                                       Prelude.Nothing,
+                                     _EnumValueDescriptorProto'number = Prelude.Nothing,
+                                     _EnumValueDescriptorProto'options = Prelude.Nothing,
+                                     _EnumValueDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData EnumValueDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_EnumValueDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'number x__)
+                      (Control.DeepSeq.deepseq (_EnumValueDescriptorProto'options x__)
+                         (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' EnumValueOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' EnumValueOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' EnumValueOptions [UninterpretedOption]@
+ -}
+data EnumValueOptions = EnumValueOptions{_EnumValueOptions'deprecated
+                                         :: !(Prelude.Maybe Prelude.Bool),
+                                         _EnumValueOptions'uninterpretedOption ::
+                                         ![UninterpretedOption],
+                                         _EnumValueOptions'_unknownFields ::
+                                         !Data.ProtoLens.FieldSet}
+                          deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EnumValueOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' EnumValueOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
+                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' EnumValueOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueOptions'deprecated
+                 (\ x__ y__ -> x__{_EnumValueOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' EnumValueOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _EnumValueOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_EnumValueOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message EnumValueOptions where
+        messageName _ = Data.Text.pack "google.protobuf.EnumValueOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor EnumValueOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _EnumValueOptions'_unknownFields
+              (\ x__ y__ -> x__{_EnumValueOptions'_unknownFields = y__})
+        defMessage
+          = EnumValueOptions{_EnumValueOptions'deprecated = Prelude.Nothing,
+                             _EnumValueOptions'uninterpretedOption = [],
+                             _EnumValueOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData EnumValueOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_EnumValueOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_EnumValueOptions'deprecated x__)
+                   (Control.DeepSeq.deepseq
+                      (_EnumValueOptions'uninterpretedOption x__)
+                      (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ExtensionRangeOptions [UninterpretedOption]@
+ -}
+data ExtensionRangeOptions = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
+                                                   :: ![UninterpretedOption],
+                                                   _ExtensionRangeOptions'_unknownFields ::
+                                                   !Data.ProtoLens.FieldSet}
+                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ExtensionRangeOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' ExtensionRangeOptions
+           "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _ExtensionRangeOptions'uninterpretedOption
+                 (\ x__ y__ ->
+                    x__{_ExtensionRangeOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message ExtensionRangeOptions where
+        messageName _
+          = Data.Text.pack "google.protobuf.ExtensionRangeOptions"
+        fieldsByTag
+          = let uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor ExtensionRangeOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _ExtensionRangeOptions'_unknownFields
+              (\ x__ y__ -> x__{_ExtensionRangeOptions'_unknownFields = y__})
+        defMessage
+          = ExtensionRangeOptions{_ExtensionRangeOptions'uninterpretedOption
+                                    = [],
+                                  _ExtensionRangeOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData ExtensionRangeOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_ExtensionRangeOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq
+                   (_ExtensionRangeOptions'uninterpretedOption x__)
+                   (()))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.number' @:: Lens' FieldDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'number' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.label' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Label@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'label' @:: Lens' FieldDescriptorProto
+  (Prelude.Maybe FieldDescriptorProto'Label)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.type'' @:: Lens' FieldDescriptorProto FieldDescriptorProto'Type@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'type'' @:: Lens' FieldDescriptorProto
+  (Prelude.Maybe FieldDescriptorProto'Type)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.typeName' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'typeName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extendee' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'extendee' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.defaultValue' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'defaultValue' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.oneofIndex' @:: Lens' FieldDescriptorProto Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'oneofIndex' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.jsonName' @:: Lens' FieldDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jsonName' @:: Lens' FieldDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FieldDescriptorProto FieldOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FieldDescriptorProto (Prelude.Maybe FieldOptions)@
+ -}
+data FieldDescriptorProto = FieldDescriptorProto{_FieldDescriptorProto'name
+                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'number ::
+                                                 !(Prelude.Maybe Data.Int.Int32),
+                                                 _FieldDescriptorProto'label ::
+                                                 !(Prelude.Maybe FieldDescriptorProto'Label),
+                                                 _FieldDescriptorProto'type' ::
+                                                 !(Prelude.Maybe FieldDescriptorProto'Type),
+                                                 _FieldDescriptorProto'typeName ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'extendee ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'defaultValue ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'oneofIndex ::
+                                                 !(Prelude.Maybe Data.Int.Int32),
+                                                 _FieldDescriptorProto'jsonName ::
+                                                 !(Prelude.Maybe Data.Text.Text),
+                                                 _FieldDescriptorProto'options ::
+                                                 !(Prelude.Maybe FieldOptions),
+                                                 _FieldDescriptorProto'_unknownFields ::
+                                                 !Data.ProtoLens.FieldSet}
+                              deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FieldDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' FieldDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'name
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "number"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'number"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'number
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'number = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "label"
+           (FieldDescriptorProto'Label)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'label"
+           (Prelude.Maybe FieldDescriptorProto'Label)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'label
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'label = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "type'"
+           (FieldDescriptorProto'Type)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'type'"
+           (Prelude.Maybe FieldDescriptorProto'Type)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'type'
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'type' = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "typeName"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'typeName"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'typeName
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'typeName = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "extendee"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'extendee"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'extendee
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'extendee = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "defaultValue"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto
+           "maybe'defaultValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'defaultValue
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'defaultValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "oneofIndex"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto
+           "maybe'oneofIndex"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'oneofIndex
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'oneofIndex = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "jsonName"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'jsonName"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'jsonName
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'jsonName = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldDescriptorProto "options"
+           (FieldOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' FieldDescriptorProto "maybe'options"
+           (Prelude.Maybe FieldOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldDescriptorProto'options
+                 (\ x__ y__ -> x__{_FieldDescriptorProto'options = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message FieldDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.FieldDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                number__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "number"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                label__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "label"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Label)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                type'__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto'Type)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                typeName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "type_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                extendee__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extendee"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                defaultValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "default_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'defaultValue")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                oneofIndex__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "oneof_index"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                jsonName__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "json_name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor FieldDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 3, number__field_descriptor),
+                 (Data.ProtoLens.Tag 4, label__field_descriptor),
+                 (Data.ProtoLens.Tag 5, type'__field_descriptor),
+                 (Data.ProtoLens.Tag 6, typeName__field_descriptor),
+                 (Data.ProtoLens.Tag 2, extendee__field_descriptor),
+                 (Data.ProtoLens.Tag 7, defaultValue__field_descriptor),
+                 (Data.ProtoLens.Tag 9, oneofIndex__field_descriptor),
+                 (Data.ProtoLens.Tag 10, jsonName__field_descriptor),
+                 (Data.ProtoLens.Tag 8, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FieldDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_FieldDescriptorProto'_unknownFields = y__})
+        defMessage
+          = FieldDescriptorProto{_FieldDescriptorProto'name =
+                                   Prelude.Nothing,
+                                 _FieldDescriptorProto'number = Prelude.Nothing,
+                                 _FieldDescriptorProto'label = Prelude.Nothing,
+                                 _FieldDescriptorProto'type' = Prelude.Nothing,
+                                 _FieldDescriptorProto'typeName = Prelude.Nothing,
+                                 _FieldDescriptorProto'extendee = Prelude.Nothing,
+                                 _FieldDescriptorProto'defaultValue = Prelude.Nothing,
+                                 _FieldDescriptorProto'oneofIndex = Prelude.Nothing,
+                                 _FieldDescriptorProto'jsonName = Prelude.Nothing,
+                                 _FieldDescriptorProto'options = Prelude.Nothing,
+                                 _FieldDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData FieldDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_FieldDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_FieldDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_FieldDescriptorProto'number x__)
+                      (Control.DeepSeq.deepseq (_FieldDescriptorProto'label x__)
+                         (Control.DeepSeq.deepseq (_FieldDescriptorProto'type' x__)
+                            (Control.DeepSeq.deepseq (_FieldDescriptorProto'typeName x__)
+                               (Control.DeepSeq.deepseq (_FieldDescriptorProto'extendee x__)
+                                  (Control.DeepSeq.deepseq (_FieldDescriptorProto'defaultValue x__)
+                                     (Control.DeepSeq.deepseq (_FieldDescriptorProto'oneofIndex x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_FieldDescriptorProto'jsonName x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_FieldDescriptorProto'options x__)
+                                              (())))))))))))
+data FieldDescriptorProto'Label = FieldDescriptorProto'LABEL_OPTIONAL
+                                | FieldDescriptorProto'LABEL_REQUIRED
+                                | FieldDescriptorProto'LABEL_REPEATED
+                                    deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Label
+         where
+        fieldDefault = FieldDescriptorProto'LABEL_OPTIONAL
+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Label
+         where
+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldDescriptorProto'LABEL_OPTIONAL = "LABEL_OPTIONAL"
+        showEnum FieldDescriptorProto'LABEL_REQUIRED = "LABEL_REQUIRED"
+        showEnum FieldDescriptorProto'LABEL_REPEATED = "LABEL_REPEATED"
+        readEnum "LABEL_OPTIONAL"
+          = Prelude.Just FieldDescriptorProto'LABEL_OPTIONAL
+        readEnum "LABEL_REQUIRED"
+          = Prelude.Just FieldDescriptorProto'LABEL_REQUIRED
+        readEnum "LABEL_REPEATED"
+          = Prelude.Just FieldDescriptorProto'LABEL_REPEATED
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum FieldDescriptorProto'Label where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum Label: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldDescriptorProto'LABEL_OPTIONAL = 1
+        fromEnum FieldDescriptorProto'LABEL_REQUIRED = 2
+        fromEnum FieldDescriptorProto'LABEL_REPEATED = 3
+        succ FieldDescriptorProto'LABEL_REPEATED
+          = Prelude.error
+              "FieldDescriptorProto'Label.succ: bad argument FieldDescriptorProto'LABEL_REPEATED. This value would be out of bounds."
+        succ FieldDescriptorProto'LABEL_OPTIONAL
+          = FieldDescriptorProto'LABEL_REQUIRED
+        succ FieldDescriptorProto'LABEL_REQUIRED
+          = FieldDescriptorProto'LABEL_REPEATED
+        pred FieldDescriptorProto'LABEL_OPTIONAL
+          = Prelude.error
+              "FieldDescriptorProto'Label.pred: bad argument FieldDescriptorProto'LABEL_OPTIONAL. This value would be out of bounds."
+        pred FieldDescriptorProto'LABEL_REQUIRED
+          = FieldDescriptorProto'LABEL_OPTIONAL
+        pred FieldDescriptorProto'LABEL_REPEATED
+          = FieldDescriptorProto'LABEL_REQUIRED
+        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 Prelude.Bounded FieldDescriptorProto'Label where
+        minBound = FieldDescriptorProto'LABEL_OPTIONAL
+        maxBound = FieldDescriptorProto'LABEL_REPEATED
+instance Control.DeepSeq.NFData FieldDescriptorProto'Label where
+        rnf x__ = Prelude.seq x__ (())
+data FieldDescriptorProto'Type = FieldDescriptorProto'TYPE_DOUBLE
+                               | FieldDescriptorProto'TYPE_FLOAT
+                               | FieldDescriptorProto'TYPE_INT64
+                               | FieldDescriptorProto'TYPE_UINT64
+                               | FieldDescriptorProto'TYPE_INT32
+                               | FieldDescriptorProto'TYPE_FIXED64
+                               | FieldDescriptorProto'TYPE_FIXED32
+                               | FieldDescriptorProto'TYPE_BOOL
+                               | FieldDescriptorProto'TYPE_STRING
+                               | FieldDescriptorProto'TYPE_GROUP
+                               | FieldDescriptorProto'TYPE_MESSAGE
+                               | FieldDescriptorProto'TYPE_BYTES
+                               | FieldDescriptorProto'TYPE_UINT32
+                               | FieldDescriptorProto'TYPE_ENUM
+                               | FieldDescriptorProto'TYPE_SFIXED32
+                               | FieldDescriptorProto'TYPE_SFIXED64
+                               | FieldDescriptorProto'TYPE_SINT32
+                               | FieldDescriptorProto'TYPE_SINT64
+                                   deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault FieldDescriptorProto'Type
+         where
+        fieldDefault = FieldDescriptorProto'TYPE_DOUBLE
+instance Data.ProtoLens.MessageEnum FieldDescriptorProto'Type where
+        maybeToEnum 1 = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
+        maybeToEnum 2 = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
+        maybeToEnum 3 = Prelude.Just FieldDescriptorProto'TYPE_INT64
+        maybeToEnum 4 = Prelude.Just FieldDescriptorProto'TYPE_UINT64
+        maybeToEnum 5 = Prelude.Just FieldDescriptorProto'TYPE_INT32
+        maybeToEnum 6 = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
+        maybeToEnum 7 = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
+        maybeToEnum 8 = Prelude.Just FieldDescriptorProto'TYPE_BOOL
+        maybeToEnum 9 = Prelude.Just FieldDescriptorProto'TYPE_STRING
+        maybeToEnum 10 = Prelude.Just FieldDescriptorProto'TYPE_GROUP
+        maybeToEnum 11 = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
+        maybeToEnum 12 = Prelude.Just FieldDescriptorProto'TYPE_BYTES
+        maybeToEnum 13 = Prelude.Just FieldDescriptorProto'TYPE_UINT32
+        maybeToEnum 14 = Prelude.Just FieldDescriptorProto'TYPE_ENUM
+        maybeToEnum 15 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
+        maybeToEnum 16 = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
+        maybeToEnum 17 = Prelude.Just FieldDescriptorProto'TYPE_SINT32
+        maybeToEnum 18 = Prelude.Just FieldDescriptorProto'TYPE_SINT64
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldDescriptorProto'TYPE_DOUBLE = "TYPE_DOUBLE"
+        showEnum FieldDescriptorProto'TYPE_FLOAT = "TYPE_FLOAT"
+        showEnum FieldDescriptorProto'TYPE_INT64 = "TYPE_INT64"
+        showEnum FieldDescriptorProto'TYPE_UINT64 = "TYPE_UINT64"
+        showEnum FieldDescriptorProto'TYPE_INT32 = "TYPE_INT32"
+        showEnum FieldDescriptorProto'TYPE_FIXED64 = "TYPE_FIXED64"
+        showEnum FieldDescriptorProto'TYPE_FIXED32 = "TYPE_FIXED32"
+        showEnum FieldDescriptorProto'TYPE_BOOL = "TYPE_BOOL"
+        showEnum FieldDescriptorProto'TYPE_STRING = "TYPE_STRING"
+        showEnum FieldDescriptorProto'TYPE_GROUP = "TYPE_GROUP"
+        showEnum FieldDescriptorProto'TYPE_MESSAGE = "TYPE_MESSAGE"
+        showEnum FieldDescriptorProto'TYPE_BYTES = "TYPE_BYTES"
+        showEnum FieldDescriptorProto'TYPE_UINT32 = "TYPE_UINT32"
+        showEnum FieldDescriptorProto'TYPE_ENUM = "TYPE_ENUM"
+        showEnum FieldDescriptorProto'TYPE_SFIXED32 = "TYPE_SFIXED32"
+        showEnum FieldDescriptorProto'TYPE_SFIXED64 = "TYPE_SFIXED64"
+        showEnum FieldDescriptorProto'TYPE_SINT32 = "TYPE_SINT32"
+        showEnum FieldDescriptorProto'TYPE_SINT64 = "TYPE_SINT64"
+        readEnum "TYPE_DOUBLE"
+          = Prelude.Just FieldDescriptorProto'TYPE_DOUBLE
+        readEnum "TYPE_FLOAT"
+          = Prelude.Just FieldDescriptorProto'TYPE_FLOAT
+        readEnum "TYPE_INT64"
+          = Prelude.Just FieldDescriptorProto'TYPE_INT64
+        readEnum "TYPE_UINT64"
+          = Prelude.Just FieldDescriptorProto'TYPE_UINT64
+        readEnum "TYPE_INT32"
+          = Prelude.Just FieldDescriptorProto'TYPE_INT32
+        readEnum "TYPE_FIXED64"
+          = Prelude.Just FieldDescriptorProto'TYPE_FIXED64
+        readEnum "TYPE_FIXED32"
+          = Prelude.Just FieldDescriptorProto'TYPE_FIXED32
+        readEnum "TYPE_BOOL" = Prelude.Just FieldDescriptorProto'TYPE_BOOL
+        readEnum "TYPE_STRING"
+          = Prelude.Just FieldDescriptorProto'TYPE_STRING
+        readEnum "TYPE_GROUP"
+          = Prelude.Just FieldDescriptorProto'TYPE_GROUP
+        readEnum "TYPE_MESSAGE"
+          = Prelude.Just FieldDescriptorProto'TYPE_MESSAGE
+        readEnum "TYPE_BYTES"
+          = Prelude.Just FieldDescriptorProto'TYPE_BYTES
+        readEnum "TYPE_UINT32"
+          = Prelude.Just FieldDescriptorProto'TYPE_UINT32
+        readEnum "TYPE_ENUM" = Prelude.Just FieldDescriptorProto'TYPE_ENUM
+        readEnum "TYPE_SFIXED32"
+          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED32
+        readEnum "TYPE_SFIXED64"
+          = Prelude.Just FieldDescriptorProto'TYPE_SFIXED64
+        readEnum "TYPE_SINT32"
+          = Prelude.Just FieldDescriptorProto'TYPE_SINT32
+        readEnum "TYPE_SINT64"
+          = Prelude.Just FieldDescriptorProto'TYPE_SINT64
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum FieldDescriptorProto'Type where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum Type: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldDescriptorProto'TYPE_DOUBLE = 1
+        fromEnum FieldDescriptorProto'TYPE_FLOAT = 2
+        fromEnum FieldDescriptorProto'TYPE_INT64 = 3
+        fromEnum FieldDescriptorProto'TYPE_UINT64 = 4
+        fromEnum FieldDescriptorProto'TYPE_INT32 = 5
+        fromEnum FieldDescriptorProto'TYPE_FIXED64 = 6
+        fromEnum FieldDescriptorProto'TYPE_FIXED32 = 7
+        fromEnum FieldDescriptorProto'TYPE_BOOL = 8
+        fromEnum FieldDescriptorProto'TYPE_STRING = 9
+        fromEnum FieldDescriptorProto'TYPE_GROUP = 10
+        fromEnum FieldDescriptorProto'TYPE_MESSAGE = 11
+        fromEnum FieldDescriptorProto'TYPE_BYTES = 12
+        fromEnum FieldDescriptorProto'TYPE_UINT32 = 13
+        fromEnum FieldDescriptorProto'TYPE_ENUM = 14
+        fromEnum FieldDescriptorProto'TYPE_SFIXED32 = 15
+        fromEnum FieldDescriptorProto'TYPE_SFIXED64 = 16
+        fromEnum FieldDescriptorProto'TYPE_SINT32 = 17
+        fromEnum FieldDescriptorProto'TYPE_SINT64 = 18
+        succ FieldDescriptorProto'TYPE_SINT64
+          = Prelude.error
+              "FieldDescriptorProto'Type.succ: bad argument FieldDescriptorProto'TYPE_SINT64. This value would be out of bounds."
+        succ FieldDescriptorProto'TYPE_DOUBLE
+          = FieldDescriptorProto'TYPE_FLOAT
+        succ FieldDescriptorProto'TYPE_FLOAT
+          = FieldDescriptorProto'TYPE_INT64
+        succ FieldDescriptorProto'TYPE_INT64
+          = FieldDescriptorProto'TYPE_UINT64
+        succ FieldDescriptorProto'TYPE_UINT64
+          = FieldDescriptorProto'TYPE_INT32
+        succ FieldDescriptorProto'TYPE_INT32
+          = FieldDescriptorProto'TYPE_FIXED64
+        succ FieldDescriptorProto'TYPE_FIXED64
+          = FieldDescriptorProto'TYPE_FIXED32
+        succ FieldDescriptorProto'TYPE_FIXED32
+          = FieldDescriptorProto'TYPE_BOOL
+        succ FieldDescriptorProto'TYPE_BOOL
+          = FieldDescriptorProto'TYPE_STRING
+        succ FieldDescriptorProto'TYPE_STRING
+          = FieldDescriptorProto'TYPE_GROUP
+        succ FieldDescriptorProto'TYPE_GROUP
+          = FieldDescriptorProto'TYPE_MESSAGE
+        succ FieldDescriptorProto'TYPE_MESSAGE
+          = FieldDescriptorProto'TYPE_BYTES
+        succ FieldDescriptorProto'TYPE_BYTES
+          = FieldDescriptorProto'TYPE_UINT32
+        succ FieldDescriptorProto'TYPE_UINT32
+          = FieldDescriptorProto'TYPE_ENUM
+        succ FieldDescriptorProto'TYPE_ENUM
+          = FieldDescriptorProto'TYPE_SFIXED32
+        succ FieldDescriptorProto'TYPE_SFIXED32
+          = FieldDescriptorProto'TYPE_SFIXED64
+        succ FieldDescriptorProto'TYPE_SFIXED64
+          = FieldDescriptorProto'TYPE_SINT32
+        succ FieldDescriptorProto'TYPE_SINT32
+          = FieldDescriptorProto'TYPE_SINT64
+        pred FieldDescriptorProto'TYPE_DOUBLE
+          = Prelude.error
+              "FieldDescriptorProto'Type.pred: bad argument FieldDescriptorProto'TYPE_DOUBLE. This value would be out of bounds."
+        pred FieldDescriptorProto'TYPE_FLOAT
+          = FieldDescriptorProto'TYPE_DOUBLE
+        pred FieldDescriptorProto'TYPE_INT64
+          = FieldDescriptorProto'TYPE_FLOAT
+        pred FieldDescriptorProto'TYPE_UINT64
+          = FieldDescriptorProto'TYPE_INT64
+        pred FieldDescriptorProto'TYPE_INT32
+          = FieldDescriptorProto'TYPE_UINT64
+        pred FieldDescriptorProto'TYPE_FIXED64
+          = FieldDescriptorProto'TYPE_INT32
+        pred FieldDescriptorProto'TYPE_FIXED32
+          = FieldDescriptorProto'TYPE_FIXED64
+        pred FieldDescriptorProto'TYPE_BOOL
+          = FieldDescriptorProto'TYPE_FIXED32
+        pred FieldDescriptorProto'TYPE_STRING
+          = FieldDescriptorProto'TYPE_BOOL
+        pred FieldDescriptorProto'TYPE_GROUP
+          = FieldDescriptorProto'TYPE_STRING
+        pred FieldDescriptorProto'TYPE_MESSAGE
+          = FieldDescriptorProto'TYPE_GROUP
+        pred FieldDescriptorProto'TYPE_BYTES
+          = FieldDescriptorProto'TYPE_MESSAGE
+        pred FieldDescriptorProto'TYPE_UINT32
+          = FieldDescriptorProto'TYPE_BYTES
+        pred FieldDescriptorProto'TYPE_ENUM
+          = FieldDescriptorProto'TYPE_UINT32
+        pred FieldDescriptorProto'TYPE_SFIXED32
+          = FieldDescriptorProto'TYPE_ENUM
+        pred FieldDescriptorProto'TYPE_SFIXED64
+          = FieldDescriptorProto'TYPE_SFIXED32
+        pred FieldDescriptorProto'TYPE_SINT32
+          = FieldDescriptorProto'TYPE_SFIXED64
+        pred FieldDescriptorProto'TYPE_SINT64
+          = FieldDescriptorProto'TYPE_SINT32
+        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 Prelude.Bounded FieldDescriptorProto'Type where
+        minBound = FieldDescriptorProto'TYPE_DOUBLE
+        maxBound = FieldDescriptorProto'TYPE_SINT64
+instance Control.DeepSeq.NFData FieldDescriptorProto'Type where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ctype' @:: Lens' FieldOptions FieldOptions'CType@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ctype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'CType)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.packed' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'packed' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.jstype' @:: Lens' FieldOptions FieldOptions'JSType@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'jstype' @:: Lens' FieldOptions (Prelude.Maybe FieldOptions'JSType)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.lazy' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'lazy' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.weak' @:: Lens' FieldOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'weak' @:: Lens' FieldOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FieldOptions [UninterpretedOption]@
+ -}
+data FieldOptions = FieldOptions{_FieldOptions'ctype ::
+                                 !(Prelude.Maybe FieldOptions'CType),
+                                 _FieldOptions'packed :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'jstype :: !(Prelude.Maybe FieldOptions'JSType),
+                                 _FieldOptions'lazy :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'weak :: !(Prelude.Maybe Prelude.Bool),
+                                 _FieldOptions'uninterpretedOption :: ![UninterpretedOption],
+                                 _FieldOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FieldOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' FieldOptions "ctype"
+           (FieldOptions'CType)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
+                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
+              (Data.ProtoLens.maybeLens FieldOptions'STRING)
+instance Lens.Labels.HasLens' FieldOptions "maybe'ctype"
+           (Prelude.Maybe FieldOptions'CType)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'ctype
+                 (\ x__ y__ -> x__{_FieldOptions'ctype = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "packed" (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'packed
+                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FieldOptions "maybe'packed"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'packed
+                 (\ x__ y__ -> x__{_FieldOptions'packed = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "jstype"
+           (FieldOptions'JSType)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
+                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
+              (Data.ProtoLens.maybeLens FieldOptions'JS_NORMAL)
+instance Lens.Labels.HasLens' FieldOptions "maybe'jstype"
+           (Prelude.Maybe FieldOptions'JSType)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'jstype
+                 (\ x__ y__ -> x__{_FieldOptions'jstype = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "lazy" (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
+                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FieldOptions "maybe'lazy"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'lazy
+                 (\ x__ y__ -> x__{_FieldOptions'lazy = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
+                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FieldOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'deprecated
+                 (\ x__ y__ -> x__{_FieldOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "weak" (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'weak
+                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FieldOptions "maybe'weak"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'weak
+                 (\ x__ y__ -> x__{_FieldOptions'weak = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FieldOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FieldOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_FieldOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message FieldOptions where
+        messageName _ = Data.Text.pack "google.protobuf.FieldOptions"
+        fieldsByTag
+          = let ctype__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "ctype"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'CType)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                packed__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "packed"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                jstype__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "jstype"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldOptions'JSType)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                lazy__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "lazy"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                weak__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "weak"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor FieldOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, ctype__field_descriptor),
+                 (Data.ProtoLens.Tag 2, packed__field_descriptor),
+                 (Data.ProtoLens.Tag 6, jstype__field_descriptor),
+                 (Data.ProtoLens.Tag 5, lazy__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 10, weak__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FieldOptions'_unknownFields
+              (\ x__ y__ -> x__{_FieldOptions'_unknownFields = y__})
+        defMessage
+          = FieldOptions{_FieldOptions'ctype = Prelude.Nothing,
+                         _FieldOptions'packed = Prelude.Nothing,
+                         _FieldOptions'jstype = Prelude.Nothing,
+                         _FieldOptions'lazy = Prelude.Nothing,
+                         _FieldOptions'deprecated = Prelude.Nothing,
+                         _FieldOptions'weak = Prelude.Nothing,
+                         _FieldOptions'uninterpretedOption = [],
+                         _FieldOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData FieldOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_FieldOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_FieldOptions'ctype x__)
+                   (Control.DeepSeq.deepseq (_FieldOptions'packed x__)
+                      (Control.DeepSeq.deepseq (_FieldOptions'jstype x__)
+                         (Control.DeepSeq.deepseq (_FieldOptions'lazy x__)
+                            (Control.DeepSeq.deepseq (_FieldOptions'deprecated x__)
+                               (Control.DeepSeq.deepseq (_FieldOptions'weak x__)
+                                  (Control.DeepSeq.deepseq (_FieldOptions'uninterpretedOption x__)
+                                     (()))))))))
+data FieldOptions'CType = FieldOptions'STRING
+                        | FieldOptions'CORD
+                        | FieldOptions'STRING_PIECE
+                            deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault FieldOptions'CType where
+        fieldDefault = FieldOptions'STRING
+instance Data.ProtoLens.MessageEnum FieldOptions'CType where
+        maybeToEnum 0 = Prelude.Just FieldOptions'STRING
+        maybeToEnum 1 = Prelude.Just FieldOptions'CORD
+        maybeToEnum 2 = Prelude.Just FieldOptions'STRING_PIECE
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldOptions'STRING = "STRING"
+        showEnum FieldOptions'CORD = "CORD"
+        showEnum FieldOptions'STRING_PIECE = "STRING_PIECE"
+        readEnum "STRING" = Prelude.Just FieldOptions'STRING
+        readEnum "CORD" = Prelude.Just FieldOptions'CORD
+        readEnum "STRING_PIECE" = Prelude.Just FieldOptions'STRING_PIECE
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum FieldOptions'CType where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum CType: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldOptions'STRING = 0
+        fromEnum FieldOptions'CORD = 1
+        fromEnum FieldOptions'STRING_PIECE = 2
+        succ FieldOptions'STRING_PIECE
+          = Prelude.error
+              "FieldOptions'CType.succ: bad argument FieldOptions'STRING_PIECE. This value would be out of bounds."
+        succ FieldOptions'STRING = FieldOptions'CORD
+        succ FieldOptions'CORD = FieldOptions'STRING_PIECE
+        pred FieldOptions'STRING
+          = Prelude.error
+              "FieldOptions'CType.pred: bad argument FieldOptions'STRING. This value would be out of bounds."
+        pred FieldOptions'CORD = FieldOptions'STRING
+        pred FieldOptions'STRING_PIECE = FieldOptions'CORD
+        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 Prelude.Bounded FieldOptions'CType where
+        minBound = FieldOptions'STRING
+        maxBound = FieldOptions'STRING_PIECE
+instance Control.DeepSeq.NFData FieldOptions'CType where
+        rnf x__ = Prelude.seq x__ (())
+data FieldOptions'JSType = FieldOptions'JS_NORMAL
+                         | FieldOptions'JS_STRING
+                         | FieldOptions'JS_NUMBER
+                             deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault FieldOptions'JSType where
+        fieldDefault = FieldOptions'JS_NORMAL
+instance Data.ProtoLens.MessageEnum FieldOptions'JSType where
+        maybeToEnum 0 = Prelude.Just FieldOptions'JS_NORMAL
+        maybeToEnum 1 = Prelude.Just FieldOptions'JS_STRING
+        maybeToEnum 2 = Prelude.Just FieldOptions'JS_NUMBER
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FieldOptions'JS_NORMAL = "JS_NORMAL"
+        showEnum FieldOptions'JS_STRING = "JS_STRING"
+        showEnum FieldOptions'JS_NUMBER = "JS_NUMBER"
+        readEnum "JS_NORMAL" = Prelude.Just FieldOptions'JS_NORMAL
+        readEnum "JS_STRING" = Prelude.Just FieldOptions'JS_STRING
+        readEnum "JS_NUMBER" = Prelude.Just FieldOptions'JS_NUMBER
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum FieldOptions'JSType where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum JSType: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FieldOptions'JS_NORMAL = 0
+        fromEnum FieldOptions'JS_STRING = 1
+        fromEnum FieldOptions'JS_NUMBER = 2
+        succ FieldOptions'JS_NUMBER
+          = Prelude.error
+              "FieldOptions'JSType.succ: bad argument FieldOptions'JS_NUMBER. This value would be out of bounds."
+        succ FieldOptions'JS_NORMAL = FieldOptions'JS_STRING
+        succ FieldOptions'JS_STRING = FieldOptions'JS_NUMBER
+        pred FieldOptions'JS_NORMAL
+          = Prelude.error
+              "FieldOptions'JSType.pred: bad argument FieldOptions'JS_NORMAL. This value would be out of bounds."
+        pred FieldOptions'JS_STRING = FieldOptions'JS_NORMAL
+        pred FieldOptions'JS_NUMBER = FieldOptions'JS_STRING
+        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 Prelude.Bounded FieldOptions'JSType where
+        minBound = FieldOptions'JS_NORMAL
+        maxBound = FieldOptions'JS_NUMBER
+instance Control.DeepSeq.NFData FieldOptions'JSType where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.package' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'package' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.dependency' @:: Lens' FileDescriptorProto [Data.Text.Text]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.publicDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.weakDependency' @:: Lens' FileDescriptorProto [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.messageType' @:: Lens' FileDescriptorProto [DescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.enumType' @:: Lens' FileDescriptorProto [EnumDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.service' @:: Lens' FileDescriptorProto [ServiceDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.extension' @:: Lens' FileDescriptorProto [FieldDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' FileDescriptorProto FileOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' FileDescriptorProto (Prelude.Maybe FileOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceCodeInfo' @:: Lens' FileDescriptorProto SourceCodeInfo@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceCodeInfo' @:: Lens' FileDescriptorProto (Prelude.Maybe SourceCodeInfo)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.syntax' @:: Lens' FileDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'syntax' @:: Lens' FileDescriptorProto (Prelude.Maybe Data.Text.Text)@
+ -}
+data FileDescriptorProto = FileDescriptorProto{_FileDescriptorProto'name
+                                               :: !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'package ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'dependency :: ![Data.Text.Text],
+                                               _FileDescriptorProto'publicDependency ::
+                                               ![Data.Int.Int32],
+                                               _FileDescriptorProto'weakDependency ::
+                                               ![Data.Int.Int32],
+                                               _FileDescriptorProto'messageType ::
+                                               ![DescriptorProto],
+                                               _FileDescriptorProto'enumType ::
+                                               ![EnumDescriptorProto],
+                                               _FileDescriptorProto'service ::
+                                               ![ServiceDescriptorProto],
+                                               _FileDescriptorProto'extension ::
+                                               ![FieldDescriptorProto],
+                                               _FileDescriptorProto'options ::
+                                               !(Prelude.Maybe FileOptions),
+                                               _FileDescriptorProto'sourceCodeInfo ::
+                                               !(Prelude.Maybe SourceCodeInfo),
+                                               _FileDescriptorProto'syntax ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _FileDescriptorProto'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' FileDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
+                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'name
+                 (\ x__ y__ -> x__{_FileDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "package"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
+                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileDescriptorProto "maybe'package"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'package
+                 (\ x__ y__ -> x__{_FileDescriptorProto'package = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "dependency"
+           ([Data.Text.Text])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'dependency
+                 (\ x__ y__ -> x__{_FileDescriptorProto'dependency = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto
+           "publicDependency"
+           ([Data.Int.Int32])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'publicDependency
+                 (\ x__ y__ -> x__{_FileDescriptorProto'publicDependency = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "weakDependency"
+           ([Data.Int.Int32])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'weakDependency
+                 (\ x__ y__ -> x__{_FileDescriptorProto'weakDependency = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "messageType"
+           ([DescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'messageType
+                 (\ x__ y__ -> x__{_FileDescriptorProto'messageType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "enumType"
+           ([EnumDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'enumType
+                 (\ x__ y__ -> x__{_FileDescriptorProto'enumType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "service"
+           ([ServiceDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'service
+                 (\ x__ y__ -> x__{_FileDescriptorProto'service = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "extension"
+           ([FieldDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'extension
+                 (\ x__ y__ -> x__{_FileDescriptorProto'extension = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "options"
+           (FileOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
+                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' FileDescriptorProto "maybe'options"
+           (Prelude.Maybe FileOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'options
+                 (\ x__ y__ -> x__{_FileDescriptorProto'options = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "sourceCodeInfo"
+           (SourceCodeInfo)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
+                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' FileDescriptorProto
+           "maybe'sourceCodeInfo"
+           (Prelude.Maybe SourceCodeInfo)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'sourceCodeInfo
+                 (\ x__ y__ -> x__{_FileDescriptorProto'sourceCodeInfo = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileDescriptorProto "syntax"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
+                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileDescriptorProto "maybe'syntax"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorProto'syntax
+                 (\ x__ y__ -> x__{_FileDescriptorProto'syntax = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message FileDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.FileDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                package__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                dependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                publicDependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "public_dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                weakDependency__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "weak_dependency"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                messageType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "message_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor DescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                enumType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "enum_type"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor EnumDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                service__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "service"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ServiceDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                extension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "extension"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FieldDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FileOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                sourceCodeInfo__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "source_code_info"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+                syntax__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "syntax"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, package__field_descriptor),
+                 (Data.ProtoLens.Tag 3, dependency__field_descriptor),
+                 (Data.ProtoLens.Tag 10, publicDependency__field_descriptor),
+                 (Data.ProtoLens.Tag 11, weakDependency__field_descriptor),
+                 (Data.ProtoLens.Tag 4, messageType__field_descriptor),
+                 (Data.ProtoLens.Tag 5, enumType__field_descriptor),
+                 (Data.ProtoLens.Tag 6, service__field_descriptor),
+                 (Data.ProtoLens.Tag 7, extension__field_descriptor),
+                 (Data.ProtoLens.Tag 8, options__field_descriptor),
+                 (Data.ProtoLens.Tag 9, sourceCodeInfo__field_descriptor),
+                 (Data.ProtoLens.Tag 12, syntax__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_FileDescriptorProto'_unknownFields = y__})
+        defMessage
+          = FileDescriptorProto{_FileDescriptorProto'name = Prelude.Nothing,
+                                _FileDescriptorProto'package = Prelude.Nothing,
+                                _FileDescriptorProto'dependency = [],
+                                _FileDescriptorProto'publicDependency = [],
+                                _FileDescriptorProto'weakDependency = [],
+                                _FileDescriptorProto'messageType = [],
+                                _FileDescriptorProto'enumType = [],
+                                _FileDescriptorProto'service = [],
+                                _FileDescriptorProto'extension = [],
+                                _FileDescriptorProto'options = Prelude.Nothing,
+                                _FileDescriptorProto'sourceCodeInfo = Prelude.Nothing,
+                                _FileDescriptorProto'syntax = Prelude.Nothing,
+                                _FileDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData FileDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_FileDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_FileDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_FileDescriptorProto'package x__)
+                      (Control.DeepSeq.deepseq (_FileDescriptorProto'dependency x__)
+                         (Control.DeepSeq.deepseq
+                            (_FileDescriptorProto'publicDependency x__)
+                            (Control.DeepSeq.deepseq (_FileDescriptorProto'weakDependency x__)
+                               (Control.DeepSeq.deepseq (_FileDescriptorProto'messageType x__)
+                                  (Control.DeepSeq.deepseq (_FileDescriptorProto'enumType x__)
+                                     (Control.DeepSeq.deepseq (_FileDescriptorProto'service x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_FileDescriptorProto'extension x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_FileDescriptorProto'options x__)
+                                              (Control.DeepSeq.deepseq
+                                                 (_FileDescriptorProto'sourceCodeInfo x__)
+                                                 (Control.DeepSeq.deepseq
+                                                    (_FileDescriptorProto'syntax x__)
+                                                    (())))))))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.file' @:: Lens' FileDescriptorSet [FileDescriptorProto]@
+ -}
+data FileDescriptorSet = FileDescriptorSet{_FileDescriptorSet'file
+                                           :: ![FileDescriptorProto],
+                                           _FileDescriptorSet'_unknownFields ::
+                                           !Data.ProtoLens.FieldSet}
+                           deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileDescriptorSet where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' FileDescriptorSet "file"
+           ([FileDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileDescriptorSet'file
+                 (\ x__ y__ -> x__{_FileDescriptorSet'file = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message FileDescriptorSet where
+        messageName _ = Data.Text.pack "google.protobuf.FileDescriptorSet"
+        fieldsByTag
+          = let file__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "file"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor FileDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")))
+                      :: Data.ProtoLens.FieldDescriptor FileDescriptorSet
+              in
+              Data.Map.fromList [(Data.ProtoLens.Tag 1, file__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileDescriptorSet'_unknownFields
+              (\ x__ y__ -> x__{_FileDescriptorSet'_unknownFields = y__})
+        defMessage
+          = FileDescriptorSet{_FileDescriptorSet'file = [],
+                              _FileDescriptorSet'_unknownFields = ([])}
+instance Control.DeepSeq.NFData FileDescriptorSet where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_FileDescriptorSet'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_FileDescriptorSet'file x__) (()))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaOuterClassname' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaOuterClassname' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaMultipleFiles' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaMultipleFiles' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenerateEqualsAndHash' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenerateEqualsAndHash' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaStringCheckUtf8' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaStringCheckUtf8' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.optimizeFor' @:: Lens' FileOptions FileOptions'OptimizeMode@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'optimizeFor' @:: Lens' FileOptions (Prelude.Maybe FileOptions'OptimizeMode)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.goPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'goPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.javaGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'javaGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.pyGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'pyGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpGenericServices' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpGenericServices' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.ccEnableArenas' @:: Lens' FileOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'ccEnableArenas' @:: Lens' FileOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.objcClassPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'objcClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.csharpNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'csharpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.swiftPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'swiftPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpClassPrefix' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpClassPrefix' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.phpMetadataNamespace' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'phpMetadataNamespace' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.rubyPackage' @:: Lens' FileOptions Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'rubyPackage' @:: Lens' FileOptions (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' FileOptions [UninterpretedOption]@
+ -}
+data FileOptions = FileOptions{_FileOptions'javaPackage ::
+                               !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'javaOuterClassname :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'javaMultipleFiles :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaGenerateEqualsAndHash ::
+                               !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaStringCheckUtf8 :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'optimizeFor ::
+                               !(Prelude.Maybe FileOptions'OptimizeMode),
+                               _FileOptions'goPackage :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'ccGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'javaGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'pyGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'phpGenericServices :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'ccEnableArenas :: !(Prelude.Maybe Prelude.Bool),
+                               _FileOptions'objcClassPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'csharpNamespace :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'swiftPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpClassPrefix :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpNamespace :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'phpMetadataNamespace ::
+                               !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'rubyPackage :: !(Prelude.Maybe Data.Text.Text),
+                               _FileOptions'uninterpretedOption :: ![UninterpretedOption],
+                               _FileOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                     deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FileOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' FileOptions "javaPackage"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
+                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'javaPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaPackage
+                 (\ x__ y__ -> x__{_FileOptions'javaPackage = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "javaOuterClassname"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
+                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'javaOuterClassname"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaOuterClassname
+                 (\ x__ y__ -> x__{_FileOptions'javaOuterClassname = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "javaMultipleFiles"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
+                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions "maybe'javaMultipleFiles"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaMultipleFiles
+                 (\ x__ y__ -> x__{_FileOptions'javaMultipleFiles = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions
+           "javaGenerateEqualsAndHash"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
+                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'javaGenerateEqualsAndHash"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenerateEqualsAndHash
+                 (\ x__ y__ -> x__{_FileOptions'javaGenerateEqualsAndHash = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "javaStringCheckUtf8"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
+                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'javaStringCheckUtf8"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaStringCheckUtf8
+                 (\ x__ y__ -> x__{_FileOptions'javaStringCheckUtf8 = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "optimizeFor"
+           (FileOptions'OptimizeMode)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
+                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
+              (Data.ProtoLens.maybeLens FileOptions'SPEED)
+instance Lens.Labels.HasLens' FileOptions "maybe'optimizeFor"
+           (Prelude.Maybe FileOptions'OptimizeMode)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'optimizeFor
+                 (\ x__ y__ -> x__{_FileOptions'optimizeFor = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "goPackage"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
+                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'goPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'goPackage
+                 (\ x__ y__ -> x__{_FileOptions'goPackage = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "ccGenericServices"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions "maybe'ccGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'ccGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'ccGenericServices = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "javaGenericServices"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'javaGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'javaGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'javaGenericServices = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "pyGenericServices"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions "maybe'pyGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'pyGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'pyGenericServices = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "phpGenericServices"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'phpGenericServices"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpGenericServices
+                 (\ x__ y__ -> x__{_FileOptions'phpGenericServices = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
+                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'deprecated
+                 (\ x__ y__ -> x__{_FileOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "ccEnableArenas"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
+                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' FileOptions "maybe'ccEnableArenas"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'ccEnableArenas
+                 (\ x__ y__ -> x__{_FileOptions'ccEnableArenas = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "objcClassPrefix"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
+                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'objcClassPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'objcClassPrefix
+                 (\ x__ y__ -> x__{_FileOptions'objcClassPrefix = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "csharpNamespace"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
+                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'csharpNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'csharpNamespace
+                 (\ x__ y__ -> x__{_FileOptions'csharpNamespace = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "swiftPrefix"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
+                 (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'swiftPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'swiftPrefix
+                 (\ x__ y__ -> x__{_FileOptions'swiftPrefix = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "phpClassPrefix"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
+                 (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'phpClassPrefix"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpClassPrefix
+                 (\ x__ y__ -> x__{_FileOptions'phpClassPrefix = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "phpNamespace"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
+                 (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'phpNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpNamespace
+                 (\ x__ y__ -> x__{_FileOptions'phpNamespace = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "phpMetadataNamespace"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
+                 (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions
+           "maybe'phpMetadataNamespace"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'phpMetadataNamespace
+                 (\ x__ y__ -> x__{_FileOptions'phpMetadataNamespace = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "rubyPackage"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
+                 (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' FileOptions "maybe'rubyPackage"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'rubyPackage
+                 (\ x__ y__ -> x__{_FileOptions'rubyPackage = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' FileOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _FileOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_FileOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message FileOptions where
+        messageName _ = Data.Text.pack "google.protobuf.FileOptions"
+        fieldsByTag
+          = let javaPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaPackage")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaOuterClassname__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_outer_classname"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaOuterClassname")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaMultipleFiles__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_multiple_files"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaGenerateEqualsAndHash__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_generate_equals_and_hash"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaStringCheckUtf8__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_string_check_utf8"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                optimizeFor__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "optimize_for"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor FileOptions'OptimizeMode)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'optimizeFor")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                goPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "go_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                ccGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "cc_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'ccGenericServices")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                javaGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "java_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'javaGenericServices")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                pyGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "py_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'pyGenericServices")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpGenericServices__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_generic_services"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'phpGenericServices")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                ccEnableArenas__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "cc_enable_arenas"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'ccEnableArenas")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                objcClassPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "objc_class_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'objcClassPrefix")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                csharpNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "csharp_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'csharpNamespace")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                swiftPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "swift_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'swiftPrefix")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpClassPrefix__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_class_prefix"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'phpClassPrefix")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'phpNamespace")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                phpMetadataNamespace__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "php_metadata_namespace"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'phpMetadataNamespace")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                rubyPackage__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "ruby_package"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'rubyPackage")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor FileOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, javaPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 8, javaOuterClassname__field_descriptor),
+                 (Data.ProtoLens.Tag 10, javaMultipleFiles__field_descriptor),
+                 (Data.ProtoLens.Tag 20,
+                  javaGenerateEqualsAndHash__field_descriptor),
+                 (Data.ProtoLens.Tag 27, javaStringCheckUtf8__field_descriptor),
+                 (Data.ProtoLens.Tag 9, optimizeFor__field_descriptor),
+                 (Data.ProtoLens.Tag 11, goPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 16, ccGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 17, javaGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 18, pyGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 42, phpGenericServices__field_descriptor),
+                 (Data.ProtoLens.Tag 23, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 31, ccEnableArenas__field_descriptor),
+                 (Data.ProtoLens.Tag 36, objcClassPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 37, csharpNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 39, swiftPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 40, phpClassPrefix__field_descriptor),
+                 (Data.ProtoLens.Tag 41, phpNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 44, phpMetadataNamespace__field_descriptor),
+                 (Data.ProtoLens.Tag 45, rubyPackage__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _FileOptions'_unknownFields
+              (\ x__ y__ -> x__{_FileOptions'_unknownFields = y__})
+        defMessage
+          = FileOptions{_FileOptions'javaPackage = Prelude.Nothing,
+                        _FileOptions'javaOuterClassname = Prelude.Nothing,
+                        _FileOptions'javaMultipleFiles = Prelude.Nothing,
+                        _FileOptions'javaGenerateEqualsAndHash = Prelude.Nothing,
+                        _FileOptions'javaStringCheckUtf8 = Prelude.Nothing,
+                        _FileOptions'optimizeFor = Prelude.Nothing,
+                        _FileOptions'goPackage = Prelude.Nothing,
+                        _FileOptions'ccGenericServices = Prelude.Nothing,
+                        _FileOptions'javaGenericServices = Prelude.Nothing,
+                        _FileOptions'pyGenericServices = Prelude.Nothing,
+                        _FileOptions'phpGenericServices = Prelude.Nothing,
+                        _FileOptions'deprecated = Prelude.Nothing,
+                        _FileOptions'ccEnableArenas = Prelude.Nothing,
+                        _FileOptions'objcClassPrefix = Prelude.Nothing,
+                        _FileOptions'csharpNamespace = Prelude.Nothing,
+                        _FileOptions'swiftPrefix = Prelude.Nothing,
+                        _FileOptions'phpClassPrefix = Prelude.Nothing,
+                        _FileOptions'phpNamespace = Prelude.Nothing,
+                        _FileOptions'phpMetadataNamespace = Prelude.Nothing,
+                        _FileOptions'rubyPackage = Prelude.Nothing,
+                        _FileOptions'uninterpretedOption = [],
+                        _FileOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData FileOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_FileOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_FileOptions'javaPackage x__)
+                   (Control.DeepSeq.deepseq (_FileOptions'javaOuterClassname x__)
+                      (Control.DeepSeq.deepseq (_FileOptions'javaMultipleFiles x__)
+                         (Control.DeepSeq.deepseq
+                            (_FileOptions'javaGenerateEqualsAndHash x__)
+                            (Control.DeepSeq.deepseq (_FileOptions'javaStringCheckUtf8 x__)
+                               (Control.DeepSeq.deepseq (_FileOptions'optimizeFor x__)
+                                  (Control.DeepSeq.deepseq (_FileOptions'goPackage x__)
+                                     (Control.DeepSeq.deepseq (_FileOptions'ccGenericServices x__)
+                                        (Control.DeepSeq.deepseq
+                                           (_FileOptions'javaGenericServices x__)
+                                           (Control.DeepSeq.deepseq
+                                              (_FileOptions'pyGenericServices x__)
+                                              (Control.DeepSeq.deepseq
+                                                 (_FileOptions'phpGenericServices x__)
+                                                 (Control.DeepSeq.deepseq
+                                                    (_FileOptions'deprecated x__)
+                                                    (Control.DeepSeq.deepseq
+                                                       (_FileOptions'ccEnableArenas x__)
+                                                       (Control.DeepSeq.deepseq
+                                                          (_FileOptions'objcClassPrefix x__)
+                                                          (Control.DeepSeq.deepseq
+                                                             (_FileOptions'csharpNamespace x__)
+                                                             (Control.DeepSeq.deepseq
+                                                                (_FileOptions'swiftPrefix x__)
+                                                                (Control.DeepSeq.deepseq
+                                                                   (_FileOptions'phpClassPrefix x__)
+                                                                   (Control.DeepSeq.deepseq
+                                                                      (_FileOptions'phpNamespace
+                                                                         x__)
+                                                                      (Control.DeepSeq.deepseq
+                                                                         (_FileOptions'phpMetadataNamespace
+                                                                            x__)
+                                                                         (Control.DeepSeq.deepseq
+                                                                            (_FileOptions'rubyPackage
+                                                                               x__)
+                                                                            (Control.DeepSeq.deepseq
+                                                                               (_FileOptions'uninterpretedOption
+                                                                                  x__)
+                                                                               (()))))))))))))))))))))))
+data FileOptions'OptimizeMode = FileOptions'SPEED
+                              | FileOptions'CODE_SIZE
+                              | FileOptions'LITE_RUNTIME
+                                  deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault FileOptions'OptimizeMode where
+        fieldDefault = FileOptions'SPEED
+instance Data.ProtoLens.MessageEnum FileOptions'OptimizeMode where
+        maybeToEnum 1 = Prelude.Just FileOptions'SPEED
+        maybeToEnum 2 = Prelude.Just FileOptions'CODE_SIZE
+        maybeToEnum 3 = Prelude.Just FileOptions'LITE_RUNTIME
+        maybeToEnum _ = Prelude.Nothing
+        showEnum FileOptions'SPEED = "SPEED"
+        showEnum FileOptions'CODE_SIZE = "CODE_SIZE"
+        showEnum FileOptions'LITE_RUNTIME = "LITE_RUNTIME"
+        readEnum "SPEED" = Prelude.Just FileOptions'SPEED
+        readEnum "CODE_SIZE" = Prelude.Just FileOptions'CODE_SIZE
+        readEnum "LITE_RUNTIME" = Prelude.Just FileOptions'LITE_RUNTIME
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum FileOptions'OptimizeMode where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum OptimizeMode: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum FileOptions'SPEED = 1
+        fromEnum FileOptions'CODE_SIZE = 2
+        fromEnum FileOptions'LITE_RUNTIME = 3
+        succ FileOptions'LITE_RUNTIME
+          = Prelude.error
+              "FileOptions'OptimizeMode.succ: bad argument FileOptions'LITE_RUNTIME. This value would be out of bounds."
+        succ FileOptions'SPEED = FileOptions'CODE_SIZE
+        succ FileOptions'CODE_SIZE = FileOptions'LITE_RUNTIME
+        pred FileOptions'SPEED
+          = Prelude.error
+              "FileOptions'OptimizeMode.pred: bad argument FileOptions'SPEED. This value would be out of bounds."
+        pred FileOptions'CODE_SIZE = FileOptions'SPEED
+        pred FileOptions'LITE_RUNTIME = FileOptions'CODE_SIZE
+        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 Prelude.Bounded FileOptions'OptimizeMode where
+        minBound = FileOptions'SPEED
+        maxBound = FileOptions'LITE_RUNTIME
+instance Control.DeepSeq.NFData FileOptions'OptimizeMode where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.annotation' @:: Lens' GeneratedCodeInfo [GeneratedCodeInfo'Annotation]@
+ -}
+data GeneratedCodeInfo = GeneratedCodeInfo{_GeneratedCodeInfo'annotation
+                                           :: ![GeneratedCodeInfo'Annotation],
+                                           _GeneratedCodeInfo'_unknownFields ::
+                                           !Data.ProtoLens.FieldSet}
+                           deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show GeneratedCodeInfo where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' GeneratedCodeInfo "annotation"
+           ([GeneratedCodeInfo'Annotation])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'annotation
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'annotation = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message GeneratedCodeInfo where
+        messageName _ = Data.Text.pack "google.protobuf.GeneratedCodeInfo"
+        fieldsByTag
+          = let annotation__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "annotation"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor GeneratedCodeInfo'Annotation)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, annotation__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _GeneratedCodeInfo'_unknownFields
+              (\ x__ y__ -> x__{_GeneratedCodeInfo'_unknownFields = y__})
+        defMessage
+          = GeneratedCodeInfo{_GeneratedCodeInfo'annotation = [],
+                              _GeneratedCodeInfo'_unknownFields = ([])}
+instance Control.DeepSeq.NFData GeneratedCodeInfo where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_GeneratedCodeInfo'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_GeneratedCodeInfo'annotation x__) (()))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' GeneratedCodeInfo'Annotation [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.sourceFile' @:: Lens' GeneratedCodeInfo'Annotation Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'sourceFile' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.begin' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'begin' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.end' @:: Lens' GeneratedCodeInfo'Annotation Data.Int.Int32@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'end' @:: Lens' GeneratedCodeInfo'Annotation (Prelude.Maybe Data.Int.Int32)@
+ -}
+data GeneratedCodeInfo'Annotation = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path
+                                                                 :: ![Data.Int.Int32],
+                                                                 _GeneratedCodeInfo'Annotation'sourceFile
+                                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                                 _GeneratedCodeInfo'Annotation'begin
+                                                                 :: !(Prelude.Maybe Data.Int.Int32),
+                                                                 _GeneratedCodeInfo'Annotation'end
+                                                                 :: !(Prelude.Maybe Data.Int.Int32),
+                                                                 _GeneratedCodeInfo'Annotation'_unknownFields
+                                                                 :: !Data.ProtoLens.FieldSet}
+                                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show GeneratedCodeInfo'Annotation where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "path"
+           ([Data.Int.Int32])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'path
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'path = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
+           "sourceFile"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _GeneratedCodeInfo'Annotation'sourceFile
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
+           "maybe'sourceFile"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _GeneratedCodeInfo'Annotation'sourceFile
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'sourceFile = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "begin"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
+           "maybe'begin"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'begin
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'begin = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation "end"
+           (Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' GeneratedCodeInfo'Annotation
+           "maybe'end"
+           (Prelude.Maybe Data.Int.Int32)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _GeneratedCodeInfo'Annotation'end
+                 (\ x__ y__ -> x__{_GeneratedCodeInfo'Annotation'end = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message GeneratedCodeInfo'Annotation where
+        messageName _
+          = Data.Text.pack "google.protobuf.GeneratedCodeInfo.Annotation"
+        fieldsByTag
+          = let path__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "path"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                sourceFile__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "source_file"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                begin__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "begin"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+                end__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "end"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")))
+                      :: Data.ProtoLens.FieldDescriptor GeneratedCodeInfo'Annotation
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, path__field_descriptor),
+                 (Data.ProtoLens.Tag 2, sourceFile__field_descriptor),
+                 (Data.ProtoLens.Tag 3, begin__field_descriptor),
+                 (Data.ProtoLens.Tag 4, end__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _GeneratedCodeInfo'Annotation'_unknownFields
+              (\ x__ y__ ->
+                 x__{_GeneratedCodeInfo'Annotation'_unknownFields = y__})
+        defMessage
+          = GeneratedCodeInfo'Annotation{_GeneratedCodeInfo'Annotation'path =
+                                           [],
+                                         _GeneratedCodeInfo'Annotation'sourceFile = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'begin = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'end = Prelude.Nothing,
+                                         _GeneratedCodeInfo'Annotation'_unknownFields = ([])}
+instance Control.DeepSeq.NFData GeneratedCodeInfo'Annotation where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_GeneratedCodeInfo'Annotation'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'path x__)
+                   (Control.DeepSeq.deepseq
+                      (_GeneratedCodeInfo'Annotation'sourceFile x__)
+                      (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'begin x__)
+                         (Control.DeepSeq.deepseq (_GeneratedCodeInfo'Annotation'end x__)
+                            (())))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.messageSetWireFormat' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'messageSetWireFormat' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.noStandardDescriptorAccessor' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'noStandardDescriptorAccessor' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.mapEntry' @:: Lens' MessageOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'mapEntry' @:: Lens' MessageOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MessageOptions [UninterpretedOption]@
+ -}
+data MessageOptions = MessageOptions{_MessageOptions'messageSetWireFormat
+                                     :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'noStandardDescriptorAccessor ::
+                                     !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'deprecated :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'mapEntry :: !(Prelude.Maybe Prelude.Bool),
+                                     _MessageOptions'uninterpretedOption :: ![UninterpretedOption],
+                                     _MessageOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MessageOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' MessageOptions "messageSetWireFormat"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
+                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MessageOptions
+           "maybe'messageSetWireFormat"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'messageSetWireFormat
+                 (\ x__ y__ -> x__{_MessageOptions'messageSetWireFormat = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MessageOptions
+           "noStandardDescriptorAccessor"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _MessageOptions'noStandardDescriptorAccessor
+                 (\ x__ y__ ->
+                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MessageOptions
+           "maybe'noStandardDescriptorAccessor"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _MessageOptions'noStandardDescriptorAccessor
+                 (\ x__ y__ ->
+                    x__{_MessageOptions'noStandardDescriptorAccessor = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MessageOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
+                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MessageOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'deprecated
+                 (\ x__ y__ -> x__{_MessageOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MessageOptions "mapEntry"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
+                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' MessageOptions "maybe'mapEntry"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'mapEntry
+                 (\ x__ y__ -> x__{_MessageOptions'mapEntry = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MessageOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MessageOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_MessageOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message MessageOptions where
+        messageName _ = Data.Text.pack "google.protobuf.MessageOptions"
+        fieldsByTag
+          = let messageSetWireFormat__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "message_set_wire_format"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                noStandardDescriptorAccessor__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "no_standard_descriptor_accessor"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                mapEntry__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "map_entry"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor MessageOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, messageSetWireFormat__field_descriptor),
+                 (Data.ProtoLens.Tag 2,
+                  noStandardDescriptorAccessor__field_descriptor),
+                 (Data.ProtoLens.Tag 3, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 7, mapEntry__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MessageOptions'_unknownFields
+              (\ x__ y__ -> x__{_MessageOptions'_unknownFields = y__})
+        defMessage
+          = MessageOptions{_MessageOptions'messageSetWireFormat =
+                             Prelude.Nothing,
+                           _MessageOptions'noStandardDescriptorAccessor = Prelude.Nothing,
+                           _MessageOptions'deprecated = Prelude.Nothing,
+                           _MessageOptions'mapEntry = Prelude.Nothing,
+                           _MessageOptions'uninterpretedOption = [],
+                           _MessageOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData MessageOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_MessageOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_MessageOptions'messageSetWireFormat x__)
+                   (Control.DeepSeq.deepseq
+                      (_MessageOptions'noStandardDescriptorAccessor x__)
+                      (Control.DeepSeq.deepseq (_MessageOptions'deprecated x__)
+                         (Control.DeepSeq.deepseq (_MessageOptions'mapEntry x__)
+                            (Control.DeepSeq.deepseq (_MessageOptions'uninterpretedOption x__)
+                               (()))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.inputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'inputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.outputType' @:: Lens' MethodDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'outputType' @:: Lens' MethodDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' MethodDescriptorProto MethodOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' MethodDescriptorProto (Prelude.Maybe MethodOptions)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.clientStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'clientStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.serverStreaming' @:: Lens' MethodDescriptorProto Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'serverStreaming' @:: Lens' MethodDescriptorProto (Prelude.Maybe Prelude.Bool)@
+ -}
+data MethodDescriptorProto = MethodDescriptorProto{_MethodDescriptorProto'name
+                                                   :: !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'inputType ::
+                                                   !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'outputType ::
+                                                   !(Prelude.Maybe Data.Text.Text),
+                                                   _MethodDescriptorProto'options ::
+                                                   !(Prelude.Maybe MethodOptions),
+                                                   _MethodDescriptorProto'clientStreaming ::
+                                                   !(Prelude.Maybe Prelude.Bool),
+                                                   _MethodDescriptorProto'serverStreaming ::
+                                                   !(Prelude.Maybe Prelude.Bool),
+                                                   _MethodDescriptorProto'_unknownFields ::
+                                                   !Data.ProtoLens.FieldSet}
+                               deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MethodDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' MethodDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' MethodDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'name
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodDescriptorProto "inputType"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "maybe'inputType"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'inputType
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'inputType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodDescriptorProto "outputType"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "maybe'outputType"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'outputType
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'outputType = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodDescriptorProto "options"
+           (MethodOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' MethodDescriptorProto "maybe'options"
+           (Prelude.Maybe MethodOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'options
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'options = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "clientStreaming"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "maybe'clientStreaming"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'clientStreaming
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'clientStreaming = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "serverStreaming"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MethodDescriptorProto
+           "maybe'serverStreaming"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodDescriptorProto'serverStreaming
+                 (\ x__ y__ -> x__{_MethodDescriptorProto'serverStreaming = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message MethodDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.MethodDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                inputType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "input_type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                outputType__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "output_type"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                clientStreaming__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "client_streaming"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'clientStreaming")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+                serverStreaming__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "server_streaming"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'serverStreaming")))
+                      :: Data.ProtoLens.FieldDescriptor MethodDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, inputType__field_descriptor),
+                 (Data.ProtoLens.Tag 3, outputType__field_descriptor),
+                 (Data.ProtoLens.Tag 4, options__field_descriptor),
+                 (Data.ProtoLens.Tag 5, clientStreaming__field_descriptor),
+                 (Data.ProtoLens.Tag 6, serverStreaming__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MethodDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_MethodDescriptorProto'_unknownFields = y__})
+        defMessage
+          = MethodDescriptorProto{_MethodDescriptorProto'name =
+                                    Prelude.Nothing,
+                                  _MethodDescriptorProto'inputType = Prelude.Nothing,
+                                  _MethodDescriptorProto'outputType = Prelude.Nothing,
+                                  _MethodDescriptorProto'options = Prelude.Nothing,
+                                  _MethodDescriptorProto'clientStreaming = Prelude.Nothing,
+                                  _MethodDescriptorProto'serverStreaming = Prelude.Nothing,
+                                  _MethodDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData MethodDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_MethodDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_MethodDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_MethodDescriptorProto'inputType x__)
+                      (Control.DeepSeq.deepseq (_MethodDescriptorProto'outputType x__)
+                         (Control.DeepSeq.deepseq (_MethodDescriptorProto'options x__)
+                            (Control.DeepSeq.deepseq
+                               (_MethodDescriptorProto'clientStreaming x__)
+                               (Control.DeepSeq.deepseq
+                                  (_MethodDescriptorProto'serverStreaming x__)
+                                  (())))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' MethodOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' MethodOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.idempotencyLevel' @:: Lens' MethodOptions MethodOptions'IdempotencyLevel@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'idempotencyLevel' @:: Lens' MethodOptions (Prelude.Maybe MethodOptions'IdempotencyLevel)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' MethodOptions [UninterpretedOption]@
+ -}
+data MethodOptions = MethodOptions{_MethodOptions'deprecated ::
+                                   !(Prelude.Maybe Prelude.Bool),
+                                   _MethodOptions'idempotencyLevel ::
+                                   !(Prelude.Maybe MethodOptions'IdempotencyLevel),
+                                   _MethodOptions'uninterpretedOption :: ![UninterpretedOption],
+                                   _MethodOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                       deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show MethodOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' MethodOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
+                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' MethodOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodOptions'deprecated
+                 (\ x__ y__ -> x__{_MethodOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodOptions "idempotencyLevel"
+           (MethodOptions'IdempotencyLevel)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
+                 (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
+              (Data.ProtoLens.maybeLens MethodOptions'IDEMPOTENCY_UNKNOWN)
+instance Lens.Labels.HasLens' MethodOptions
+           "maybe'idempotencyLevel"
+           (Prelude.Maybe MethodOptions'IdempotencyLevel)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodOptions'idempotencyLevel
+                 (\ x__ y__ -> x__{_MethodOptions'idempotencyLevel = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' MethodOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _MethodOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_MethodOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message MethodOptions where
+        messageName _ = Data.Text.pack "google.protobuf.MethodOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+                idempotencyLevel__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "idempotency_level"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodOptions'IdempotencyLevel)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'idempotencyLevel")))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor MethodOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 34, idempotencyLevel__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _MethodOptions'_unknownFields
+              (\ x__ y__ -> x__{_MethodOptions'_unknownFields = y__})
+        defMessage
+          = MethodOptions{_MethodOptions'deprecated = Prelude.Nothing,
+                          _MethodOptions'idempotencyLevel = Prelude.Nothing,
+                          _MethodOptions'uninterpretedOption = [],
+                          _MethodOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData MethodOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_MethodOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_MethodOptions'deprecated x__)
+                   (Control.DeepSeq.deepseq (_MethodOptions'idempotencyLevel x__)
+                      (Control.DeepSeq.deepseq (_MethodOptions'uninterpretedOption x__)
+                         (()))))
+data MethodOptions'IdempotencyLevel = MethodOptions'IDEMPOTENCY_UNKNOWN
+                                    | MethodOptions'NO_SIDE_EFFECTS
+                                    | MethodOptions'IDEMPOTENT
+                                        deriving (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.FieldDefault MethodOptions'IdempotencyLevel
+         where
+        fieldDefault = MethodOptions'IDEMPOTENCY_UNKNOWN
+instance Data.ProtoLens.MessageEnum MethodOptions'IdempotencyLevel
+         where
+        maybeToEnum 0 = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
+        maybeToEnum 1 = Prelude.Just MethodOptions'NO_SIDE_EFFECTS
+        maybeToEnum 2 = Prelude.Just MethodOptions'IDEMPOTENT
+        maybeToEnum _ = Prelude.Nothing
+        showEnum MethodOptions'IDEMPOTENCY_UNKNOWN = "IDEMPOTENCY_UNKNOWN"
+        showEnum MethodOptions'NO_SIDE_EFFECTS = "NO_SIDE_EFFECTS"
+        showEnum MethodOptions'IDEMPOTENT = "IDEMPOTENT"
+        readEnum "IDEMPOTENCY_UNKNOWN"
+          = Prelude.Just MethodOptions'IDEMPOTENCY_UNKNOWN
+        readEnum "NO_SIDE_EFFECTS"
+          = Prelude.Just MethodOptions'NO_SIDE_EFFECTS
+        readEnum "IDEMPOTENT" = Prelude.Just MethodOptions'IDEMPOTENT
+        readEnum _ = Prelude.Nothing
+instance Prelude.Enum MethodOptions'IdempotencyLevel where
+        toEnum k__
+          = Prelude.maybe
+              (Prelude.error
+                 ((Prelude.++) "toEnum: unknown value for enum IdempotencyLevel: "
+                    (Prelude.show k__)))
+              Prelude.id
+              (Data.ProtoLens.maybeToEnum k__)
+        fromEnum MethodOptions'IDEMPOTENCY_UNKNOWN = 0
+        fromEnum MethodOptions'NO_SIDE_EFFECTS = 1
+        fromEnum MethodOptions'IDEMPOTENT = 2
+        succ MethodOptions'IDEMPOTENT
+          = Prelude.error
+              "MethodOptions'IdempotencyLevel.succ: bad argument MethodOptions'IDEMPOTENT. This value would be out of bounds."
+        succ MethodOptions'IDEMPOTENCY_UNKNOWN
+          = MethodOptions'NO_SIDE_EFFECTS
+        succ MethodOptions'NO_SIDE_EFFECTS = MethodOptions'IDEMPOTENT
+        pred MethodOptions'IDEMPOTENCY_UNKNOWN
+          = Prelude.error
+              "MethodOptions'IdempotencyLevel.pred: bad argument MethodOptions'IDEMPOTENCY_UNKNOWN. This value would be out of bounds."
+        pred MethodOptions'NO_SIDE_EFFECTS
+          = MethodOptions'IDEMPOTENCY_UNKNOWN
+        pred MethodOptions'IDEMPOTENT = MethodOptions'NO_SIDE_EFFECTS
+        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 Prelude.Bounded MethodOptions'IdempotencyLevel where
+        minBound = MethodOptions'IDEMPOTENCY_UNKNOWN
+        maxBound = MethodOptions'IDEMPOTENT
+instance Control.DeepSeq.NFData MethodOptions'IdempotencyLevel
+         where
+        rnf x__ = Prelude.seq x__ (())
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' OneofDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' OneofDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' OneofDescriptorProto OneofOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' OneofDescriptorProto (Prelude.Maybe OneofOptions)@
+ -}
+data OneofDescriptorProto = OneofDescriptorProto{_OneofDescriptorProto'name
+                                                 :: !(Prelude.Maybe Data.Text.Text),
+                                                 _OneofDescriptorProto'options ::
+                                                 !(Prelude.Maybe OneofOptions),
+                                                 _OneofDescriptorProto'_unknownFields ::
+                                                 !Data.ProtoLens.FieldSet}
+                              deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show OneofDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' OneofDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
+                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' OneofDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'name
+                 (\ x__ y__ -> x__{_OneofDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' OneofDescriptorProto "options"
+           (OneofOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
+                 (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' OneofDescriptorProto "maybe'options"
+           (Prelude.Maybe OneofOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _OneofDescriptorProto'options
+                 (\ x__ y__ -> x__{_OneofDescriptorProto'options = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message OneofDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.OneofDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor OneofOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor OneofDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _OneofDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_OneofDescriptorProto'_unknownFields = y__})
+        defMessage
+          = OneofDescriptorProto{_OneofDescriptorProto'name =
+                                   Prelude.Nothing,
+                                 _OneofDescriptorProto'options = Prelude.Nothing,
+                                 _OneofDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData OneofDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_OneofDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_OneofDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_OneofDescriptorProto'options x__) (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' OneofOptions [UninterpretedOption]@
+ -}
+data OneofOptions = OneofOptions{_OneofOptions'uninterpretedOption
+                                 :: ![UninterpretedOption],
+                                 _OneofOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show OneofOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' OneofOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _OneofOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_OneofOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message OneofOptions where
+        messageName _ = Data.Text.pack "google.protobuf.OneofOptions"
+        fieldsByTag
+          = let uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor OneofOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _OneofOptions'_unknownFields
+              (\ x__ y__ -> x__{_OneofOptions'_unknownFields = y__})
+        defMessage
+          = OneofOptions{_OneofOptions'uninterpretedOption = [],
+                         _OneofOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData OneofOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_OneofOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_OneofOptions'uninterpretedOption x__)
+                   (()))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' ServiceDescriptorProto Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'name' @:: Lens' ServiceDescriptorProto (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.method' @:: Lens' ServiceDescriptorProto [MethodDescriptorProto]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.options' @:: Lens' ServiceDescriptorProto ServiceOptions@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'options' @:: Lens' ServiceDescriptorProto (Prelude.Maybe ServiceOptions)@
+ -}
+data ServiceDescriptorProto = ServiceDescriptorProto{_ServiceDescriptorProto'name
+                                                     :: !(Prelude.Maybe Data.Text.Text),
+                                                     _ServiceDescriptorProto'method ::
+                                                     ![MethodDescriptorProto],
+                                                     _ServiceDescriptorProto'options ::
+                                                     !(Prelude.Maybe ServiceOptions),
+                                                     _ServiceDescriptorProto'_unknownFields ::
+                                                     !Data.ProtoLens.FieldSet}
+                                deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ServiceDescriptorProto where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' ServiceDescriptorProto "name"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' ServiceDescriptorProto "maybe'name"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'name
+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' ServiceDescriptorProto "method"
+           ([MethodDescriptorProto])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'method
+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'method = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' ServiceDescriptorProto "options"
+           (ServiceOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Lens.Labels.HasLens' ServiceDescriptorProto
+           "maybe'options"
+           (Prelude.Maybe ServiceOptions)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceDescriptorProto'options
+                 (\ x__ y__ -> x__{_ServiceDescriptorProto'options = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message ServiceDescriptorProto where
+        messageName _
+          = Data.Text.pack "google.protobuf.ServiceDescriptorProto"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+                method__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "method"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor MethodDescriptorProto)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+                options__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "options"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor ServiceOptions)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")))
+                      :: Data.ProtoLens.FieldDescriptor ServiceDescriptorProto
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, name__field_descriptor),
+                 (Data.ProtoLens.Tag 2, method__field_descriptor),
+                 (Data.ProtoLens.Tag 3, options__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _ServiceDescriptorProto'_unknownFields
+              (\ x__ y__ -> x__{_ServiceDescriptorProto'_unknownFields = y__})
+        defMessage
+          = ServiceDescriptorProto{_ServiceDescriptorProto'name =
+                                     Prelude.Nothing,
+                                   _ServiceDescriptorProto'method = [],
+                                   _ServiceDescriptorProto'options = Prelude.Nothing,
+                                   _ServiceDescriptorProto'_unknownFields = ([])}
+instance Control.DeepSeq.NFData ServiceDescriptorProto where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_ServiceDescriptorProto'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_ServiceDescriptorProto'name x__)
+                   (Control.DeepSeq.deepseq (_ServiceDescriptorProto'method x__)
+                      (Control.DeepSeq.deepseq (_ServiceDescriptorProto'options x__)
+                         (()))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.deprecated' @:: Lens' ServiceOptions Prelude.Bool@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'deprecated' @:: Lens' ServiceOptions (Prelude.Maybe Prelude.Bool)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.uninterpretedOption' @:: Lens' ServiceOptions [UninterpretedOption]@
+ -}
+data ServiceOptions = ServiceOptions{_ServiceOptions'deprecated ::
+                                     !(Prelude.Maybe Prelude.Bool),
+                                     _ServiceOptions'uninterpretedOption :: ![UninterpretedOption],
+                                     _ServiceOptions'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show ServiceOptions where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' ServiceOptions "deprecated"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
+                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
+              (Data.ProtoLens.maybeLens Prelude.False)
+instance Lens.Labels.HasLens' ServiceOptions "maybe'deprecated"
+           (Prelude.Maybe Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceOptions'deprecated
+                 (\ x__ y__ -> x__{_ServiceOptions'deprecated = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' ServiceOptions "uninterpretedOption"
+           ([UninterpretedOption])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _ServiceOptions'uninterpretedOption
+                 (\ x__ y__ -> x__{_ServiceOptions'uninterpretedOption = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message ServiceOptions where
+        messageName _ = Data.Text.pack "google.protobuf.ServiceOptions"
+        fieldsByTag
+          = let deprecated__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "deprecated"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")))
+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
+                uninterpretedOption__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "uninterpreted_option"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "uninterpretedOption")))
+                      :: Data.ProtoLens.FieldDescriptor ServiceOptions
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 33, deprecated__field_descriptor),
+                 (Data.ProtoLens.Tag 999, uninterpretedOption__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _ServiceOptions'_unknownFields
+              (\ x__ y__ -> x__{_ServiceOptions'_unknownFields = y__})
+        defMessage
+          = ServiceOptions{_ServiceOptions'deprecated = Prelude.Nothing,
+                           _ServiceOptions'uninterpretedOption = [],
+                           _ServiceOptions'_unknownFields = ([])}
+instance Control.DeepSeq.NFData ServiceOptions where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_ServiceOptions'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_ServiceOptions'deprecated x__)
+                   (Control.DeepSeq.deepseq (_ServiceOptions'uninterpretedOption x__)
+                      (())))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.location' @:: Lens' SourceCodeInfo [SourceCodeInfo'Location]@
+ -}
+data SourceCodeInfo = SourceCodeInfo{_SourceCodeInfo'location ::
+                                     ![SourceCodeInfo'Location],
+                                     _SourceCodeInfo'_unknownFields :: !Data.ProtoLens.FieldSet}
+                        deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SourceCodeInfo where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' SourceCodeInfo "location"
+           ([SourceCodeInfo'Location])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'location
+                 (\ x__ y__ -> x__{_SourceCodeInfo'location = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message SourceCodeInfo where
+        messageName _ = Data.Text.pack "google.protobuf.SourceCodeInfo"
+        fieldsByTag
+          = let location__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "location"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor SourceCodeInfo'Location)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, location__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _SourceCodeInfo'_unknownFields
+              (\ x__ y__ -> x__{_SourceCodeInfo'_unknownFields = y__})
+        defMessage
+          = SourceCodeInfo{_SourceCodeInfo'location = [],
+                           _SourceCodeInfo'_unknownFields = ([])}
+instance Control.DeepSeq.NFData SourceCodeInfo where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_SourceCodeInfo'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_SourceCodeInfo'location x__) (()))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.path' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.span' @:: Lens' SourceCodeInfo'Location [Data.Int.Int32]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'leadingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.trailingComments' @:: Lens' SourceCodeInfo'Location Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'trailingComments' @:: Lens' SourceCodeInfo'Location (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.leadingDetachedComments' @:: Lens' SourceCodeInfo'Location [Data.Text.Text]@
+ -}
+data SourceCodeInfo'Location = SourceCodeInfo'Location{_SourceCodeInfo'Location'path
+                                                       :: ![Data.Int.Int32],
+                                                       _SourceCodeInfo'Location'span ::
+                                                       ![Data.Int.Int32],
+                                                       _SourceCodeInfo'Location'leadingComments ::
+                                                       !(Prelude.Maybe Data.Text.Text),
+                                                       _SourceCodeInfo'Location'trailingComments ::
+                                                       !(Prelude.Maybe Data.Text.Text),
+                                                       _SourceCodeInfo'Location'leadingDetachedComments
+                                                       :: ![Data.Text.Text],
+                                                       _SourceCodeInfo'Location'_unknownFields ::
+                                                       !Data.ProtoLens.FieldSet}
+                                 deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show SourceCodeInfo'Location where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' SourceCodeInfo'Location "path"
+           ([Data.Int.Int32])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'path
+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'path = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' SourceCodeInfo'Location "span"
+           ([Data.Int.Int32])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _SourceCodeInfo'Location'span
+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'span = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' SourceCodeInfo'Location
+           "leadingComments"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _SourceCodeInfo'Location'leadingComments
+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' SourceCodeInfo'Location
+           "maybe'leadingComments"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _SourceCodeInfo'Location'leadingComments
+                 (\ x__ y__ -> x__{_SourceCodeInfo'Location'leadingComments = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' SourceCodeInfo'Location
+           "trailingComments"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _SourceCodeInfo'Location'trailingComments
+                 (\ x__ y__ ->
+                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' SourceCodeInfo'Location
+           "maybe'trailingComments"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _SourceCodeInfo'Location'trailingComments
+                 (\ x__ y__ ->
+                    x__{_SourceCodeInfo'Location'trailingComments = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' SourceCodeInfo'Location
+           "leadingDetachedComments"
+           ([Data.Text.Text])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _SourceCodeInfo'Location'leadingDetachedComments
+                 (\ x__ y__ ->
+                    x__{_SourceCodeInfo'Location'leadingDetachedComments = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message SourceCodeInfo'Location where
+        messageName _
+          = Data.Text.pack "google.protobuf.SourceCodeInfo.Location"
+        fieldsByTag
+          = let path__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "path"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                span__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "span"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Packed
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                leadingComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "leading_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'leadingComments")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                trailingComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "trailing_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'trailingComments")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+                leadingDetachedComments__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "leading_detached_comments"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "leadingDetachedComments")))
+                      :: Data.ProtoLens.FieldDescriptor SourceCodeInfo'Location
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, path__field_descriptor),
+                 (Data.ProtoLens.Tag 2, span__field_descriptor),
+                 (Data.ProtoLens.Tag 3, leadingComments__field_descriptor),
+                 (Data.ProtoLens.Tag 4, trailingComments__field_descriptor),
+                 (Data.ProtoLens.Tag 6, leadingDetachedComments__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _SourceCodeInfo'Location'_unknownFields
+              (\ x__ y__ -> x__{_SourceCodeInfo'Location'_unknownFields = y__})
+        defMessage
+          = SourceCodeInfo'Location{_SourceCodeInfo'Location'path = [],
+                                    _SourceCodeInfo'Location'span = [],
+                                    _SourceCodeInfo'Location'leadingComments = Prelude.Nothing,
+                                    _SourceCodeInfo'Location'trailingComments = Prelude.Nothing,
+                                    _SourceCodeInfo'Location'leadingDetachedComments = [],
+                                    _SourceCodeInfo'Location'_unknownFields = ([])}
+instance Control.DeepSeq.NFData SourceCodeInfo'Location where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_SourceCodeInfo'Location'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'path x__)
+                   (Control.DeepSeq.deepseq (_SourceCodeInfo'Location'span x__)
+                      (Control.DeepSeq.deepseq
+                         (_SourceCodeInfo'Location'leadingComments x__)
+                         (Control.DeepSeq.deepseq
+                            (_SourceCodeInfo'Location'trailingComments x__)
+                            (Control.DeepSeq.deepseq
+                               (_SourceCodeInfo'Location'leadingDetachedComments x__)
+                               (()))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.name' @:: Lens' UninterpretedOption [UninterpretedOption'NamePart]@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.identifierValue' @:: Lens' UninterpretedOption Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'identifierValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.positiveIntValue' @:: Lens' UninterpretedOption Data.Word.Word64@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'positiveIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Word.Word64)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.negativeIntValue' @:: Lens' UninterpretedOption Data.Int.Int64@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'negativeIntValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Int.Int64)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.doubleValue' @:: Lens' UninterpretedOption Prelude.Double@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'doubleValue' @:: Lens' UninterpretedOption (Prelude.Maybe Prelude.Double)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.stringValue' @:: Lens' UninterpretedOption Data.ByteString.ByteString@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'stringValue' @:: Lens' UninterpretedOption
+  (Prelude.Maybe Data.ByteString.ByteString)@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.aggregateValue' @:: Lens' UninterpretedOption Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.maybe'aggregateValue' @:: Lens' UninterpretedOption (Prelude.Maybe Data.Text.Text)@
+ -}
+data UninterpretedOption = UninterpretedOption{_UninterpretedOption'name
+                                               :: ![UninterpretedOption'NamePart],
+                                               _UninterpretedOption'identifierValue ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _UninterpretedOption'positiveIntValue ::
+                                               !(Prelude.Maybe Data.Word.Word64),
+                                               _UninterpretedOption'negativeIntValue ::
+                                               !(Prelude.Maybe Data.Int.Int64),
+                                               _UninterpretedOption'doubleValue ::
+                                               !(Prelude.Maybe Prelude.Double),
+                                               _UninterpretedOption'stringValue ::
+                                               !(Prelude.Maybe Data.ByteString.ByteString),
+                                               _UninterpretedOption'aggregateValue ::
+                                               !(Prelude.Maybe Data.Text.Text),
+                                               _UninterpretedOption'_unknownFields ::
+                                               !Data.ProtoLens.FieldSet}
+                             deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show UninterpretedOption where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' UninterpretedOption "name"
+           ([UninterpretedOption'NamePart])
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'name
+                 (\ x__ y__ -> x__{_UninterpretedOption'name = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption "identifierValue"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'identifierValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'identifierValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'identifierValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption
+           "positiveIntValue"
+           (Data.Word.Word64)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'positiveIntValue"
+           (Prelude.Maybe Data.Word.Word64)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'positiveIntValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'positiveIntValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption
+           "negativeIntValue"
+           (Data.Int.Int64)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'negativeIntValue"
+           (Prelude.Maybe Data.Int.Int64)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'negativeIntValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'negativeIntValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption "doubleValue"
+           (Prelude.Double)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'doubleValue"
+           (Prelude.Maybe Prelude.Double)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'doubleValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'doubleValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption "stringValue"
+           (Data.ByteString.ByteString)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'stringValue"
+           (Prelude.Maybe Data.ByteString.ByteString)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'stringValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'stringValue = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption "aggregateValue"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
+              (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Lens.Labels.HasLens' UninterpretedOption
+           "maybe'aggregateValue"
+           (Prelude.Maybe Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'aggregateValue
+                 (\ x__ y__ -> x__{_UninterpretedOption'aggregateValue = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message UninterpretedOption where
+        messageName _
+          = Data.Text.pack "google.protobuf.UninterpretedOption"
+        fieldsByTag
+          = let name__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name"
+                      (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+                         Data.ProtoLens.FieldTypeDescriptor UninterpretedOption'NamePart)
+                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                identifierValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "identifier_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'identifierValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                positiveIntValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "positive_int_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'positiveIntValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                negativeIntValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "negative_int_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'negativeIntValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                doubleValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "double_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'doubleValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                stringValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "string_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BytesField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.ByteString.ByteString)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'stringValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+                aggregateValue__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "aggregate_value"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.OptionalField
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) ::
+                               (Lens.Labels.Proxy#) "maybe'aggregateValue")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 2, name__field_descriptor),
+                 (Data.ProtoLens.Tag 3, identifierValue__field_descriptor),
+                 (Data.ProtoLens.Tag 4, positiveIntValue__field_descriptor),
+                 (Data.ProtoLens.Tag 5, negativeIntValue__field_descriptor),
+                 (Data.ProtoLens.Tag 6, doubleValue__field_descriptor),
+                 (Data.ProtoLens.Tag 7, stringValue__field_descriptor),
+                 (Data.ProtoLens.Tag 8, aggregateValue__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens _UninterpretedOption'_unknownFields
+              (\ x__ y__ -> x__{_UninterpretedOption'_unknownFields = y__})
+        defMessage
+          = UninterpretedOption{_UninterpretedOption'name = [],
+                                _UninterpretedOption'identifierValue = Prelude.Nothing,
+                                _UninterpretedOption'positiveIntValue = Prelude.Nothing,
+                                _UninterpretedOption'negativeIntValue = Prelude.Nothing,
+                                _UninterpretedOption'doubleValue = Prelude.Nothing,
+                                _UninterpretedOption'stringValue = Prelude.Nothing,
+                                _UninterpretedOption'aggregateValue = Prelude.Nothing,
+                                _UninterpretedOption'_unknownFields = ([])}
+instance Control.DeepSeq.NFData UninterpretedOption where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq (_UninterpretedOption'_unknownFields x__)
+                (Control.DeepSeq.deepseq (_UninterpretedOption'name x__)
+                   (Control.DeepSeq.deepseq (_UninterpretedOption'identifierValue x__)
+                      (Control.DeepSeq.deepseq
+                         (_UninterpretedOption'positiveIntValue x__)
+                         (Control.DeepSeq.deepseq
+                            (_UninterpretedOption'negativeIntValue x__)
+                            (Control.DeepSeq.deepseq (_UninterpretedOption'doubleValue x__)
+                               (Control.DeepSeq.deepseq (_UninterpretedOption'stringValue x__)
+                                  (Control.DeepSeq.deepseq (_UninterpretedOption'aggregateValue x__)
+                                     (()))))))))
+{- | Fields :
+
+    * 'Proto.Google.Protobuf.Descriptor_Fields.namePart' @:: Lens' UninterpretedOption'NamePart Data.Text.Text@
+    * 'Proto.Google.Protobuf.Descriptor_Fields.isExtension' @:: Lens' UninterpretedOption'NamePart Prelude.Bool@
+ -}
+data UninterpretedOption'NamePart = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
+                                                                 :: !Data.Text.Text,
+                                                                 _UninterpretedOption'NamePart'isExtension
+                                                                 :: !Prelude.Bool,
+                                                                 _UninterpretedOption'NamePart'_unknownFields
+                                                                 :: !Data.ProtoLens.FieldSet}
+                                      deriving (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show UninterpretedOption'NamePart where
+        showsPrec _ __x __s
+          = Prelude.showChar '{'
+              (Prelude.showString (Data.ProtoLens.showMessageShort __x)
+                 (Prelude.showChar '}' __s))
+instance Lens.Labels.HasLens' UninterpretedOption'NamePart
+           "namePart"
+           (Data.Text.Text)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens _UninterpretedOption'NamePart'namePart
+                 (\ x__ y__ -> x__{_UninterpretedOption'NamePart'namePart = y__}))
+              Prelude.id
+instance Lens.Labels.HasLens' UninterpretedOption'NamePart
+           "isExtension"
+           (Prelude.Bool)
+         where
+        lensOf' _
+          = (Prelude..)
+              (Lens.Family2.Unchecked.lens
+                 _UninterpretedOption'NamePart'isExtension
+                 (\ x__ y__ ->
+                    x__{_UninterpretedOption'NamePart'isExtension = y__}))
+              Prelude.id
+instance Data.ProtoLens.Message UninterpretedOption'NamePart where
+        messageName _
+          = Data.Text.pack "google.protobuf.UninterpretedOption.NamePart"
+        fieldsByTag
+          = let namePart__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "name_part"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
+                isExtension__field_descriptor
+                  = Data.ProtoLens.FieldDescriptor "is_extension"
+                      (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+                      (Data.ProtoLens.PlainField Data.ProtoLens.Required
+                         (Lens.Labels.lensOf'
+                            ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")))
+                      :: Data.ProtoLens.FieldDescriptor UninterpretedOption'NamePart
+              in
+              Data.Map.fromList
+                [(Data.ProtoLens.Tag 1, namePart__field_descriptor),
+                 (Data.ProtoLens.Tag 2, isExtension__field_descriptor)]
+        unknownFields
+          = Lens.Family2.Unchecked.lens
+              _UninterpretedOption'NamePart'_unknownFields
+              (\ x__ y__ ->
+                 x__{_UninterpretedOption'NamePart'_unknownFields = y__})
+        defMessage
+          = UninterpretedOption'NamePart{_UninterpretedOption'NamePart'namePart
+                                           = Data.ProtoLens.fieldDefault,
+                                         _UninterpretedOption'NamePart'isExtension =
+                                           Data.ProtoLens.fieldDefault,
+                                         _UninterpretedOption'NamePart'_unknownFields = ([])}
+instance Control.DeepSeq.NFData UninterpretedOption'NamePart where
+        rnf
+          = \ x__ ->
+              Control.DeepSeq.deepseq
+                (_UninterpretedOption'NamePart'_unknownFields x__)
+                (Control.DeepSeq.deepseq
+                   (_UninterpretedOption'NamePart'namePart x__)
+                   (Control.DeepSeq.deepseq
+                      (_UninterpretedOption'NamePart'isExtension x__)
+                      (())))
diff --git a/src/Proto/Google/Protobuf/Descriptor_Fields.hs b/src/Proto/Google/Protobuf/Descriptor_Fields.hs
--- a/src/Proto/Google/Protobuf/Descriptor_Fields.hs
+++ b/src/Proto/Google/Protobuf/Descriptor_Fields.hs
@@ -14,881 +14,1084 @@
 import qualified Data.ProtoLens.Service.Types
 import qualified Lens.Family2
 import qualified Lens.Family2.Unchecked
-import qualified Data.Default.Class
-import qualified Data.Text
-import qualified Data.Map
-import qualified Data.ByteString
-import qualified Data.ByteString.Char8
-import qualified Lens.Labels
-import qualified Text.Read
-
-aggregateValue ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "aggregateValue" a b) =>
-                 Lens.Family2.LensLike f s t a b
-aggregateValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "aggregateValue")
-allowAlias ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "allowAlias" a b) =>
-             Lens.Family2.LensLike f s t a b
-allowAlias
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "allowAlias")
-annotation ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "annotation" a b) =>
-             Lens.Family2.LensLike f s t a b
-annotation
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")
-begin ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "begin" a b) =>
-        Lens.Family2.LensLike f s t a b
-begin
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "begin")
-ccEnableArenas ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "ccEnableArenas" a b) =>
-                 Lens.Family2.LensLike f s t a b
-ccEnableArenas
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccEnableArenas")
-ccGenericServices ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "ccGenericServices" a b) =>
-                    Lens.Family2.LensLike f s t a b
-ccGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccGenericServices")
-clientStreaming ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "clientStreaming" a b) =>
-                  Lens.Family2.LensLike f s t a b
-clientStreaming
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "clientStreaming")
-csharpNamespace ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "csharpNamespace" a b) =>
-                  Lens.Family2.LensLike f s t a b
-csharpNamespace
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "csharpNamespace")
-ctype ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "ctype" a b) =>
-        Lens.Family2.LensLike f s t a b
-ctype
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ctype")
-defaultValue ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "defaultValue" a b) =>
-               Lens.Family2.LensLike f s t a b
-defaultValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "defaultValue")
-dependency ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "dependency" a b) =>
-             Lens.Family2.LensLike f s t a b
-dependency
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")
-deprecated ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "deprecated" a b) =>
-             Lens.Family2.LensLike f s t a b
-deprecated
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "deprecated")
-doubleValue ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "doubleValue" a b) =>
-              Lens.Family2.LensLike f s t a b
-doubleValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "doubleValue")
-end ::
-    forall f s t a b . (Lens.Labels.HasLens f s t "end" a b) =>
-      Lens.Family2.LensLike f s t a b
-end
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "end")
-enumType ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "enumType" a b) =>
-           Lens.Family2.LensLike f s t a b
-enumType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")
-extendee ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "extendee" a b) =>
-           Lens.Family2.LensLike f s t a b
-extendee
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extendee")
-extension ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "extension" a b) =>
-            Lens.Family2.LensLike f s t a b
-extension
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")
-extensionRange ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "extensionRange" a b) =>
-                 Lens.Family2.LensLike f s t a b
-extensionRange
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")
-field ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "field" a b) =>
-        Lens.Family2.LensLike f s t a b
-field
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")
-file ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "file" a b) =>
-       Lens.Family2.LensLike f s t a b
-file
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")
-goPackage ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "goPackage" a b) =>
-            Lens.Family2.LensLike f s t a b
-goPackage
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "goPackage")
-identifierValue ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "identifierValue" a b) =>
-                  Lens.Family2.LensLike f s t a b
-identifierValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "identifierValue")
-inputType ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "inputType" a b) =>
-            Lens.Family2.LensLike f s t a b
-inputType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "inputType")
-isExtension ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "isExtension" a b) =>
-              Lens.Family2.LensLike f s t a b
-isExtension
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")
-javaGenerateEqualsAndHash ::
-                          forall f s t a b .
-                            (Lens.Labels.HasLens f s t "javaGenerateEqualsAndHash" a b) =>
-                            Lens.Family2.LensLike f s t a b
-javaGenerateEqualsAndHash
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaGenerateEqualsAndHash")
-javaGenericServices ::
-                    forall f s t a b .
-                      (Lens.Labels.HasLens f s t "javaGenericServices" a b) =>
-                      Lens.Family2.LensLike f s t a b
-javaGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaGenericServices")
-javaMultipleFiles ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "javaMultipleFiles" a b) =>
-                    Lens.Family2.LensLike f s t a b
-javaMultipleFiles
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaMultipleFiles")
-javaOuterClassname ::
-                   forall f s t a b .
-                     (Lens.Labels.HasLens f s t "javaOuterClassname" a b) =>
-                     Lens.Family2.LensLike f s t a b
-javaOuterClassname
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaOuterClassname")
-javaPackage ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "javaPackage" a b) =>
-              Lens.Family2.LensLike f s t a b
-javaPackage
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaPackage")
-javaStringCheckUtf8 ::
-                    forall f s t a b .
-                      (Lens.Labels.HasLens f s t "javaStringCheckUtf8" a b) =>
-                      Lens.Family2.LensLike f s t a b
-javaStringCheckUtf8
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "javaStringCheckUtf8")
-jsonName ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "jsonName" a b) =>
-           Lens.Family2.LensLike f s t a b
-jsonName
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jsonName")
-jstype ::
-       forall f s t a b . (Lens.Labels.HasLens f s t "jstype" a b) =>
-         Lens.Family2.LensLike f s t a b
-jstype
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jstype")
-label ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "label" a b) =>
-        Lens.Family2.LensLike f s t a b
-label
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "label")
-lazy ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "lazy" a b) =>
-       Lens.Family2.LensLike f s t a b
-lazy
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "lazy")
-leadingComments ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "leadingComments" a b) =>
-                  Lens.Family2.LensLike f s t a b
-leadingComments
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "leadingComments")
-leadingDetachedComments ::
-                        forall f s t a b .
-                          (Lens.Labels.HasLens f s t "leadingDetachedComments" a b) =>
-                          Lens.Family2.LensLike f s t a b
-leadingDetachedComments
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "leadingDetachedComments")
-location ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "location" a b) =>
-           Lens.Family2.LensLike f s t a b
-location
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")
-mapEntry ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "mapEntry" a b) =>
-           Lens.Family2.LensLike f s t a b
-mapEntry
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "mapEntry")
-maybe'aggregateValue ::
-                     forall f s t a b .
-                       (Lens.Labels.HasLens f s t "maybe'aggregateValue" a b) =>
-                       Lens.Family2.LensLike f s t a b
-maybe'aggregateValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'aggregateValue")
-maybe'allowAlias ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "maybe'allowAlias" a b) =>
-                   Lens.Family2.LensLike f s t a b
-maybe'allowAlias
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")
-maybe'begin ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'begin" a b) =>
-              Lens.Family2.LensLike f s t a b
-maybe'begin
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")
-maybe'ccEnableArenas ::
-                     forall f s t a b .
-                       (Lens.Labels.HasLens f s t "maybe'ccEnableArenas" a b) =>
-                       Lens.Family2.LensLike f s t a b
-maybe'ccEnableArenas
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'ccEnableArenas")
-maybe'ccGenericServices ::
-                        forall f s t a b .
-                          (Lens.Labels.HasLens f s t "maybe'ccGenericServices" a b) =>
-                          Lens.Family2.LensLike f s t a b
-maybe'ccGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'ccGenericServices")
-maybe'clientStreaming ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'clientStreaming" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'clientStreaming
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'clientStreaming")
-maybe'csharpNamespace ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'csharpNamespace" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'csharpNamespace
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'csharpNamespace")
-maybe'ctype ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'ctype" a b) =>
-              Lens.Family2.LensLike f s t a b
-maybe'ctype
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")
-maybe'defaultValue ::
-                   forall f s t a b .
-                     (Lens.Labels.HasLens f s t "maybe'defaultValue" a b) =>
-                     Lens.Family2.LensLike f s t a b
-maybe'defaultValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'defaultValue")
-maybe'deprecated ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "maybe'deprecated" a b) =>
-                   Lens.Family2.LensLike f s t a b
-maybe'deprecated
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")
-maybe'doubleValue ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "maybe'doubleValue" a b) =>
-                    Lens.Family2.LensLike f s t a b
-maybe'doubleValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'doubleValue")
-maybe'end ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "maybe'end" a b) =>
-            Lens.Family2.LensLike f s t a b
-maybe'end
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")
-maybe'extendee ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "maybe'extendee" a b) =>
-                 Lens.Family2.LensLike f s t a b
-maybe'extendee
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")
-maybe'goPackage ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "maybe'goPackage" a b) =>
-                  Lens.Family2.LensLike f s t a b
-maybe'goPackage
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")
-maybe'identifierValue ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'identifierValue" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'identifierValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'identifierValue")
-maybe'inputType ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "maybe'inputType" a b) =>
-                  Lens.Family2.LensLike f s t a b
-maybe'inputType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")
-maybe'javaGenerateEqualsAndHash ::
-                                forall f s t a b .
-                                  (Lens.Labels.HasLens f s t "maybe'javaGenerateEqualsAndHash" a
-                                     b) =>
-                                  Lens.Family2.LensLike f s t a b
-maybe'javaGenerateEqualsAndHash
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")
-maybe'javaGenericServices ::
-                          forall f s t a b .
-                            (Lens.Labels.HasLens f s t "maybe'javaGenericServices" a b) =>
-                            Lens.Family2.LensLike f s t a b
-maybe'javaGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaGenericServices")
-maybe'javaMultipleFiles ::
-                        forall f s t a b .
-                          (Lens.Labels.HasLens f s t "maybe'javaMultipleFiles" a b) =>
-                          Lens.Family2.LensLike f s t a b
-maybe'javaMultipleFiles
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")
-maybe'javaOuterClassname ::
-                         forall f s t a b .
-                           (Lens.Labels.HasLens f s t "maybe'javaOuterClassname" a b) =>
-                           Lens.Family2.LensLike f s t a b
-maybe'javaOuterClassname
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaOuterClassname")
-maybe'javaPackage ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "maybe'javaPackage" a b) =>
-                    Lens.Family2.LensLike f s t a b
-maybe'javaPackage
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'javaPackage")
-maybe'javaStringCheckUtf8 ::
-                          forall f s t a b .
-                            (Lens.Labels.HasLens f s t "maybe'javaStringCheckUtf8" a b) =>
-                            Lens.Family2.LensLike f s t a b
-maybe'javaStringCheckUtf8
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")
-maybe'jsonName ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "maybe'jsonName" a b) =>
-                 Lens.Family2.LensLike f s t a b
-maybe'jsonName
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")
-maybe'jstype ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "maybe'jstype" a b) =>
-               Lens.Family2.LensLike f s t a b
-maybe'jstype
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")
-maybe'label ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'label" a b) =>
-              Lens.Family2.LensLike f s t a b
-maybe'label
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")
-maybe'lazy ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'lazy" a b) =>
-             Lens.Family2.LensLike f s t a b
-maybe'lazy
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")
-maybe'leadingComments ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'leadingComments" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'leadingComments
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'leadingComments")
-maybe'mapEntry ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "maybe'mapEntry" a b) =>
-                 Lens.Family2.LensLike f s t a b
-maybe'mapEntry
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")
-maybe'messageSetWireFormat ::
-                           forall f s t a b .
-                             (Lens.Labels.HasLens f s t "maybe'messageSetWireFormat" a b) =>
-                             Lens.Family2.LensLike f s t a b
-maybe'messageSetWireFormat
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")
-maybe'name ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'name" a b) =>
-             Lens.Family2.LensLike f s t a b
-maybe'name
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")
-maybe'negativeIntValue ::
-                       forall f s t a b .
-                         (Lens.Labels.HasLens f s t "maybe'negativeIntValue" a b) =>
-                         Lens.Family2.LensLike f s t a b
-maybe'negativeIntValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'negativeIntValue")
-maybe'noStandardDescriptorAccessor ::
-                                   forall f s t a b .
-                                     (Lens.Labels.HasLens f s t "maybe'noStandardDescriptorAccessor"
-                                        a b) =>
-                                     Lens.Family2.LensLike f s t a b
-maybe'noStandardDescriptorAccessor
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")
-maybe'number ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "maybe'number" a b) =>
-               Lens.Family2.LensLike f s t a b
-maybe'number
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")
-maybe'objcClassPrefix ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'objcClassPrefix" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'objcClassPrefix
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'objcClassPrefix")
-maybe'oneofIndex ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "maybe'oneofIndex" a b) =>
-                   Lens.Family2.LensLike f s t a b
-maybe'oneofIndex
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")
-maybe'optimizeFor ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "maybe'optimizeFor" a b) =>
-                    Lens.Family2.LensLike f s t a b
-maybe'optimizeFor
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'optimizeFor")
-maybe'options ::
-              forall f s t a b .
-                (Lens.Labels.HasLens f s t "maybe'options" a b) =>
-                Lens.Family2.LensLike f s t a b
-maybe'options
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")
-maybe'outputType ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "maybe'outputType" a b) =>
-                   Lens.Family2.LensLike f s t a b
-maybe'outputType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")
-maybe'package ::
-              forall f s t a b .
-                (Lens.Labels.HasLens f s t "maybe'package" a b) =>
-                Lens.Family2.LensLike f s t a b
-maybe'package
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")
-maybe'packed ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "maybe'packed" a b) =>
-               Lens.Family2.LensLike f s t a b
-maybe'packed
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")
-maybe'positiveIntValue ::
-                       forall f s t a b .
-                         (Lens.Labels.HasLens f s t "maybe'positiveIntValue" a b) =>
-                         Lens.Family2.LensLike f s t a b
-maybe'positiveIntValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'positiveIntValue")
-maybe'pyGenericServices ::
-                        forall f s t a b .
-                          (Lens.Labels.HasLens f s t "maybe'pyGenericServices" a b) =>
-                          Lens.Family2.LensLike f s t a b
-maybe'pyGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'pyGenericServices")
-maybe'serverStreaming ::
-                      forall f s t a b .
-                        (Lens.Labels.HasLens f s t "maybe'serverStreaming" a b) =>
-                        Lens.Family2.LensLike f s t a b
-maybe'serverStreaming
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'serverStreaming")
-maybe'sourceCodeInfo ::
-                     forall f s t a b .
-                       (Lens.Labels.HasLens f s t "maybe'sourceCodeInfo" a b) =>
-                       Lens.Family2.LensLike f s t a b
-maybe'sourceCodeInfo
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")
-maybe'sourceFile ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "maybe'sourceFile" a b) =>
-                   Lens.Family2.LensLike f s t a b
-maybe'sourceFile
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")
-maybe'start ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'start" a b) =>
-              Lens.Family2.LensLike f s t a b
-maybe'start
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")
-maybe'stringValue ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "maybe'stringValue" a b) =>
-                    Lens.Family2.LensLike f s t a b
-maybe'stringValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'stringValue")
-maybe'syntax ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "maybe'syntax" a b) =>
-               Lens.Family2.LensLike f s t a b
-maybe'syntax
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")
-maybe'trailingComments ::
-                       forall f s t a b .
-                         (Lens.Labels.HasLens f s t "maybe'trailingComments" a b) =>
-                         Lens.Family2.LensLike f s t a b
-maybe'trailingComments
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "maybe'trailingComments")
-maybe'type' ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "maybe'type'" a b) =>
-              Lens.Family2.LensLike f s t a b
-maybe'type'
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")
-maybe'typeName ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "maybe'typeName" a b) =>
-                 Lens.Family2.LensLike f s t a b
-maybe'typeName
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")
-maybe'weak ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "maybe'weak" a b) =>
-             Lens.Family2.LensLike f s t a b
-maybe'weak
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")
-messageSetWireFormat ::
-                     forall f s t a b .
-                       (Lens.Labels.HasLens f s t "messageSetWireFormat" a b) =>
-                       Lens.Family2.LensLike f s t a b
-messageSetWireFormat
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "messageSetWireFormat")
-messageType ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "messageType" a b) =>
-              Lens.Family2.LensLike f s t a b
-messageType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")
-method ::
-       forall f s t a b . (Lens.Labels.HasLens f s t "method" a b) =>
-         Lens.Family2.LensLike f s t a b
-method
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")
-name ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "name" a b) =>
-       Lens.Family2.LensLike f s t a b
-name
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")
-namePart ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "namePart" a b) =>
-           Lens.Family2.LensLike f s t a b
-namePart
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")
-negativeIntValue ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "negativeIntValue" a b) =>
-                   Lens.Family2.LensLike f s t a b
-negativeIntValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "negativeIntValue")
-nestedType ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "nestedType" a b) =>
-             Lens.Family2.LensLike f s t a b
-nestedType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")
-noStandardDescriptorAccessor ::
-                             forall f s t a b .
-                               (Lens.Labels.HasLens f s t "noStandardDescriptorAccessor" a b) =>
-                               Lens.Family2.LensLike f s t a b
-noStandardDescriptorAccessor
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "noStandardDescriptorAccessor")
-number ::
-       forall f s t a b . (Lens.Labels.HasLens f s t "number" a b) =>
-         Lens.Family2.LensLike f s t a b
-number
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "number")
-objcClassPrefix ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "objcClassPrefix" a b) =>
-                  Lens.Family2.LensLike f s t a b
-objcClassPrefix
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "objcClassPrefix")
-oneofDecl ::
-          forall f s t a b . (Lens.Labels.HasLens f s t "oneofDecl" a b) =>
-            Lens.Family2.LensLike f s t a b
-oneofDecl
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")
-oneofIndex ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "oneofIndex" a b) =>
-             Lens.Family2.LensLike f s t a b
-oneofIndex
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofIndex")
-optimizeFor ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "optimizeFor" a b) =>
-              Lens.Family2.LensLike f s t a b
-optimizeFor
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "optimizeFor")
-options ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "options" a b) =>
-          Lens.Family2.LensLike f s t a b
-options
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "options")
-outputType ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "outputType" a b) =>
-             Lens.Family2.LensLike f s t a b
-outputType
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "outputType")
-package ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "package" a b) =>
-          Lens.Family2.LensLike f s t a b
-package
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "package")
-packed ::
-       forall f s t a b . (Lens.Labels.HasLens f s t "packed" a b) =>
-         Lens.Family2.LensLike f s t a b
-packed
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "packed")
-path ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "path" a b) =>
-       Lens.Family2.LensLike f s t a b
-path
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")
-positiveIntValue ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "positiveIntValue" a b) =>
-                   Lens.Family2.LensLike f s t a b
-positiveIntValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "positiveIntValue")
-publicDependency ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "publicDependency" a b) =>
-                   Lens.Family2.LensLike f s t a b
-publicDependency
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")
-pyGenericServices ::
-                  forall f s t a b .
-                    (Lens.Labels.HasLens f s t "pyGenericServices" a b) =>
-                    Lens.Family2.LensLike f s t a b
-pyGenericServices
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "pyGenericServices")
-reservedName ::
-             forall f s t a b .
-               (Lens.Labels.HasLens f s t "reservedName" a b) =>
-               Lens.Family2.LensLike f s t a b
-reservedName
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")
-reservedRange ::
-              forall f s t a b .
-                (Lens.Labels.HasLens f s t "reservedRange" a b) =>
-                Lens.Family2.LensLike f s t a b
-reservedRange
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")
-serverStreaming ::
-                forall f s t a b .
-                  (Lens.Labels.HasLens f s t "serverStreaming" a b) =>
-                  Lens.Family2.LensLike f s t a b
-serverStreaming
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "serverStreaming")
-service ::
-        forall f s t a b . (Lens.Labels.HasLens f s t "service" a b) =>
-          Lens.Family2.LensLike f s t a b
-service
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")
-sourceCodeInfo ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "sourceCodeInfo" a b) =>
-                 Lens.Family2.LensLike f s t a b
-sourceCodeInfo
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceCodeInfo")
-sourceFile ::
-           forall f s t a b . (Lens.Labels.HasLens f s t "sourceFile" a b) =>
-             Lens.Family2.LensLike f s t a b
-sourceFile
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceFile")
-span ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "span" a b) =>
-       Lens.Family2.LensLike f s t a b
-span
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")
-start ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "start" a b) =>
-        Lens.Family2.LensLike f s t a b
-start
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "start")
-stringValue ::
-            forall f s t a b . (Lens.Labels.HasLens f s t "stringValue" a b) =>
-              Lens.Family2.LensLike f s t a b
-stringValue
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "stringValue")
-syntax ::
-       forall f s t a b . (Lens.Labels.HasLens f s t "syntax" a b) =>
-         Lens.Family2.LensLike f s t a b
-syntax
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "syntax")
-trailingComments ::
-                 forall f s t a b .
-                   (Lens.Labels.HasLens f s t "trailingComments" a b) =>
-                   Lens.Family2.LensLike f s t a b
-trailingComments
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "trailingComments")
-type' ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "type'" a b) =>
-        Lens.Family2.LensLike f s t a b
-type'
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "type'")
-typeName ::
-         forall f s t a b . (Lens.Labels.HasLens f s t "typeName" a b) =>
-           Lens.Family2.LensLike f s t a b
-typeName
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeName")
-uninterpretedOption ::
-                    forall f s t a b .
-                      (Lens.Labels.HasLens f s t "uninterpretedOption" a b) =>
-                      Lens.Family2.LensLike f s t a b
-uninterpretedOption
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) ::
-         (Lens.Labels.Proxy#) "uninterpretedOption")
-value ::
-      forall f s t a b . (Lens.Labels.HasLens f s t "value" a b) =>
-        Lens.Family2.LensLike f s t a b
-value
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")
-weak ::
-     forall f s t a b . (Lens.Labels.HasLens f s t "weak" a b) =>
-       Lens.Family2.LensLike f s t a b
-weak
-  = Lens.Labels.lensOf
-      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weak")
-weakDependency ::
-               forall f s t a b .
-                 (Lens.Labels.HasLens f s t "weakDependency" a b) =>
-                 Lens.Family2.LensLike f s t a b
-weakDependency
-  = Lens.Labels.lensOf
+import qualified Data.Text
+import qualified Data.Map
+import qualified Data.ByteString
+import qualified Data.ByteString.Char8
+import qualified Lens.Labels
+import qualified Text.Read
+
+aggregateValue ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "aggregateValue" a) =>
+                 Lens.Family2.LensLike' f s a
+aggregateValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "aggregateValue")
+allowAlias ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "allowAlias" a) =>
+             Lens.Family2.LensLike' f s a
+allowAlias
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "allowAlias")
+annotation ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "annotation" a) =>
+             Lens.Family2.LensLike' f s a
+annotation
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "annotation")
+begin ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "begin" a) =>
+        Lens.Family2.LensLike' f s a
+begin
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "begin")
+ccEnableArenas ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "ccEnableArenas" a) =>
+                 Lens.Family2.LensLike' f s a
+ccEnableArenas
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccEnableArenas")
+ccGenericServices ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "ccGenericServices" a) =>
+                    Lens.Family2.LensLike' f s a
+ccGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ccGenericServices")
+clientStreaming ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "clientStreaming" a) =>
+                  Lens.Family2.LensLike' f s a
+clientStreaming
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "clientStreaming")
+csharpNamespace ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "csharpNamespace" a) =>
+                  Lens.Family2.LensLike' f s a
+csharpNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "csharpNamespace")
+ctype ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "ctype" a) =>
+        Lens.Family2.LensLike' f s a
+ctype
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "ctype")
+defaultValue ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "defaultValue" a) =>
+               Lens.Family2.LensLike' f s a
+defaultValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "defaultValue")
+dependency ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "dependency" a) =>
+             Lens.Family2.LensLike' f s a
+dependency
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "dependency")
+deprecated ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "deprecated" a) =>
+             Lens.Family2.LensLike' f s a
+deprecated
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "deprecated")
+doubleValue ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "doubleValue" a) =>
+              Lens.Family2.LensLike' f s a
+doubleValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "doubleValue")
+end ::
+    forall f s a .
+      (Prelude.Functor f, Lens.Labels.HasLens' s "end" a) =>
+      Lens.Family2.LensLike' f s a
+end
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "end")
+enumType ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "enumType" a) =>
+           Lens.Family2.LensLike' f s a
+enumType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "enumType")
+extendee ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "extendee" a) =>
+           Lens.Family2.LensLike' f s a
+extendee
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extendee")
+extension ::
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "extension" a) =>
+            Lens.Family2.LensLike' f s a
+extension
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extension")
+extensionRange ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "extensionRange" a) =>
+                 Lens.Family2.LensLike' f s a
+extensionRange
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "extensionRange")
+field ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "field" a) =>
+        Lens.Family2.LensLike' f s a
+field
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "field")
+file ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "file" a) =>
+       Lens.Family2.LensLike' f s a
+file
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "file")
+goPackage ::
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "goPackage" a) =>
+            Lens.Family2.LensLike' f s a
+goPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "goPackage")
+idempotencyLevel ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "idempotencyLevel" a) =>
+                   Lens.Family2.LensLike' f s a
+idempotencyLevel
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "idempotencyLevel")
+identifierValue ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "identifierValue" a) =>
+                  Lens.Family2.LensLike' f s a
+identifierValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "identifierValue")
+inputType ::
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "inputType" a) =>
+            Lens.Family2.LensLike' f s a
+inputType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "inputType")
+isExtension ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "isExtension" a) =>
+              Lens.Family2.LensLike' f s a
+isExtension
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "isExtension")
+javaGenerateEqualsAndHash ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Lens.Labels.HasLens' s "javaGenerateEqualsAndHash" a) =>
+                            Lens.Family2.LensLike' f s a
+javaGenerateEqualsAndHash
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "javaGenerateEqualsAndHash")
+javaGenericServices ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Lens.Labels.HasLens' s "javaGenericServices" a) =>
+                      Lens.Family2.LensLike' f s a
+javaGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "javaGenericServices")
+javaMultipleFiles ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "javaMultipleFiles" a) =>
+                    Lens.Family2.LensLike' f s a
+javaMultipleFiles
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaMultipleFiles")
+javaOuterClassname ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Lens.Labels.HasLens' s "javaOuterClassname" a) =>
+                     Lens.Family2.LensLike' f s a
+javaOuterClassname
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaOuterClassname")
+javaPackage ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "javaPackage" a) =>
+              Lens.Family2.LensLike' f s a
+javaPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "javaPackage")
+javaStringCheckUtf8 ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Lens.Labels.HasLens' s "javaStringCheckUtf8" a) =>
+                      Lens.Family2.LensLike' f s a
+javaStringCheckUtf8
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "javaStringCheckUtf8")
+jsonName ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "jsonName" a) =>
+           Lens.Family2.LensLike' f s a
+jsonName
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jsonName")
+jstype ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "jstype" a) =>
+         Lens.Family2.LensLike' f s a
+jstype
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "jstype")
+label ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "label" a) =>
+        Lens.Family2.LensLike' f s a
+label
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "label")
+lazy ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "lazy" a) =>
+       Lens.Family2.LensLike' f s a
+lazy
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "lazy")
+leadingComments ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "leadingComments" a) =>
+                  Lens.Family2.LensLike' f s a
+leadingComments
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "leadingComments")
+leadingDetachedComments ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Lens.Labels.HasLens' s "leadingDetachedComments" a) =>
+                          Lens.Family2.LensLike' f s a
+leadingDetachedComments
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "leadingDetachedComments")
+location ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "location" a) =>
+           Lens.Family2.LensLike' f s a
+location
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "location")
+mapEntry ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "mapEntry" a) =>
+           Lens.Family2.LensLike' f s a
+mapEntry
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "mapEntry")
+maybe'aggregateValue ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "maybe'aggregateValue" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'aggregateValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'aggregateValue")
+maybe'allowAlias ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'allowAlias" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'allowAlias
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'allowAlias")
+maybe'begin ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'begin" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'begin
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'begin")
+maybe'ccEnableArenas ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "maybe'ccEnableArenas" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'ccEnableArenas
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'ccEnableArenas")
+maybe'ccGenericServices ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Lens.Labels.HasLens' s "maybe'ccGenericServices" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'ccGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'ccGenericServices")
+maybe'clientStreaming ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'clientStreaming" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'clientStreaming
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'clientStreaming")
+maybe'csharpNamespace ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'csharpNamespace" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'csharpNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'csharpNamespace")
+maybe'ctype ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'ctype" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'ctype
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'ctype")
+maybe'defaultValue ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Lens.Labels.HasLens' s "maybe'defaultValue" a) =>
+                     Lens.Family2.LensLike' f s a
+maybe'defaultValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'defaultValue")
+maybe'deprecated ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'deprecated" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'deprecated
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'deprecated")
+maybe'doubleValue ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'doubleValue" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'doubleValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'doubleValue")
+maybe'end ::
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'end" a) =>
+            Lens.Family2.LensLike' f s a
+maybe'end
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'end")
+maybe'extendee ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'extendee" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'extendee
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'extendee")
+maybe'goPackage ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'goPackage" a) =>
+                  Lens.Family2.LensLike' f s a
+maybe'goPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'goPackage")
+maybe'idempotencyLevel ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Lens.Labels.HasLens' s "maybe'idempotencyLevel" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'idempotencyLevel
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'idempotencyLevel")
+maybe'identifierValue ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'identifierValue" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'identifierValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'identifierValue")
+maybe'inputType ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'inputType" a) =>
+                  Lens.Family2.LensLike' f s a
+maybe'inputType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'inputType")
+maybe'javaGenerateEqualsAndHash ::
+                                forall f s a .
+                                  (Prelude.Functor f,
+                                   Lens.Labels.HasLens' s "maybe'javaGenerateEqualsAndHash" a) =>
+                                  Lens.Family2.LensLike' f s a
+maybe'javaGenerateEqualsAndHash
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'javaGenerateEqualsAndHash")
+maybe'javaGenericServices ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Lens.Labels.HasLens' s "maybe'javaGenericServices" a) =>
+                            Lens.Family2.LensLike' f s a
+maybe'javaGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'javaGenericServices")
+maybe'javaMultipleFiles ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Lens.Labels.HasLens' s "maybe'javaMultipleFiles" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'javaMultipleFiles
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'javaMultipleFiles")
+maybe'javaOuterClassname ::
+                         forall f s a .
+                           (Prelude.Functor f,
+                            Lens.Labels.HasLens' s "maybe'javaOuterClassname" a) =>
+                           Lens.Family2.LensLike' f s a
+maybe'javaOuterClassname
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'javaOuterClassname")
+maybe'javaPackage ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'javaPackage" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'javaPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'javaPackage")
+maybe'javaStringCheckUtf8 ::
+                          forall f s a .
+                            (Prelude.Functor f,
+                             Lens.Labels.HasLens' s "maybe'javaStringCheckUtf8" a) =>
+                            Lens.Family2.LensLike' f s a
+maybe'javaStringCheckUtf8
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'javaStringCheckUtf8")
+maybe'jsonName ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'jsonName" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'jsonName
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jsonName")
+maybe'jstype ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'jstype" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'jstype
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'jstype")
+maybe'label ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'label" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'label
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'label")
+maybe'lazy ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'lazy" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'lazy
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'lazy")
+maybe'leadingComments ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'leadingComments" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'leadingComments
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'leadingComments")
+maybe'mapEntry ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'mapEntry" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'mapEntry
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'mapEntry")
+maybe'messageSetWireFormat ::
+                           forall f s a .
+                             (Prelude.Functor f,
+                              Lens.Labels.HasLens' s "maybe'messageSetWireFormat" a) =>
+                             Lens.Family2.LensLike' f s a
+maybe'messageSetWireFormat
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'messageSetWireFormat")
+maybe'name ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'name" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'name
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'name")
+maybe'negativeIntValue ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Lens.Labels.HasLens' s "maybe'negativeIntValue" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'negativeIntValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'negativeIntValue")
+maybe'noStandardDescriptorAccessor ::
+                                   forall f s a .
+                                     (Prelude.Functor f,
+                                      Lens.Labels.HasLens' s "maybe'noStandardDescriptorAccessor"
+                                        a) =>
+                                     Lens.Family2.LensLike' f s a
+maybe'noStandardDescriptorAccessor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'noStandardDescriptorAccessor")
+maybe'number ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'number" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'number
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'number")
+maybe'objcClassPrefix ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'objcClassPrefix" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'objcClassPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'objcClassPrefix")
+maybe'oneofIndex ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'oneofIndex" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'oneofIndex
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'oneofIndex")
+maybe'optimizeFor ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'optimizeFor" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'optimizeFor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'optimizeFor")
+maybe'options ::
+              forall f s a .
+                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'options" a) =>
+                Lens.Family2.LensLike' f s a
+maybe'options
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'options")
+maybe'outputType ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'outputType" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'outputType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'outputType")
+maybe'package ::
+              forall f s a .
+                (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'package" a) =>
+                Lens.Family2.LensLike' f s a
+maybe'package
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'package")
+maybe'packed ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'packed" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'packed
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'packed")
+maybe'phpClassPrefix ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "maybe'phpClassPrefix" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'phpClassPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'phpClassPrefix")
+maybe'phpGenericServices ::
+                         forall f s a .
+                           (Prelude.Functor f,
+                            Lens.Labels.HasLens' s "maybe'phpGenericServices" a) =>
+                           Lens.Family2.LensLike' f s a
+maybe'phpGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'phpGenericServices")
+maybe'phpMetadataNamespace ::
+                           forall f s a .
+                             (Prelude.Functor f,
+                              Lens.Labels.HasLens' s "maybe'phpMetadataNamespace" a) =>
+                             Lens.Family2.LensLike' f s a
+maybe'phpMetadataNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'phpMetadataNamespace")
+maybe'phpNamespace ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Lens.Labels.HasLens' s "maybe'phpNamespace" a) =>
+                     Lens.Family2.LensLike' f s a
+maybe'phpNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'phpNamespace")
+maybe'positiveIntValue ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Lens.Labels.HasLens' s "maybe'positiveIntValue" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'positiveIntValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'positiveIntValue")
+maybe'pyGenericServices ::
+                        forall f s a .
+                          (Prelude.Functor f,
+                           Lens.Labels.HasLens' s "maybe'pyGenericServices" a) =>
+                          Lens.Family2.LensLike' f s a
+maybe'pyGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'pyGenericServices")
+maybe'rubyPackage ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'rubyPackage" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'rubyPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'rubyPackage")
+maybe'serverStreaming ::
+                      forall f s a .
+                        (Prelude.Functor f,
+                         Lens.Labels.HasLens' s "maybe'serverStreaming" a) =>
+                        Lens.Family2.LensLike' f s a
+maybe'serverStreaming
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'serverStreaming")
+maybe'sourceCodeInfo ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "maybe'sourceCodeInfo" a) =>
+                       Lens.Family2.LensLike' f s a
+maybe'sourceCodeInfo
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'sourceCodeInfo")
+maybe'sourceFile ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'sourceFile" a) =>
+                   Lens.Family2.LensLike' f s a
+maybe'sourceFile
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'sourceFile")
+maybe'start ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'start" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'start
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'start")
+maybe'stringValue ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'stringValue" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'stringValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'stringValue")
+maybe'swiftPrefix ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "maybe'swiftPrefix" a) =>
+                    Lens.Family2.LensLike' f s a
+maybe'swiftPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'swiftPrefix")
+maybe'syntax ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'syntax" a) =>
+               Lens.Family2.LensLike' f s a
+maybe'syntax
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'syntax")
+maybe'trailingComments ::
+                       forall f s a .
+                         (Prelude.Functor f,
+                          Lens.Labels.HasLens' s "maybe'trailingComments" a) =>
+                         Lens.Family2.LensLike' f s a
+maybe'trailingComments
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "maybe'trailingComments")
+maybe'type' ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'type'" a) =>
+              Lens.Family2.LensLike' f s a
+maybe'type'
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'type'")
+maybe'typeName ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'typeName" a) =>
+                 Lens.Family2.LensLike' f s a
+maybe'typeName
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'typeName")
+maybe'weak ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "maybe'weak" a) =>
+             Lens.Family2.LensLike' f s a
+maybe'weak
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "maybe'weak")
+messageSetWireFormat ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "messageSetWireFormat" a) =>
+                       Lens.Family2.LensLike' f s a
+messageSetWireFormat
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "messageSetWireFormat")
+messageType ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "messageType" a) =>
+              Lens.Family2.LensLike' f s a
+messageType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "messageType")
+method ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "method" a) =>
+         Lens.Family2.LensLike' f s a
+method
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "method")
+name ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "name" a) =>
+       Lens.Family2.LensLike' f s a
+name
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "name")
+namePart ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "namePart" a) =>
+           Lens.Family2.LensLike' f s a
+namePart
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "namePart")
+negativeIntValue ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "negativeIntValue" a) =>
+                   Lens.Family2.LensLike' f s a
+negativeIntValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "negativeIntValue")
+nestedType ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "nestedType" a) =>
+             Lens.Family2.LensLike' f s a
+nestedType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "nestedType")
+noStandardDescriptorAccessor ::
+                             forall f s a .
+                               (Prelude.Functor f,
+                                Lens.Labels.HasLens' s "noStandardDescriptorAccessor" a) =>
+                               Lens.Family2.LensLike' f s a
+noStandardDescriptorAccessor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "noStandardDescriptorAccessor")
+number ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "number" a) =>
+         Lens.Family2.LensLike' f s a
+number
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "number")
+objcClassPrefix ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "objcClassPrefix" a) =>
+                  Lens.Family2.LensLike' f s a
+objcClassPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "objcClassPrefix")
+oneofDecl ::
+          forall f s a .
+            (Prelude.Functor f, Lens.Labels.HasLens' s "oneofDecl" a) =>
+            Lens.Family2.LensLike' f s a
+oneofDecl
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofDecl")
+oneofIndex ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "oneofIndex" a) =>
+             Lens.Family2.LensLike' f s a
+oneofIndex
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "oneofIndex")
+optimizeFor ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "optimizeFor" a) =>
+              Lens.Family2.LensLike' f s a
+optimizeFor
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "optimizeFor")
+options ::
+        forall f s a .
+          (Prelude.Functor f, Lens.Labels.HasLens' s "options" a) =>
+          Lens.Family2.LensLike' f s a
+options
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "options")
+outputType ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "outputType" a) =>
+             Lens.Family2.LensLike' f s a
+outputType
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "outputType")
+package ::
+        forall f s a .
+          (Prelude.Functor f, Lens.Labels.HasLens' s "package" a) =>
+          Lens.Family2.LensLike' f s a
+package
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "package")
+packed ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "packed" a) =>
+         Lens.Family2.LensLike' f s a
+packed
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "packed")
+path ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "path" a) =>
+       Lens.Family2.LensLike' f s a
+path
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "path")
+phpClassPrefix ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "phpClassPrefix" a) =>
+                 Lens.Family2.LensLike' f s a
+phpClassPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpClassPrefix")
+phpGenericServices ::
+                   forall f s a .
+                     (Prelude.Functor f,
+                      Lens.Labels.HasLens' s "phpGenericServices" a) =>
+                     Lens.Family2.LensLike' f s a
+phpGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpGenericServices")
+phpMetadataNamespace ::
+                     forall f s a .
+                       (Prelude.Functor f,
+                        Lens.Labels.HasLens' s "phpMetadataNamespace" a) =>
+                       Lens.Family2.LensLike' f s a
+phpMetadataNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "phpMetadataNamespace")
+phpNamespace ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "phpNamespace" a) =>
+               Lens.Family2.LensLike' f s a
+phpNamespace
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "phpNamespace")
+positiveIntValue ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "positiveIntValue" a) =>
+                   Lens.Family2.LensLike' f s a
+positiveIntValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "positiveIntValue")
+publicDependency ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "publicDependency" a) =>
+                   Lens.Family2.LensLike' f s a
+publicDependency
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "publicDependency")
+pyGenericServices ::
+                  forall f s a .
+                    (Prelude.Functor f,
+                     Lens.Labels.HasLens' s "pyGenericServices" a) =>
+                    Lens.Family2.LensLike' f s a
+pyGenericServices
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "pyGenericServices")
+reservedName ::
+             forall f s a .
+               (Prelude.Functor f, Lens.Labels.HasLens' s "reservedName" a) =>
+               Lens.Family2.LensLike' f s a
+reservedName
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedName")
+reservedRange ::
+              forall f s a .
+                (Prelude.Functor f, Lens.Labels.HasLens' s "reservedRange" a) =>
+                Lens.Family2.LensLike' f s a
+reservedRange
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "reservedRange")
+rubyPackage ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "rubyPackage" a) =>
+              Lens.Family2.LensLike' f s a
+rubyPackage
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "rubyPackage")
+serverStreaming ::
+                forall f s a .
+                  (Prelude.Functor f, Lens.Labels.HasLens' s "serverStreaming" a) =>
+                  Lens.Family2.LensLike' f s a
+serverStreaming
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "serverStreaming")
+service ::
+        forall f s a .
+          (Prelude.Functor f, Lens.Labels.HasLens' s "service" a) =>
+          Lens.Family2.LensLike' f s a
+service
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "service")
+sourceCodeInfo ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "sourceCodeInfo" a) =>
+                 Lens.Family2.LensLike' f s a
+sourceCodeInfo
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceCodeInfo")
+sourceFile ::
+           forall f s a .
+             (Prelude.Functor f, Lens.Labels.HasLens' s "sourceFile" a) =>
+             Lens.Family2.LensLike' f s a
+sourceFile
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "sourceFile")
+span ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "span" a) =>
+       Lens.Family2.LensLike' f s a
+span
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "span")
+start ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "start" a) =>
+        Lens.Family2.LensLike' f s a
+start
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "start")
+stringValue ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "stringValue" a) =>
+              Lens.Family2.LensLike' f s a
+stringValue
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "stringValue")
+swiftPrefix ::
+            forall f s a .
+              (Prelude.Functor f, Lens.Labels.HasLens' s "swiftPrefix" a) =>
+              Lens.Family2.LensLike' f s a
+swiftPrefix
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "swiftPrefix")
+syntax ::
+       forall f s a .
+         (Prelude.Functor f, Lens.Labels.HasLens' s "syntax" a) =>
+         Lens.Family2.LensLike' f s a
+syntax
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "syntax")
+trailingComments ::
+                 forall f s a .
+                   (Prelude.Functor f, Lens.Labels.HasLens' s "trailingComments" a) =>
+                   Lens.Family2.LensLike' f s a
+trailingComments
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "trailingComments")
+type' ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "type'" a) =>
+        Lens.Family2.LensLike' f s a
+type'
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "type'")
+typeName ::
+         forall f s a .
+           (Prelude.Functor f, Lens.Labels.HasLens' s "typeName" a) =>
+           Lens.Family2.LensLike' f s a
+typeName
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "typeName")
+uninterpretedOption ::
+                    forall f s a .
+                      (Prelude.Functor f,
+                       Lens.Labels.HasLens' s "uninterpretedOption" a) =>
+                      Lens.Family2.LensLike' f s a
+uninterpretedOption
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) ::
+         (Lens.Labels.Proxy#) "uninterpretedOption")
+value ::
+      forall f s a .
+        (Prelude.Functor f, Lens.Labels.HasLens' s "value" a) =>
+        Lens.Family2.LensLike' f s a
+value
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "value")
+weak ::
+     forall f s a .
+       (Prelude.Functor f, Lens.Labels.HasLens' s "weak" a) =>
+       Lens.Family2.LensLike' f s a
+weak
+  = Lens.Labels.lensOf'
+      ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weak")
+weakDependency ::
+               forall f s a .
+                 (Prelude.Functor f, Lens.Labels.HasLens' s "weakDependency" a) =>
+                 Lens.Family2.LensLike' f s a
+weakDependency
+  = Lens.Labels.lensOf'
       ((Lens.Labels.proxy#) :: (Lens.Labels.Proxy#) "weakDependency")
