{- This file was auto-generated from tensorflow/core/protobuf/config.proto by the proto-lens-protoc program. -}
{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies,
  MultiParamTypeClasses, FlexibleContexts, FlexibleInstances,
  PatternSynonyms #-}
{-# OPTIONS_GHC -fno-warn-unused-imports#-}
module Proto.Tensorflow.Core.Protobuf.Config where
import qualified Prelude
import qualified Data.Int
import qualified Data.Word
import qualified Data.ProtoLens.Reexport.Data.ProtoLens
       as Data.ProtoLens
import qualified
       Data.ProtoLens.Reexport.Data.ProtoLens.Message.Enum
       as Data.ProtoLens.Message.Enum
import qualified Data.ProtoLens.Reexport.Lens.Family2
       as Lens.Family2
import qualified Data.ProtoLens.Reexport.Lens.Family2.Unchecked
       as Lens.Family2.Unchecked
import qualified Data.ProtoLens.Reexport.Data.Default.Class
       as Data.Default.Class
import qualified Data.ProtoLens.Reexport.Data.Text as Data.Text
import qualified Data.ProtoLens.Reexport.Data.Map as Data.Map
import qualified Data.ProtoLens.Reexport.Data.ByteString
       as Data.ByteString
import qualified Proto.Tensorflow.Core.Framework.CostGraph
import qualified Proto.Tensorflow.Core.Framework.Graph
import qualified Proto.Tensorflow.Core.Framework.StepStats

data ConfigProto = ConfigProto{_ConfigProto'deviceCount ::
                               Data.Map.Map Data.Text.Text Data.Int.Int32,
                               _ConfigProto'intraOpParallelismThreads :: Data.Int.Int32,
                               _ConfigProto'interOpParallelismThreads :: Data.Int.Int32,
                               _ConfigProto'usePerSessionThreads :: Prelude.Bool,
                               _ConfigProto'sessionInterOpThreadPool :: [ThreadPoolOptionProto],
                               _ConfigProto'placementPeriod :: Data.Int.Int32,
                               _ConfigProto'deviceFilters :: [Data.Text.Text],
                               _ConfigProto'gpuOptions :: Prelude.Maybe GPUOptions,
                               _ConfigProto'allowSoftPlacement :: Prelude.Bool,
                               _ConfigProto'logDevicePlacement :: Prelude.Bool,
                               _ConfigProto'graphOptions :: Prelude.Maybe GraphOptions,
                               _ConfigProto'operationTimeoutInMs :: Data.Int.Int64}
                 deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "deviceCount" ConfigProto =
     Data.Map.Map Data.Text.Text Data.Int.Int32

instance Data.ProtoLens.HasField "deviceCount" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'deviceCount
              (\ x__ y__ -> x__{_ConfigProto'deviceCount = y__})

type instance
     Data.ProtoLens.Field "intraOpParallelismThreads" ConfigProto =
     Data.Int.Int32

instance Data.ProtoLens.HasField "intraOpParallelismThreads"
         ConfigProto ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens
              _ConfigProto'intraOpParallelismThreads
              (\ x__ y__ -> x__{_ConfigProto'intraOpParallelismThreads = y__})

type instance
     Data.ProtoLens.Field "interOpParallelismThreads" ConfigProto =
     Data.Int.Int32

instance Data.ProtoLens.HasField "interOpParallelismThreads"
         ConfigProto ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens
              _ConfigProto'interOpParallelismThreads
              (\ x__ y__ -> x__{_ConfigProto'interOpParallelismThreads = y__})

type instance
     Data.ProtoLens.Field "usePerSessionThreads" ConfigProto =
     Prelude.Bool

instance Data.ProtoLens.HasField "usePerSessionThreads" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'usePerSessionThreads
              (\ x__ y__ -> x__{_ConfigProto'usePerSessionThreads = y__})

type instance
     Data.ProtoLens.Field "sessionInterOpThreadPool" ConfigProto =
     [ThreadPoolOptionProto]

instance Data.ProtoLens.HasField "sessionInterOpThreadPool"
         ConfigProto ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'sessionInterOpThreadPool
              (\ x__ y__ -> x__{_ConfigProto'sessionInterOpThreadPool = y__})

type instance Data.ProtoLens.Field "placementPeriod" ConfigProto =
     Data.Int.Int32

instance Data.ProtoLens.HasField "placementPeriod" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'placementPeriod
              (\ x__ y__ -> x__{_ConfigProto'placementPeriod = y__})

type instance Data.ProtoLens.Field "deviceFilters" ConfigProto =
     [Data.Text.Text]

instance Data.ProtoLens.HasField "deviceFilters" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'deviceFilters
              (\ x__ y__ -> x__{_ConfigProto'deviceFilters = y__})

type instance Data.ProtoLens.Field "gpuOptions" ConfigProto =
     GPUOptions

instance Data.ProtoLens.HasField "gpuOptions" ConfigProto
         ConfigProto where
        field _
          = (Prelude..) maybe'gpuOptions
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance Data.ProtoLens.Field "maybe'gpuOptions" ConfigProto =
     Prelude.Maybe GPUOptions

instance Data.ProtoLens.HasField "maybe'gpuOptions" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'gpuOptions
              (\ x__ y__ -> x__{_ConfigProto'gpuOptions = y__})

type instance Data.ProtoLens.Field "allowSoftPlacement" ConfigProto
     = Prelude.Bool

instance Data.ProtoLens.HasField "allowSoftPlacement" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'allowSoftPlacement
              (\ x__ y__ -> x__{_ConfigProto'allowSoftPlacement = y__})

type instance Data.ProtoLens.Field "logDevicePlacement" ConfigProto
     = Prelude.Bool

instance Data.ProtoLens.HasField "logDevicePlacement" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'logDevicePlacement
              (\ x__ y__ -> x__{_ConfigProto'logDevicePlacement = y__})

type instance Data.ProtoLens.Field "graphOptions" ConfigProto =
     GraphOptions

instance Data.ProtoLens.HasField "graphOptions" ConfigProto
         ConfigProto where
        field _
          = (Prelude..) maybe'graphOptions
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance Data.ProtoLens.Field "maybe'graphOptions" ConfigProto
     = Prelude.Maybe GraphOptions

instance Data.ProtoLens.HasField "maybe'graphOptions" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'graphOptions
              (\ x__ y__ -> x__{_ConfigProto'graphOptions = y__})

type instance
     Data.ProtoLens.Field "operationTimeoutInMs" ConfigProto =
     Data.Int.Int64

instance Data.ProtoLens.HasField "operationTimeoutInMs" ConfigProto
         ConfigProto where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'operationTimeoutInMs
              (\ x__ y__ -> x__{_ConfigProto'operationTimeoutInMs = y__})

instance Data.Default.Class.Default ConfigProto where
        def
          = ConfigProto{_ConfigProto'deviceCount = Data.Map.empty,
                        _ConfigProto'intraOpParallelismThreads =
                          Data.ProtoLens.fieldDefault,
                        _ConfigProto'interOpParallelismThreads =
                          Data.ProtoLens.fieldDefault,
                        _ConfigProto'usePerSessionThreads = Data.ProtoLens.fieldDefault,
                        _ConfigProto'sessionInterOpThreadPool = [],
                        _ConfigProto'placementPeriod = Data.ProtoLens.fieldDefault,
                        _ConfigProto'deviceFilters = [],
                        _ConfigProto'gpuOptions = Prelude.Nothing,
                        _ConfigProto'allowSoftPlacement = Data.ProtoLens.fieldDefault,
                        _ConfigProto'logDevicePlacement = Data.ProtoLens.fieldDefault,
                        _ConfigProto'graphOptions = Prelude.Nothing,
                        _ConfigProto'operationTimeoutInMs = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message ConfigProto where
        descriptor
          = let deviceCount__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "device_count"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor ConfigProto'DeviceCountEntry)
                      (Data.ProtoLens.MapField key value deviceCount)
                intraOpParallelismThreads__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "intra_op_parallelism_threads"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         intraOpParallelismThreads)
                interOpParallelismThreads__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "inter_op_parallelism_threads"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         interOpParallelismThreads)
                usePerSessionThreads__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "use_per_session_threads"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         usePerSessionThreads)
                sessionInterOpThreadPool__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "session_inter_op_thread_pool"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor ThreadPoolOptionProto)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
                         sessionInterOpThreadPool)
                placementPeriod__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "placement_period"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional placementPeriod)
                deviceFilters__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "device_filters"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
                         deviceFilters)
                gpuOptions__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "gpu_options"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor GPUOptions)
                      (Data.ProtoLens.OptionalField maybe'gpuOptions)
                allowSoftPlacement__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allow_soft_placement"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         allowSoftPlacement)
                logDevicePlacement__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "log_device_placement"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         logDevicePlacement)
                graphOptions__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "graph_options"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor GraphOptions)
                      (Data.ProtoLens.OptionalField maybe'graphOptions)
                operationTimeoutInMs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "operation_timeout_in_ms"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         operationTimeoutInMs)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, deviceCount__field_descriptor),
                    (Data.ProtoLens.Tag 2,
                     intraOpParallelismThreads__field_descriptor),
                    (Data.ProtoLens.Tag 5,
                     interOpParallelismThreads__field_descriptor),
                    (Data.ProtoLens.Tag 9, usePerSessionThreads__field_descriptor),
                    (Data.ProtoLens.Tag 12,
                     sessionInterOpThreadPool__field_descriptor),
                    (Data.ProtoLens.Tag 3, placementPeriod__field_descriptor),
                    (Data.ProtoLens.Tag 4, deviceFilters__field_descriptor),
                    (Data.ProtoLens.Tag 6, gpuOptions__field_descriptor),
                    (Data.ProtoLens.Tag 7, allowSoftPlacement__field_descriptor),
                    (Data.ProtoLens.Tag 8, logDevicePlacement__field_descriptor),
                    (Data.ProtoLens.Tag 10, graphOptions__field_descriptor),
                    (Data.ProtoLens.Tag 11, operationTimeoutInMs__field_descriptor)])
                (Data.Map.fromList
                   [("device_count", deviceCount__field_descriptor),
                    ("intra_op_parallelism_threads",
                     intraOpParallelismThreads__field_descriptor),
                    ("inter_op_parallelism_threads",
                     interOpParallelismThreads__field_descriptor),
                    ("use_per_session_threads",
                     usePerSessionThreads__field_descriptor),
                    ("session_inter_op_thread_pool",
                     sessionInterOpThreadPool__field_descriptor),
                    ("placement_period", placementPeriod__field_descriptor),
                    ("device_filters", deviceFilters__field_descriptor),
                    ("gpu_options", gpuOptions__field_descriptor),
                    ("allow_soft_placement", allowSoftPlacement__field_descriptor),
                    ("log_device_placement", logDevicePlacement__field_descriptor),
                    ("graph_options", graphOptions__field_descriptor),
                    ("operation_timeout_in_ms",
                     operationTimeoutInMs__field_descriptor)])

data ConfigProto'DeviceCountEntry = ConfigProto'DeviceCountEntry{_ConfigProto'DeviceCountEntry'key
                                                                 :: Data.Text.Text,
                                                                 _ConfigProto'DeviceCountEntry'value
                                                                 :: Data.Int.Int32}
                                  deriving (Prelude.Show, Prelude.Eq)

type instance
     Data.ProtoLens.Field "key" ConfigProto'DeviceCountEntry =
     Data.Text.Text

instance Data.ProtoLens.HasField "key" ConfigProto'DeviceCountEntry
         ConfigProto'DeviceCountEntry where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'DeviceCountEntry'key
              (\ x__ y__ -> x__{_ConfigProto'DeviceCountEntry'key = y__})

type instance
     Data.ProtoLens.Field "value" ConfigProto'DeviceCountEntry =
     Data.Int.Int32

instance Data.ProtoLens.HasField "value"
         ConfigProto'DeviceCountEntry ConfigProto'DeviceCountEntry where
        field _
          = Lens.Family2.Unchecked.lens _ConfigProto'DeviceCountEntry'value
              (\ x__ y__ -> x__{_ConfigProto'DeviceCountEntry'value = y__})

instance Data.Default.Class.Default ConfigProto'DeviceCountEntry
         where
        def
          = ConfigProto'DeviceCountEntry{_ConfigProto'DeviceCountEntry'key =
                                           Data.ProtoLens.fieldDefault,
                                         _ConfigProto'DeviceCountEntry'value =
                                           Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message ConfigProto'DeviceCountEntry where
        descriptor
          = let key__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "key"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional key)
                value__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "value"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional value)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, key__field_descriptor),
                    (Data.ProtoLens.Tag 2, value__field_descriptor)])
                (Data.Map.fromList
                   [("key", key__field_descriptor),
                    ("value", value__field_descriptor)])

data DebugTensorWatch = DebugTensorWatch{_DebugTensorWatch'nodeName
                                         :: Data.Text.Text,
                                         _DebugTensorWatch'outputSlot :: Data.Int.Int32,
                                         _DebugTensorWatch'debugOps :: [Data.Text.Text],
                                         _DebugTensorWatch'debugUrls :: [Data.Text.Text]}
                      deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "nodeName" DebugTensorWatch =
     Data.Text.Text

instance Data.ProtoLens.HasField "nodeName" DebugTensorWatch
         DebugTensorWatch where
        field _
          = Lens.Family2.Unchecked.lens _DebugTensorWatch'nodeName
              (\ x__ y__ -> x__{_DebugTensorWatch'nodeName = y__})

type instance Data.ProtoLens.Field "outputSlot" DebugTensorWatch =
     Data.Int.Int32

instance Data.ProtoLens.HasField "outputSlot" DebugTensorWatch
         DebugTensorWatch where
        field _
          = Lens.Family2.Unchecked.lens _DebugTensorWatch'outputSlot
              (\ x__ y__ -> x__{_DebugTensorWatch'outputSlot = y__})

type instance Data.ProtoLens.Field "debugOps" DebugTensorWatch =
     [Data.Text.Text]

instance Data.ProtoLens.HasField "debugOps" DebugTensorWatch
         DebugTensorWatch where
        field _
          = Lens.Family2.Unchecked.lens _DebugTensorWatch'debugOps
              (\ x__ y__ -> x__{_DebugTensorWatch'debugOps = y__})

type instance Data.ProtoLens.Field "debugUrls" DebugTensorWatch =
     [Data.Text.Text]

instance Data.ProtoLens.HasField "debugUrls" DebugTensorWatch
         DebugTensorWatch where
        field _
          = Lens.Family2.Unchecked.lens _DebugTensorWatch'debugUrls
              (\ x__ y__ -> x__{_DebugTensorWatch'debugUrls = y__})

instance Data.Default.Class.Default DebugTensorWatch where
        def
          = DebugTensorWatch{_DebugTensorWatch'nodeName =
                               Data.ProtoLens.fieldDefault,
                             _DebugTensorWatch'outputSlot = Data.ProtoLens.fieldDefault,
                             _DebugTensorWatch'debugOps = [], _DebugTensorWatch'debugUrls = []}

instance Data.ProtoLens.Message DebugTensorWatch where
        descriptor
          = let nodeName__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "node_name"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional nodeName)
                outputSlot__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "output_slot"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional outputSlot)
                debugOps__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "debug_ops"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked debugOps)
                debugUrls__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "debug_urls"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked debugUrls)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, nodeName__field_descriptor),
                    (Data.ProtoLens.Tag 2, outputSlot__field_descriptor),
                    (Data.ProtoLens.Tag 3, debugOps__field_descriptor),
                    (Data.ProtoLens.Tag 4, debugUrls__field_descriptor)])
                (Data.Map.fromList
                   [("node_name", nodeName__field_descriptor),
                    ("output_slot", outputSlot__field_descriptor),
                    ("debug_ops", debugOps__field_descriptor),
                    ("debug_urls", debugUrls__field_descriptor)])

data GPUOptions = GPUOptions{_GPUOptions'perProcessGpuMemoryFraction
                             :: Prelude.Double,
                             _GPUOptions'allocatorType :: Data.Text.Text,
                             _GPUOptions'deferredDeletionBytes :: Data.Int.Int64,
                             _GPUOptions'allowGrowth :: Prelude.Bool,
                             _GPUOptions'visibleDeviceList :: Data.Text.Text}
                deriving (Prelude.Show, Prelude.Eq)

type instance
     Data.ProtoLens.Field "perProcessGpuMemoryFraction" GPUOptions =
     Prelude.Double

instance Data.ProtoLens.HasField "perProcessGpuMemoryFraction"
         GPUOptions GPUOptions where
        field _
          = Lens.Family2.Unchecked.lens
              _GPUOptions'perProcessGpuMemoryFraction
              (\ x__ y__ -> x__{_GPUOptions'perProcessGpuMemoryFraction = y__})

type instance Data.ProtoLens.Field "allocatorType" GPUOptions =
     Data.Text.Text

instance Data.ProtoLens.HasField "allocatorType" GPUOptions
         GPUOptions where
        field _
          = Lens.Family2.Unchecked.lens _GPUOptions'allocatorType
              (\ x__ y__ -> x__{_GPUOptions'allocatorType = y__})

type instance
     Data.ProtoLens.Field "deferredDeletionBytes" GPUOptions =
     Data.Int.Int64

instance Data.ProtoLens.HasField "deferredDeletionBytes" GPUOptions
         GPUOptions where
        field _
          = Lens.Family2.Unchecked.lens _GPUOptions'deferredDeletionBytes
              (\ x__ y__ -> x__{_GPUOptions'deferredDeletionBytes = y__})

type instance Data.ProtoLens.Field "allowGrowth" GPUOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "allowGrowth" GPUOptions
         GPUOptions where
        field _
          = Lens.Family2.Unchecked.lens _GPUOptions'allowGrowth
              (\ x__ y__ -> x__{_GPUOptions'allowGrowth = y__})

type instance Data.ProtoLens.Field "visibleDeviceList" GPUOptions =
     Data.Text.Text

instance Data.ProtoLens.HasField "visibleDeviceList" GPUOptions
         GPUOptions where
        field _
          = Lens.Family2.Unchecked.lens _GPUOptions'visibleDeviceList
              (\ x__ y__ -> x__{_GPUOptions'visibleDeviceList = y__})

instance Data.Default.Class.Default GPUOptions where
        def
          = GPUOptions{_GPUOptions'perProcessGpuMemoryFraction =
                         Data.ProtoLens.fieldDefault,
                       _GPUOptions'allocatorType = Data.ProtoLens.fieldDefault,
                       _GPUOptions'deferredDeletionBytes = Data.ProtoLens.fieldDefault,
                       _GPUOptions'allowGrowth = Data.ProtoLens.fieldDefault,
                       _GPUOptions'visibleDeviceList = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message GPUOptions where
        descriptor
          = let perProcessGpuMemoryFraction__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "per_process_gpu_memory_fraction"
                      (Data.ProtoLens.DoubleField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         perProcessGpuMemoryFraction)
                allocatorType__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allocator_type"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allocatorType)
                deferredDeletionBytes__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "deferred_deletion_bytes"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         deferredDeletionBytes)
                allowGrowth__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "allow_growth"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional allowGrowth)
                visibleDeviceList__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "visible_device_list"
                      (Data.ProtoLens.StringField ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         visibleDeviceList)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1,
                     perProcessGpuMemoryFraction__field_descriptor),
                    (Data.ProtoLens.Tag 2, allocatorType__field_descriptor),
                    (Data.ProtoLens.Tag 3, deferredDeletionBytes__field_descriptor),
                    (Data.ProtoLens.Tag 4, allowGrowth__field_descriptor),
                    (Data.ProtoLens.Tag 5, visibleDeviceList__field_descriptor)])
                (Data.Map.fromList
                   [("per_process_gpu_memory_fraction",
                     perProcessGpuMemoryFraction__field_descriptor),
                    ("allocator_type", allocatorType__field_descriptor),
                    ("deferred_deletion_bytes",
                     deferredDeletionBytes__field_descriptor),
                    ("allow_growth", allowGrowth__field_descriptor),
                    ("visible_device_list", visibleDeviceList__field_descriptor)])

data GraphOptions = GraphOptions{_GraphOptions'enableRecvScheduling
                                 :: Prelude.Bool,
                                 _GraphOptions'optimizerOptions :: Prelude.Maybe OptimizerOptions,
                                 _GraphOptions'buildCostModel :: Data.Int.Int64,
                                 _GraphOptions'buildCostModelAfter :: Data.Int.Int64,
                                 _GraphOptions'inferShapes :: Prelude.Bool,
                                 _GraphOptions'placePrunedGraph :: Prelude.Bool,
                                 _GraphOptions'enableBfloat16Sendrecv :: Prelude.Bool,
                                 _GraphOptions'timelineStep :: Data.Int.Int32}
                  deriving (Prelude.Show, Prelude.Eq)

type instance
     Data.ProtoLens.Field "enableRecvScheduling" GraphOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "enableRecvScheduling"
         GraphOptions GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'enableRecvScheduling
              (\ x__ y__ -> x__{_GraphOptions'enableRecvScheduling = y__})

type instance Data.ProtoLens.Field "optimizerOptions" GraphOptions
     = OptimizerOptions

instance Data.ProtoLens.HasField "optimizerOptions" GraphOptions
         GraphOptions where
        field _
          = (Prelude..) maybe'optimizerOptions
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance
     Data.ProtoLens.Field "maybe'optimizerOptions" GraphOptions =
     Prelude.Maybe OptimizerOptions

instance Data.ProtoLens.HasField "maybe'optimizerOptions"
         GraphOptions GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'optimizerOptions
              (\ x__ y__ -> x__{_GraphOptions'optimizerOptions = y__})

type instance Data.ProtoLens.Field "buildCostModel" GraphOptions =
     Data.Int.Int64

instance Data.ProtoLens.HasField "buildCostModel" GraphOptions
         GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'buildCostModel
              (\ x__ y__ -> x__{_GraphOptions'buildCostModel = y__})

type instance
     Data.ProtoLens.Field "buildCostModelAfter" GraphOptions =
     Data.Int.Int64

instance Data.ProtoLens.HasField "buildCostModelAfter" GraphOptions
         GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'buildCostModelAfter
              (\ x__ y__ -> x__{_GraphOptions'buildCostModelAfter = y__})

type instance Data.ProtoLens.Field "inferShapes" GraphOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "inferShapes" GraphOptions
         GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'inferShapes
              (\ x__ y__ -> x__{_GraphOptions'inferShapes = y__})

type instance Data.ProtoLens.Field "placePrunedGraph" GraphOptions
     = Prelude.Bool

instance Data.ProtoLens.HasField "placePrunedGraph" GraphOptions
         GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'placePrunedGraph
              (\ x__ y__ -> x__{_GraphOptions'placePrunedGraph = y__})

type instance
     Data.ProtoLens.Field "enableBfloat16Sendrecv" GraphOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "enableBfloat16Sendrecv"
         GraphOptions GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'enableBfloat16Sendrecv
              (\ x__ y__ -> x__{_GraphOptions'enableBfloat16Sendrecv = y__})

type instance Data.ProtoLens.Field "timelineStep" GraphOptions =
     Data.Int.Int32

instance Data.ProtoLens.HasField "timelineStep" GraphOptions
         GraphOptions where
        field _
          = Lens.Family2.Unchecked.lens _GraphOptions'timelineStep
              (\ x__ y__ -> x__{_GraphOptions'timelineStep = y__})

instance Data.Default.Class.Default GraphOptions where
        def
          = GraphOptions{_GraphOptions'enableRecvScheduling =
                           Data.ProtoLens.fieldDefault,
                         _GraphOptions'optimizerOptions = Prelude.Nothing,
                         _GraphOptions'buildCostModel = Data.ProtoLens.fieldDefault,
                         _GraphOptions'buildCostModelAfter = Data.ProtoLens.fieldDefault,
                         _GraphOptions'inferShapes = Data.ProtoLens.fieldDefault,
                         _GraphOptions'placePrunedGraph = Data.ProtoLens.fieldDefault,
                         _GraphOptions'enableBfloat16Sendrecv = Data.ProtoLens.fieldDefault,
                         _GraphOptions'timelineStep = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message GraphOptions where
        descriptor
          = let enableRecvScheduling__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "enable_recv_scheduling"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         enableRecvScheduling)
                optimizerOptions__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "optimizer_options"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor OptimizerOptions)
                      (Data.ProtoLens.OptionalField maybe'optimizerOptions)
                buildCostModel__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "build_cost_model"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional buildCostModel)
                buildCostModelAfter__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "build_cost_model_after"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         buildCostModelAfter)
                inferShapes__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "infer_shapes"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional inferShapes)
                placePrunedGraph__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "place_pruned_graph"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         placePrunedGraph)
                enableBfloat16Sendrecv__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "enable_bfloat16_sendrecv"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         enableBfloat16Sendrecv)
                timelineStep__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "timeline_step"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional timelineStep)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 2, enableRecvScheduling__field_descriptor),
                    (Data.ProtoLens.Tag 3, optimizerOptions__field_descriptor),
                    (Data.ProtoLens.Tag 4, buildCostModel__field_descriptor),
                    (Data.ProtoLens.Tag 9, buildCostModelAfter__field_descriptor),
                    (Data.ProtoLens.Tag 5, inferShapes__field_descriptor),
                    (Data.ProtoLens.Tag 6, placePrunedGraph__field_descriptor),
                    (Data.ProtoLens.Tag 7, enableBfloat16Sendrecv__field_descriptor),
                    (Data.ProtoLens.Tag 8, timelineStep__field_descriptor)])
                (Data.Map.fromList
                   [("enable_recv_scheduling",
                     enableRecvScheduling__field_descriptor),
                    ("optimizer_options", optimizerOptions__field_descriptor),
                    ("build_cost_model", buildCostModel__field_descriptor),
                    ("build_cost_model_after", buildCostModelAfter__field_descriptor),
                    ("infer_shapes", inferShapes__field_descriptor),
                    ("place_pruned_graph", placePrunedGraph__field_descriptor),
                    ("enable_bfloat16_sendrecv",
                     enableBfloat16Sendrecv__field_descriptor),
                    ("timeline_step", timelineStep__field_descriptor)])

data OptimizerOptions = OptimizerOptions{_OptimizerOptions'doCommonSubexpressionElimination
                                         :: Prelude.Bool,
                                         _OptimizerOptions'doConstantFolding :: Prelude.Bool,
                                         _OptimizerOptions'doFunctionInlining :: Prelude.Bool,
                                         _OptimizerOptions'optLevel :: OptimizerOptions'Level}
                      deriving (Prelude.Show, Prelude.Eq)

type instance
     Data.ProtoLens.Field "doCommonSubexpressionElimination"
       OptimizerOptions
     = Prelude.Bool

instance Data.ProtoLens.HasField "doCommonSubexpressionElimination"
         OptimizerOptions OptimizerOptions where
        field _
          = Lens.Family2.Unchecked.lens
              _OptimizerOptions'doCommonSubexpressionElimination
              (\ x__ y__ ->
                 x__{_OptimizerOptions'doCommonSubexpressionElimination = y__})

type instance
     Data.ProtoLens.Field "doConstantFolding" OptimizerOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "doConstantFolding"
         OptimizerOptions OptimizerOptions where
        field _
          = Lens.Family2.Unchecked.lens _OptimizerOptions'doConstantFolding
              (\ x__ y__ -> x__{_OptimizerOptions'doConstantFolding = y__})

type instance
     Data.ProtoLens.Field "doFunctionInlining" OptimizerOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "doFunctionInlining"
         OptimizerOptions OptimizerOptions where
        field _
          = Lens.Family2.Unchecked.lens _OptimizerOptions'doFunctionInlining
              (\ x__ y__ -> x__{_OptimizerOptions'doFunctionInlining = y__})

type instance Data.ProtoLens.Field "optLevel" OptimizerOptions =
     OptimizerOptions'Level

instance Data.ProtoLens.HasField "optLevel" OptimizerOptions
         OptimizerOptions where
        field _
          = Lens.Family2.Unchecked.lens _OptimizerOptions'optLevel
              (\ x__ y__ -> x__{_OptimizerOptions'optLevel = y__})

instance Data.Default.Class.Default OptimizerOptions where
        def
          = OptimizerOptions{_OptimizerOptions'doCommonSubexpressionElimination
                               = Data.ProtoLens.fieldDefault,
                             _OptimizerOptions'doConstantFolding = Data.ProtoLens.fieldDefault,
                             _OptimizerOptions'doFunctionInlining = Data.ProtoLens.fieldDefault,
                             _OptimizerOptions'optLevel = Data.Default.Class.def}

instance Data.ProtoLens.Message OptimizerOptions where
        descriptor
          = let doCommonSubexpressionElimination__field_descriptor
                  = Data.ProtoLens.FieldDescriptor
                      "do_common_subexpression_elimination"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         doCommonSubexpressionElimination)
                doConstantFolding__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "do_constant_folding"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         doConstantFolding)
                doFunctionInlining__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "do_function_inlining"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         doFunctionInlining)
                optLevel__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "opt_level"
                      (Data.ProtoLens.EnumField ::
                         Data.ProtoLens.FieldTypeDescriptor OptimizerOptions'Level)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional optLevel)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1,
                     doCommonSubexpressionElimination__field_descriptor),
                    (Data.ProtoLens.Tag 2, doConstantFolding__field_descriptor),
                    (Data.ProtoLens.Tag 4, doFunctionInlining__field_descriptor),
                    (Data.ProtoLens.Tag 3, optLevel__field_descriptor)])
                (Data.Map.fromList
                   [("do_common_subexpression_elimination",
                     doCommonSubexpressionElimination__field_descriptor),
                    ("do_constant_folding", doConstantFolding__field_descriptor),
                    ("do_function_inlining", doFunctionInlining__field_descriptor),
                    ("opt_level", optLevel__field_descriptor)])

data OptimizerOptions'Level = OptimizerOptions'L0
                            | OptimizerOptions'L1
                            deriving (Prelude.Show, Prelude.Eq)

instance Data.Default.Class.Default OptimizerOptions'Level where
        def = OptimizerOptions'L0

instance Data.ProtoLens.FieldDefault OptimizerOptions'Level where
        fieldDefault = OptimizerOptions'L0

instance Data.ProtoLens.MessageEnum OptimizerOptions'Level where
        maybeToEnum (-1) = Prelude.Just OptimizerOptions'L0
        maybeToEnum 0 = Prelude.Just OptimizerOptions'L1
        maybeToEnum _ = Prelude.Nothing
        showEnum OptimizerOptions'L0 = "L0"
        showEnum OptimizerOptions'L1 = "L1"
        readEnum "L0" = Prelude.Just OptimizerOptions'L0
        readEnum "L1" = Prelude.Just OptimizerOptions'L1
        readEnum _ = Prelude.Nothing

instance Prelude.Enum OptimizerOptions'Level where
        toEnum k__
          = Prelude.maybe
              (Prelude.error
                 ((Prelude.++) "toEnum: unknown value for enum Level: "
                    (Prelude.show k__)))
              Prelude.id
              (Data.ProtoLens.maybeToEnum k__)
        fromEnum OptimizerOptions'L0 = -1
        fromEnum OptimizerOptions'L1 = 0
        succ OptimizerOptions'L1
          = Prelude.error
              "Ident \"OptimizerOptions'Level\".Ident \"succ\": bad argument Ident \"OptimizerOptions'L1\". This value would be out of bounds."
        succ OptimizerOptions'L0 = OptimizerOptions'L1
        pred OptimizerOptions'L0
          = Prelude.error
              "Ident \"OptimizerOptions'Level\".Ident \"pred\": bad argument Ident \"OptimizerOptions'L0\". This value would be out of bounds."
        pred OptimizerOptions'L1 = OptimizerOptions'L0
        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 OptimizerOptions'Level where
        minBound = OptimizerOptions'L0
        maxBound = OptimizerOptions'L1

data RunMetadata = RunMetadata{_RunMetadata'stepStats ::
                               Prelude.Maybe Proto.Tensorflow.Core.Framework.StepStats.StepStats,
                               _RunMetadata'costGraph ::
                               Prelude.Maybe
                                 Proto.Tensorflow.Core.Framework.CostGraph.CostGraphDef,
                               _RunMetadata'partitionGraphs ::
                               [Proto.Tensorflow.Core.Framework.Graph.GraphDef]}
                 deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "stepStats" RunMetadata =
     Proto.Tensorflow.Core.Framework.StepStats.StepStats

instance Data.ProtoLens.HasField "stepStats" RunMetadata
         RunMetadata where
        field _
          = (Prelude..) maybe'stepStats
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance Data.ProtoLens.Field "maybe'stepStats" RunMetadata =
     Prelude.Maybe Proto.Tensorflow.Core.Framework.StepStats.StepStats

instance Data.ProtoLens.HasField "maybe'stepStats" RunMetadata
         RunMetadata where
        field _
          = Lens.Family2.Unchecked.lens _RunMetadata'stepStats
              (\ x__ y__ -> x__{_RunMetadata'stepStats = y__})

type instance Data.ProtoLens.Field "costGraph" RunMetadata =
     Proto.Tensorflow.Core.Framework.CostGraph.CostGraphDef

instance Data.ProtoLens.HasField "costGraph" RunMetadata
         RunMetadata where
        field _
          = (Prelude..) maybe'costGraph
              (Data.ProtoLens.maybeLens Data.Default.Class.def)

type instance Data.ProtoLens.Field "maybe'costGraph" RunMetadata =
     Prelude.Maybe
       Proto.Tensorflow.Core.Framework.CostGraph.CostGraphDef

instance Data.ProtoLens.HasField "maybe'costGraph" RunMetadata
         RunMetadata where
        field _
          = Lens.Family2.Unchecked.lens _RunMetadata'costGraph
              (\ x__ y__ -> x__{_RunMetadata'costGraph = y__})

type instance Data.ProtoLens.Field "partitionGraphs" RunMetadata =
     [Proto.Tensorflow.Core.Framework.Graph.GraphDef]

instance Data.ProtoLens.HasField "partitionGraphs" RunMetadata
         RunMetadata where
        field _
          = Lens.Family2.Unchecked.lens _RunMetadata'partitionGraphs
              (\ x__ y__ -> x__{_RunMetadata'partitionGraphs = y__})

instance Data.Default.Class.Default RunMetadata where
        def
          = RunMetadata{_RunMetadata'stepStats = Prelude.Nothing,
                        _RunMetadata'costGraph = Prelude.Nothing,
                        _RunMetadata'partitionGraphs = []}

instance Data.ProtoLens.Message RunMetadata where
        descriptor
          = let stepStats__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "step_stats"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.StepStats.StepStats)
                      (Data.ProtoLens.OptionalField maybe'stepStats)
                costGraph__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "cost_graph"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.CostGraph.CostGraphDef)
                      (Data.ProtoLens.OptionalField maybe'costGraph)
                partitionGraphs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "partition_graphs"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor
                           Proto.Tensorflow.Core.Framework.Graph.GraphDef)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
                         partitionGraphs)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, stepStats__field_descriptor),
                    (Data.ProtoLens.Tag 2, costGraph__field_descriptor),
                    (Data.ProtoLens.Tag 3, partitionGraphs__field_descriptor)])
                (Data.Map.fromList
                   [("step_stats", stepStats__field_descriptor),
                    ("cost_graph", costGraph__field_descriptor),
                    ("partition_graphs", partitionGraphs__field_descriptor)])

data RunOptions = RunOptions{_RunOptions'traceLevel ::
                             RunOptions'TraceLevel,
                             _RunOptions'timeoutInMs :: Data.Int.Int64,
                             _RunOptions'interOpThreadPool :: Data.Int.Int32,
                             _RunOptions'debugTensorWatchOpts :: [DebugTensorWatch],
                             _RunOptions'outputPartitionGraphs :: Prelude.Bool}
                deriving (Prelude.Show, Prelude.Eq)

type instance Data.ProtoLens.Field "traceLevel" RunOptions =
     RunOptions'TraceLevel

instance Data.ProtoLens.HasField "traceLevel" RunOptions RunOptions
         where
        field _
          = Lens.Family2.Unchecked.lens _RunOptions'traceLevel
              (\ x__ y__ -> x__{_RunOptions'traceLevel = y__})

type instance Data.ProtoLens.Field "timeoutInMs" RunOptions =
     Data.Int.Int64

instance Data.ProtoLens.HasField "timeoutInMs" RunOptions
         RunOptions where
        field _
          = Lens.Family2.Unchecked.lens _RunOptions'timeoutInMs
              (\ x__ y__ -> x__{_RunOptions'timeoutInMs = y__})

type instance Data.ProtoLens.Field "interOpThreadPool" RunOptions =
     Data.Int.Int32

instance Data.ProtoLens.HasField "interOpThreadPool" RunOptions
         RunOptions where
        field _
          = Lens.Family2.Unchecked.lens _RunOptions'interOpThreadPool
              (\ x__ y__ -> x__{_RunOptions'interOpThreadPool = y__})

type instance
     Data.ProtoLens.Field "debugTensorWatchOpts" RunOptions =
     [DebugTensorWatch]

instance Data.ProtoLens.HasField "debugTensorWatchOpts" RunOptions
         RunOptions where
        field _
          = Lens.Family2.Unchecked.lens _RunOptions'debugTensorWatchOpts
              (\ x__ y__ -> x__{_RunOptions'debugTensorWatchOpts = y__})

type instance
     Data.ProtoLens.Field "outputPartitionGraphs" RunOptions =
     Prelude.Bool

instance Data.ProtoLens.HasField "outputPartitionGraphs" RunOptions
         RunOptions where
        field _
          = Lens.Family2.Unchecked.lens _RunOptions'outputPartitionGraphs
              (\ x__ y__ -> x__{_RunOptions'outputPartitionGraphs = y__})

instance Data.Default.Class.Default RunOptions where
        def
          = RunOptions{_RunOptions'traceLevel = Data.Default.Class.def,
                       _RunOptions'timeoutInMs = Data.ProtoLens.fieldDefault,
                       _RunOptions'interOpThreadPool = Data.ProtoLens.fieldDefault,
                       _RunOptions'debugTensorWatchOpts = [],
                       _RunOptions'outputPartitionGraphs = Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message RunOptions where
        descriptor
          = let traceLevel__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "trace_level"
                      (Data.ProtoLens.EnumField ::
                         Data.ProtoLens.FieldTypeDescriptor RunOptions'TraceLevel)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional traceLevel)
                timeoutInMs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "timeout_in_ms"
                      (Data.ProtoLens.Int64Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional timeoutInMs)
                interOpThreadPool__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "inter_op_thread_pool"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         interOpThreadPool)
                debugTensorWatchOpts__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "debug_tensor_watch_opts"
                      (Data.ProtoLens.MessageField ::
                         Data.ProtoLens.FieldTypeDescriptor DebugTensorWatch)
                      (Data.ProtoLens.RepeatedField Data.ProtoLens.Unpacked
                         debugTensorWatchOpts)
                outputPartitionGraphs__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "output_partition_graphs"
                      (Data.ProtoLens.BoolField ::
                         Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional
                         outputPartitionGraphs)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, traceLevel__field_descriptor),
                    (Data.ProtoLens.Tag 2, timeoutInMs__field_descriptor),
                    (Data.ProtoLens.Tag 3, interOpThreadPool__field_descriptor),
                    (Data.ProtoLens.Tag 4, debugTensorWatchOpts__field_descriptor),
                    (Data.ProtoLens.Tag 5, outputPartitionGraphs__field_descriptor)])
                (Data.Map.fromList
                   [("trace_level", traceLevel__field_descriptor),
                    ("timeout_in_ms", timeoutInMs__field_descriptor),
                    ("inter_op_thread_pool", interOpThreadPool__field_descriptor),
                    ("debug_tensor_watch_opts",
                     debugTensorWatchOpts__field_descriptor),
                    ("output_partition_graphs",
                     outputPartitionGraphs__field_descriptor)])

data RunOptions'TraceLevel = RunOptions'NO_TRACE
                           | RunOptions'SOFTWARE_TRACE
                           | RunOptions'HARDWARE_TRACE
                           | RunOptions'FULL_TRACE
                           deriving (Prelude.Show, Prelude.Eq)

instance Data.Default.Class.Default RunOptions'TraceLevel where
        def = RunOptions'NO_TRACE

instance Data.ProtoLens.FieldDefault RunOptions'TraceLevel where
        fieldDefault = RunOptions'NO_TRACE

instance Data.ProtoLens.MessageEnum RunOptions'TraceLevel where
        maybeToEnum 0 = Prelude.Just RunOptions'NO_TRACE
        maybeToEnum 1 = Prelude.Just RunOptions'SOFTWARE_TRACE
        maybeToEnum 2 = Prelude.Just RunOptions'HARDWARE_TRACE
        maybeToEnum 3 = Prelude.Just RunOptions'FULL_TRACE
        maybeToEnum _ = Prelude.Nothing
        showEnum RunOptions'NO_TRACE = "NO_TRACE"
        showEnum RunOptions'SOFTWARE_TRACE = "SOFTWARE_TRACE"
        showEnum RunOptions'HARDWARE_TRACE = "HARDWARE_TRACE"
        showEnum RunOptions'FULL_TRACE = "FULL_TRACE"
        readEnum "NO_TRACE" = Prelude.Just RunOptions'NO_TRACE
        readEnum "SOFTWARE_TRACE" = Prelude.Just RunOptions'SOFTWARE_TRACE
        readEnum "HARDWARE_TRACE" = Prelude.Just RunOptions'HARDWARE_TRACE
        readEnum "FULL_TRACE" = Prelude.Just RunOptions'FULL_TRACE
        readEnum _ = Prelude.Nothing

instance Prelude.Enum RunOptions'TraceLevel where
        toEnum k__
          = Prelude.maybe
              (Prelude.error
                 ((Prelude.++) "toEnum: unknown value for enum TraceLevel: "
                    (Prelude.show k__)))
              Prelude.id
              (Data.ProtoLens.maybeToEnum k__)
        fromEnum RunOptions'NO_TRACE = 0
        fromEnum RunOptions'SOFTWARE_TRACE = 1
        fromEnum RunOptions'HARDWARE_TRACE = 2
        fromEnum RunOptions'FULL_TRACE = 3
        succ RunOptions'FULL_TRACE
          = Prelude.error
              "Ident \"RunOptions'TraceLevel\".Ident \"succ\": bad argument Ident \"RunOptions'FULL_TRACE\". This value would be out of bounds."
        succ RunOptions'NO_TRACE = RunOptions'SOFTWARE_TRACE
        succ RunOptions'SOFTWARE_TRACE = RunOptions'HARDWARE_TRACE
        succ RunOptions'HARDWARE_TRACE = RunOptions'FULL_TRACE
        pred RunOptions'NO_TRACE
          = Prelude.error
              "Ident \"RunOptions'TraceLevel\".Ident \"pred\": bad argument Ident \"RunOptions'NO_TRACE\". This value would be out of bounds."
        pred RunOptions'SOFTWARE_TRACE = RunOptions'NO_TRACE
        pred RunOptions'HARDWARE_TRACE = RunOptions'SOFTWARE_TRACE
        pred RunOptions'FULL_TRACE = RunOptions'HARDWARE_TRACE
        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 RunOptions'TraceLevel where
        minBound = RunOptions'NO_TRACE
        maxBound = RunOptions'FULL_TRACE

data ThreadPoolOptionProto = ThreadPoolOptionProto{_ThreadPoolOptionProto'numThreads
                                                   :: Data.Int.Int32}
                           deriving (Prelude.Show, Prelude.Eq)

type instance
     Data.ProtoLens.Field "numThreads" ThreadPoolOptionProto =
     Data.Int.Int32

instance Data.ProtoLens.HasField "numThreads" ThreadPoolOptionProto
         ThreadPoolOptionProto where
        field _
          = Lens.Family2.Unchecked.lens _ThreadPoolOptionProto'numThreads
              (\ x__ y__ -> x__{_ThreadPoolOptionProto'numThreads = y__})

instance Data.Default.Class.Default ThreadPoolOptionProto where
        def
          = ThreadPoolOptionProto{_ThreadPoolOptionProto'numThreads =
                                    Data.ProtoLens.fieldDefault}

instance Data.ProtoLens.Message ThreadPoolOptionProto where
        descriptor
          = let numThreads__field_descriptor
                  = Data.ProtoLens.FieldDescriptor "num_threads"
                      (Data.ProtoLens.Int32Field ::
                         Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
                      (Data.ProtoLens.PlainField Data.ProtoLens.Optional numThreads)
              in
              Data.ProtoLens.MessageDescriptor
                (Data.Map.fromList
                   [(Data.ProtoLens.Tag 1, numThreads__field_descriptor)])
                (Data.Map.fromList [("num_threads", numThreads__field_descriptor)])

allocatorType ::
              forall msg msg' .
                Data.ProtoLens.HasField "allocatorType" msg msg' =>
                Lens.Family2.Lens msg msg'
                  (Data.ProtoLens.Field "allocatorType" msg)
                  (Data.ProtoLens.Field "allocatorType" msg')
allocatorType
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "allocatorType")

allowGrowth ::
            forall msg msg' . Data.ProtoLens.HasField "allowGrowth" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "allowGrowth" msg)
                (Data.ProtoLens.Field "allowGrowth" msg')
allowGrowth
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "allowGrowth")

allowSoftPlacement ::
                   forall msg msg' .
                     Data.ProtoLens.HasField "allowSoftPlacement" msg msg' =>
                     Lens.Family2.Lens msg msg'
                       (Data.ProtoLens.Field "allowSoftPlacement" msg)
                       (Data.ProtoLens.Field "allowSoftPlacement" msg')
allowSoftPlacement
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "allowSoftPlacement")

buildCostModel ::
               forall msg msg' .
                 Data.ProtoLens.HasField "buildCostModel" msg msg' =>
                 Lens.Family2.Lens msg msg'
                   (Data.ProtoLens.Field "buildCostModel" msg)
                   (Data.ProtoLens.Field "buildCostModel" msg')
buildCostModel
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "buildCostModel")

buildCostModelAfter ::
                    forall msg msg' .
                      Data.ProtoLens.HasField "buildCostModelAfter" msg msg' =>
                      Lens.Family2.Lens msg msg'
                        (Data.ProtoLens.Field "buildCostModelAfter" msg)
                        (Data.ProtoLens.Field "buildCostModelAfter" msg')
buildCostModelAfter
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "buildCostModelAfter")

costGraph ::
          forall msg msg' . Data.ProtoLens.HasField "costGraph" msg msg' =>
            Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "costGraph" msg)
              (Data.ProtoLens.Field "costGraph" msg')
costGraph
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "costGraph")

debugOps ::
         forall msg msg' . Data.ProtoLens.HasField "debugOps" msg msg' =>
           Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "debugOps" msg)
             (Data.ProtoLens.Field "debugOps" msg')
debugOps
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "debugOps")

debugTensorWatchOpts ::
                     forall msg msg' .
                       Data.ProtoLens.HasField "debugTensorWatchOpts" msg msg' =>
                       Lens.Family2.Lens msg msg'
                         (Data.ProtoLens.Field "debugTensorWatchOpts" msg)
                         (Data.ProtoLens.Field "debugTensorWatchOpts" msg')
debugTensorWatchOpts
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "debugTensorWatchOpts")

debugUrls ::
          forall msg msg' . Data.ProtoLens.HasField "debugUrls" msg msg' =>
            Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "debugUrls" msg)
              (Data.ProtoLens.Field "debugUrls" msg')
debugUrls
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "debugUrls")

deferredDeletionBytes ::
                      forall msg msg' .
                        Data.ProtoLens.HasField "deferredDeletionBytes" msg msg' =>
                        Lens.Family2.Lens msg msg'
                          (Data.ProtoLens.Field "deferredDeletionBytes" msg)
                          (Data.ProtoLens.Field "deferredDeletionBytes" msg')
deferredDeletionBytes
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "deferredDeletionBytes")

deviceCount ::
            forall msg msg' . Data.ProtoLens.HasField "deviceCount" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "deviceCount" msg)
                (Data.ProtoLens.Field "deviceCount" msg')
deviceCount
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "deviceCount")

deviceFilters ::
              forall msg msg' .
                Data.ProtoLens.HasField "deviceFilters" msg msg' =>
                Lens.Family2.Lens msg msg'
                  (Data.ProtoLens.Field "deviceFilters" msg)
                  (Data.ProtoLens.Field "deviceFilters" msg')
deviceFilters
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "deviceFilters")

doCommonSubexpressionElimination ::
                                 forall msg msg' .
                                   Data.ProtoLens.HasField "doCommonSubexpressionElimination" msg
                                     msg' =>
                                   Lens.Family2.Lens msg msg'
                                     (Data.ProtoLens.Field "doCommonSubexpressionElimination" msg)
                                     (Data.ProtoLens.Field "doCommonSubexpressionElimination" msg')
doCommonSubexpressionElimination
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "doCommonSubexpressionElimination")

doConstantFolding ::
                  forall msg msg' .
                    Data.ProtoLens.HasField "doConstantFolding" msg msg' =>
                    Lens.Family2.Lens msg msg'
                      (Data.ProtoLens.Field "doConstantFolding" msg)
                      (Data.ProtoLens.Field "doConstantFolding" msg')
doConstantFolding
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "doConstantFolding")

doFunctionInlining ::
                   forall msg msg' .
                     Data.ProtoLens.HasField "doFunctionInlining" msg msg' =>
                     Lens.Family2.Lens msg msg'
                       (Data.ProtoLens.Field "doFunctionInlining" msg)
                       (Data.ProtoLens.Field "doFunctionInlining" msg')
doFunctionInlining
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "doFunctionInlining")

enableBfloat16Sendrecv ::
                       forall msg msg' .
                         Data.ProtoLens.HasField "enableBfloat16Sendrecv" msg msg' =>
                         Lens.Family2.Lens msg msg'
                           (Data.ProtoLens.Field "enableBfloat16Sendrecv" msg)
                           (Data.ProtoLens.Field "enableBfloat16Sendrecv" msg')
enableBfloat16Sendrecv
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "enableBfloat16Sendrecv")

enableRecvScheduling ::
                     forall msg msg' .
                       Data.ProtoLens.HasField "enableRecvScheduling" msg msg' =>
                       Lens.Family2.Lens msg msg'
                         (Data.ProtoLens.Field "enableRecvScheduling" msg)
                         (Data.ProtoLens.Field "enableRecvScheduling" msg')
enableRecvScheduling
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "enableRecvScheduling")

gpuOptions ::
           forall msg msg' . Data.ProtoLens.HasField "gpuOptions" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "gpuOptions" msg)
               (Data.ProtoLens.Field "gpuOptions" msg')
gpuOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "gpuOptions")

graphOptions ::
             forall msg msg' .
               Data.ProtoLens.HasField "graphOptions" msg msg' =>
               Lens.Family2.Lens msg msg'
                 (Data.ProtoLens.Field "graphOptions" msg)
                 (Data.ProtoLens.Field "graphOptions" msg')
graphOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "graphOptions")

inferShapes ::
            forall msg msg' . Data.ProtoLens.HasField "inferShapes" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "inferShapes" msg)
                (Data.ProtoLens.Field "inferShapes" msg')
inferShapes
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "inferShapes")

interOpParallelismThreads ::
                          forall msg msg' .
                            Data.ProtoLens.HasField "interOpParallelismThreads" msg msg' =>
                            Lens.Family2.Lens msg msg'
                              (Data.ProtoLens.Field "interOpParallelismThreads" msg)
                              (Data.ProtoLens.Field "interOpParallelismThreads" msg')
interOpParallelismThreads
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "interOpParallelismThreads")

interOpThreadPool ::
                  forall msg msg' .
                    Data.ProtoLens.HasField "interOpThreadPool" msg msg' =>
                    Lens.Family2.Lens msg msg'
                      (Data.ProtoLens.Field "interOpThreadPool" msg)
                      (Data.ProtoLens.Field "interOpThreadPool" msg')
interOpThreadPool
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "interOpThreadPool")

intraOpParallelismThreads ::
                          forall msg msg' .
                            Data.ProtoLens.HasField "intraOpParallelismThreads" msg msg' =>
                            Lens.Family2.Lens msg msg'
                              (Data.ProtoLens.Field "intraOpParallelismThreads" msg)
                              (Data.ProtoLens.Field "intraOpParallelismThreads" msg')
intraOpParallelismThreads
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "intraOpParallelismThreads")

key ::
    forall msg msg' . Data.ProtoLens.HasField "key" msg msg' =>
      Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "key" msg)
        (Data.ProtoLens.Field "key" msg')
key
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "key")

logDevicePlacement ::
                   forall msg msg' .
                     Data.ProtoLens.HasField "logDevicePlacement" msg msg' =>
                     Lens.Family2.Lens msg msg'
                       (Data.ProtoLens.Field "logDevicePlacement" msg)
                       (Data.ProtoLens.Field "logDevicePlacement" msg')
logDevicePlacement
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "logDevicePlacement")

maybe'costGraph ::
                forall msg msg' .
                  Data.ProtoLens.HasField "maybe'costGraph" msg msg' =>
                  Lens.Family2.Lens msg msg'
                    (Data.ProtoLens.Field "maybe'costGraph" msg)
                    (Data.ProtoLens.Field "maybe'costGraph" msg')
maybe'costGraph
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'costGraph")

maybe'gpuOptions ::
                 forall msg msg' .
                   Data.ProtoLens.HasField "maybe'gpuOptions" msg msg' =>
                   Lens.Family2.Lens msg msg'
                     (Data.ProtoLens.Field "maybe'gpuOptions" msg)
                     (Data.ProtoLens.Field "maybe'gpuOptions" msg')
maybe'gpuOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'gpuOptions")

maybe'graphOptions ::
                   forall msg msg' .
                     Data.ProtoLens.HasField "maybe'graphOptions" msg msg' =>
                     Lens.Family2.Lens msg msg'
                       (Data.ProtoLens.Field "maybe'graphOptions" msg)
                       (Data.ProtoLens.Field "maybe'graphOptions" msg')
maybe'graphOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'graphOptions")

maybe'optimizerOptions ::
                       forall msg msg' .
                         Data.ProtoLens.HasField "maybe'optimizerOptions" msg msg' =>
                         Lens.Family2.Lens msg msg'
                           (Data.ProtoLens.Field "maybe'optimizerOptions" msg)
                           (Data.ProtoLens.Field "maybe'optimizerOptions" msg')
maybe'optimizerOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'optimizerOptions")

maybe'stepStats ::
                forall msg msg' .
                  Data.ProtoLens.HasField "maybe'stepStats" msg msg' =>
                  Lens.Family2.Lens msg msg'
                    (Data.ProtoLens.Field "maybe'stepStats" msg)
                    (Data.ProtoLens.Field "maybe'stepStats" msg')
maybe'stepStats
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "maybe'stepStats")

nodeName ::
         forall msg msg' . Data.ProtoLens.HasField "nodeName" msg msg' =>
           Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "nodeName" msg)
             (Data.ProtoLens.Field "nodeName" msg')
nodeName
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "nodeName")

numThreads ::
           forall msg msg' . Data.ProtoLens.HasField "numThreads" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "numThreads" msg)
               (Data.ProtoLens.Field "numThreads" msg')
numThreads
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "numThreads")

operationTimeoutInMs ::
                     forall msg msg' .
                       Data.ProtoLens.HasField "operationTimeoutInMs" msg msg' =>
                       Lens.Family2.Lens msg msg'
                         (Data.ProtoLens.Field "operationTimeoutInMs" msg)
                         (Data.ProtoLens.Field "operationTimeoutInMs" msg')
operationTimeoutInMs
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "operationTimeoutInMs")

optLevel ::
         forall msg msg' . Data.ProtoLens.HasField "optLevel" msg msg' =>
           Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "optLevel" msg)
             (Data.ProtoLens.Field "optLevel" msg')
optLevel
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "optLevel")

optimizerOptions ::
                 forall msg msg' .
                   Data.ProtoLens.HasField "optimizerOptions" msg msg' =>
                   Lens.Family2.Lens msg msg'
                     (Data.ProtoLens.Field "optimizerOptions" msg)
                     (Data.ProtoLens.Field "optimizerOptions" msg')
optimizerOptions
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "optimizerOptions")

outputPartitionGraphs ::
                      forall msg msg' .
                        Data.ProtoLens.HasField "outputPartitionGraphs" msg msg' =>
                        Lens.Family2.Lens msg msg'
                          (Data.ProtoLens.Field "outputPartitionGraphs" msg)
                          (Data.ProtoLens.Field "outputPartitionGraphs" msg')
outputPartitionGraphs
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "outputPartitionGraphs")

outputSlot ::
           forall msg msg' . Data.ProtoLens.HasField "outputSlot" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "outputSlot" msg)
               (Data.ProtoLens.Field "outputSlot" msg')
outputSlot
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "outputSlot")

partitionGraphs ::
                forall msg msg' .
                  Data.ProtoLens.HasField "partitionGraphs" msg msg' =>
                  Lens.Family2.Lens msg msg'
                    (Data.ProtoLens.Field "partitionGraphs" msg)
                    (Data.ProtoLens.Field "partitionGraphs" msg')
partitionGraphs
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "partitionGraphs")

perProcessGpuMemoryFraction ::
                            forall msg msg' .
                              Data.ProtoLens.HasField "perProcessGpuMemoryFraction" msg msg' =>
                              Lens.Family2.Lens msg msg'
                                (Data.ProtoLens.Field "perProcessGpuMemoryFraction" msg)
                                (Data.ProtoLens.Field "perProcessGpuMemoryFraction" msg')
perProcessGpuMemoryFraction
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "perProcessGpuMemoryFraction")

placePrunedGraph ::
                 forall msg msg' .
                   Data.ProtoLens.HasField "placePrunedGraph" msg msg' =>
                   Lens.Family2.Lens msg msg'
                     (Data.ProtoLens.Field "placePrunedGraph" msg)
                     (Data.ProtoLens.Field "placePrunedGraph" msg')
placePrunedGraph
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "placePrunedGraph")

placementPeriod ::
                forall msg msg' .
                  Data.ProtoLens.HasField "placementPeriod" msg msg' =>
                  Lens.Family2.Lens msg msg'
                    (Data.ProtoLens.Field "placementPeriod" msg)
                    (Data.ProtoLens.Field "placementPeriod" msg')
placementPeriod
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "placementPeriod")

sessionInterOpThreadPool ::
                         forall msg msg' .
                           Data.ProtoLens.HasField "sessionInterOpThreadPool" msg msg' =>
                           Lens.Family2.Lens msg msg'
                             (Data.ProtoLens.Field "sessionInterOpThreadPool" msg)
                             (Data.ProtoLens.Field "sessionInterOpThreadPool" msg')
sessionInterOpThreadPool
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "sessionInterOpThreadPool")

stepStats ::
          forall msg msg' . Data.ProtoLens.HasField "stepStats" msg msg' =>
            Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "stepStats" msg)
              (Data.ProtoLens.Field "stepStats" msg')
stepStats
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "stepStats")

timelineStep ::
             forall msg msg' .
               Data.ProtoLens.HasField "timelineStep" msg msg' =>
               Lens.Family2.Lens msg msg'
                 (Data.ProtoLens.Field "timelineStep" msg)
                 (Data.ProtoLens.Field "timelineStep" msg')
timelineStep
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "timelineStep")

timeoutInMs ::
            forall msg msg' . Data.ProtoLens.HasField "timeoutInMs" msg msg' =>
              Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "timeoutInMs" msg)
                (Data.ProtoLens.Field "timeoutInMs" msg')
timeoutInMs
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "timeoutInMs")

traceLevel ::
           forall msg msg' . Data.ProtoLens.HasField "traceLevel" msg msg' =>
             Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "traceLevel" msg)
               (Data.ProtoLens.Field "traceLevel" msg')
traceLevel
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "traceLevel")

usePerSessionThreads ::
                     forall msg msg' .
                       Data.ProtoLens.HasField "usePerSessionThreads" msg msg' =>
                       Lens.Family2.Lens msg msg'
                         (Data.ProtoLens.Field "usePerSessionThreads" msg)
                         (Data.ProtoLens.Field "usePerSessionThreads" msg')
usePerSessionThreads
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "usePerSessionThreads")

value ::
      forall msg msg' . Data.ProtoLens.HasField "value" msg msg' =>
        Lens.Family2.Lens msg msg' (Data.ProtoLens.Field "value" msg)
          (Data.ProtoLens.Field "value" msg')
value
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym :: Data.ProtoLens.ProxySym "value")

visibleDeviceList ::
                  forall msg msg' .
                    Data.ProtoLens.HasField "visibleDeviceList" msg msg' =>
                    Lens.Family2.Lens msg msg'
                      (Data.ProtoLens.Field "visibleDeviceList" msg)
                      (Data.ProtoLens.Field "visibleDeviceList" msg')
visibleDeviceList
  = Data.ProtoLens.field
      (Data.ProtoLens.ProxySym ::
         Data.ProtoLens.ProxySym "visibleDeviceList")