aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstuebinm2024-04-17 01:21:33 +0200
committerstuebinm2024-04-17 01:48:35 +0200
commit385e15fc22f48a1f8d40b8263a54155fdab499ea (patch)
tree19f3a8b3fcb017eebdba3f094ceb5ff80c6c0134
parenta995dabf07574a32c1ae62ad23b96ba7d8e076ee (diff)
replace protocol-buffers with proto-lens
I do not really like either option, but at least the second one seems more likely to be maintained (and a little less clunky to use, too, for what it's worth).
-rw-r--r--default.nix40
-rw-r--r--gtfs-realtime/Proto/GtfsRealtime.hs9868
-rw-r--r--gtfs-realtime/Proto/GtfsRealtime_Fields.hs818
-rw-r--r--gtfs/GTFS/Realtime.hs25
-rw-r--r--gtfs/GTFS/Realtime/Alert.hs204
-rw-r--r--gtfs/GTFS/Realtime/Alert/Cause.hs118
-rw-r--r--gtfs/GTFS/Realtime/Alert/Effect.hs114
-rw-r--r--gtfs/GTFS/Realtime/Alert/SeverityLevel.hs76
-rw-r--r--gtfs/GTFS/Realtime/EntitySelector.hs125
-rw-r--r--gtfs/GTFS/Realtime/FeedEntity.hs132
-rw-r--r--gtfs/GTFS/Realtime/FeedHeader.hs104
-rw-r--r--gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs67
-rw-r--r--gtfs/GTFS/Realtime/FeedMessage.hs97
-rw-r--r--gtfs/GTFS/Realtime/Position.hs112
-rw-r--r--gtfs/GTFS/Realtime/Shape.hs94
-rw-r--r--gtfs/GTFS/Realtime/TimeRange.hs94
-rw-r--r--gtfs/GTFS/Realtime/TranslatedImage.hs93
-rw-r--r--gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs101
-rw-r--r--gtfs/GTFS/Realtime/TranslatedString.hs92
-rw-r--r--gtfs/GTFS/Realtime/TranslatedString/Translation.hs94
-rw-r--r--gtfs/GTFS/Realtime/TripDescriptor.hs128
-rw-r--r--gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs91
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate.hs133
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs101
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs149
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs83
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs89
-rw-r--r--gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs108
-rw-r--r--gtfs/GTFS/Realtime/VehicleDescriptor.hs101
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition.hs183
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs120
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs85
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs109
-rw-r--r--gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs73
-rw-r--r--gtfs/Servant/GTFS/Realtime.hs38
-rw-r--r--lib/API.hs33
-rw-r--r--lib/Server/ControlRoom.hs1
-rw-r--r--lib/Server/GTFS_RT.hs446
-rw-r--r--tracktrain.cabal67
39 files changed, 10916 insertions, 3690 deletions
diff --git a/default.nix b/default.nix
index 06ff967..d6ce56c 100644
--- a/default.nix
+++ b/default.nix
@@ -10,8 +10,8 @@ let
, directory, either, exceptions, extra, fmt, hoauth2, http-api-data
, http-media, insert-ordered-containers, lens, lib, monad-logger
, mtl, path-pieces, persistent, persistent-postgresql
- , prometheus-client, prometheus-metrics-ghc, protocol-buffers
- , protocol-buffers-descriptor, regex-tdfa, resource-pool, servant
+ , prometheus-client, prometheus-metrics-ghc, proto-lens
+ , proto-lens-runtime, regex-tdfa, resource-pool, servant
, servant-docs, servant-server, servant-swagger, servant-websockets
, shakespeare, stm, swagger2, text, time, timezone-olson
, timezone-series, transformers, unliftio-core, uri-bytestring
@@ -23,34 +23,33 @@ let
pname = "tracktrain";
version = "0.1.0.0";
src = ./.;
- isLibrary = false;
+ isLibrary = true;
isExecutable = true;
libraryHaskellDepends = [
aeson base blaze-html blaze-markup bytestring cassava conduit
conferer conferer-warp containers either exceptions extra fmt
hoauth2 http-api-data http-media insert-ordered-containers lens
monad-logger mtl path-pieces persistent persistent-postgresql
- prometheus-client prometheus-metrics-ghc protocol-buffers
- protocol-buffers-descriptor regex-tdfa resource-pool servant
- servant-docs servant-server servant-swagger servant-websockets
- shakespeare stm swagger2 text time timezone-olson timezone-series
- transformers unliftio-core uri-bytestring uuid vector
- vector-algorithms warp websockets yesod yesod-auth
- yesod-auth-oauth2 yesod-core yesod-form zip-archive
+ prometheus-client prometheus-metrics-ghc proto-lens
+ proto-lens-runtime regex-tdfa resource-pool servant servant-docs
+ servant-server servant-swagger servant-websockets shakespeare stm
+ swagger2 text time timezone-olson timezone-series transformers
+ unliftio-core uri-bytestring uuid vector vector-algorithms warp
+ websockets yesod yesod-auth yesod-auth-oauth2 yesod-core yesod-form
+ zip-archive
];
executableHaskellDepends = [
aeson base bytestring conferer conferer-aeson conferer-yaml
data-default-class directory extra fmt monad-logger
- persistent-postgresql protocol-buffers time wai-extra warp
+ persistent-postgresql proto-lens time wai-extra warp
];
doHaddock = false;
- description = "tracktrain tracks trains on their traintracks";
- license = "unknown";
- mainProgram = "tracktrain";
postInstall = ''
cp -r $src/assets $out/assets
'';
- jailbreak = true;
+ description = "tracktrain tracks trains on their traintracks";
+ license = "unknown";
+ mainProgram = "tracktrain";
};
haskellPackages = if compiler == "default"
@@ -61,17 +60,10 @@ let
# we can override haskell packages in nix here; but attempt to minimise that
# since builds get pretty expensive when we do.
+ # (currently kept as a dummy)
hpkgs = haskellPackages.override {
overrides = self: super: with pkgs.haskell.lib.compose; {
- conferer-warp = markUnbroken super.conferer-warp;
- protocol-buffers = markUnbroken (overrideSrc {
- src = pkgs.fetchFromGitHub {
- owner = "k-bx";
- repo = "protocol-buffers";
- sha256 = "sha256-Olp02L6ztDkG9sUOQf+kOcaQEMbdhIJyPRkpvxU9v7I=";
- rev = "ae8084f115fbdb699da2b2a163776b1a1167bf0f";
- };
- } super.protocol-buffers);
+ # conferer-warp = markUnbroken super.conferer-warp;
};
};
diff --git a/gtfs-realtime/Proto/GtfsRealtime.hs b/gtfs-realtime/Proto/GtfsRealtime.hs
new file mode 100644
index 0000000..847590d
--- /dev/null
+++ b/gtfs-realtime/Proto/GtfsRealtime.hs
@@ -0,0 +1,9868 @@
+{- This file was auto-generated from gtfs-realtime.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.GtfsRealtime (
+ Alert(), Alert'Cause(..), Alert'Cause(), Alert'Effect(..),
+ Alert'Effect(), Alert'SeverityLevel(..), Alert'SeverityLevel(),
+ EntitySelector(), FeedEntity(), FeedHeader(),
+ FeedHeader'Incrementality(..), FeedHeader'Incrementality(),
+ FeedMessage(), Position(), Shape(), TimeRange(), TranslatedImage(),
+ TranslatedImage'LocalizedImage(), TranslatedString(),
+ TranslatedString'Translation(), TripDescriptor(),
+ TripDescriptor'ScheduleRelationship(..),
+ TripDescriptor'ScheduleRelationship(), TripUpdate(),
+ TripUpdate'StopTimeEvent(), TripUpdate'StopTimeUpdate(),
+ TripUpdate'StopTimeUpdate'ScheduleRelationship(..),
+ TripUpdate'StopTimeUpdate'ScheduleRelationship(),
+ TripUpdate'StopTimeUpdate'StopTimeProperties(),
+ TripUpdate'TripProperties(), VehicleDescriptor(),
+ VehiclePosition(), VehiclePosition'CarriageDetails(),
+ VehiclePosition'CongestionLevel(..),
+ VehiclePosition'CongestionLevel(),
+ VehiclePosition'OccupancyStatus(..),
+ VehiclePosition'OccupancyStatus(),
+ VehiclePosition'VehicleStopStatus(..),
+ VehiclePosition'VehicleStopStatus()
+ ) where
+import qualified Data.ProtoLens.Runtime.Control.DeepSeq as Control.DeepSeq
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Prism as Data.ProtoLens.Prism
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.activePeriod' @:: Lens' Alert [TimeRange]@
+ * 'Proto.GtfsRealtime_Fields.vec'activePeriod' @:: Lens' Alert (Data.Vector.Vector TimeRange)@
+ * 'Proto.GtfsRealtime_Fields.informedEntity' @:: Lens' Alert [EntitySelector]@
+ * 'Proto.GtfsRealtime_Fields.vec'informedEntity' @:: Lens' Alert (Data.Vector.Vector EntitySelector)@
+ * 'Proto.GtfsRealtime_Fields.cause' @:: Lens' Alert Alert'Cause@
+ * 'Proto.GtfsRealtime_Fields.maybe'cause' @:: Lens' Alert (Prelude.Maybe Alert'Cause)@
+ * 'Proto.GtfsRealtime_Fields.effect' @:: Lens' Alert Alert'Effect@
+ * 'Proto.GtfsRealtime_Fields.maybe'effect' @:: Lens' Alert (Prelude.Maybe Alert'Effect)@
+ * 'Proto.GtfsRealtime_Fields.url' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'url' @:: Lens' Alert (Prelude.Maybe TranslatedString)@
+ * 'Proto.GtfsRealtime_Fields.headerText' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'headerText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@
+ * 'Proto.GtfsRealtime_Fields.descriptionText' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'descriptionText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@
+ * 'Proto.GtfsRealtime_Fields.ttsHeaderText' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'ttsHeaderText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@
+ * 'Proto.GtfsRealtime_Fields.ttsDescriptionText' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'ttsDescriptionText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@
+ * 'Proto.GtfsRealtime_Fields.severityLevel' @:: Lens' Alert Alert'SeverityLevel@
+ * 'Proto.GtfsRealtime_Fields.maybe'severityLevel' @:: Lens' Alert (Prelude.Maybe Alert'SeverityLevel)@
+ * 'Proto.GtfsRealtime_Fields.image' @:: Lens' Alert TranslatedImage@
+ * 'Proto.GtfsRealtime_Fields.maybe'image' @:: Lens' Alert (Prelude.Maybe TranslatedImage)@
+ * 'Proto.GtfsRealtime_Fields.imageAlternativeText' @:: Lens' Alert TranslatedString@
+ * 'Proto.GtfsRealtime_Fields.maybe'imageAlternativeText' @:: Lens' Alert (Prelude.Maybe TranslatedString)@ -}
+data Alert
+ = Alert'_constructor {_Alert'activePeriod :: !(Data.Vector.Vector TimeRange),
+ _Alert'informedEntity :: !(Data.Vector.Vector EntitySelector),
+ _Alert'cause :: !(Prelude.Maybe Alert'Cause),
+ _Alert'effect :: !(Prelude.Maybe Alert'Effect),
+ _Alert'url :: !(Prelude.Maybe TranslatedString),
+ _Alert'headerText :: !(Prelude.Maybe TranslatedString),
+ _Alert'descriptionText :: !(Prelude.Maybe TranslatedString),
+ _Alert'ttsHeaderText :: !(Prelude.Maybe TranslatedString),
+ _Alert'ttsDescriptionText :: !(Prelude.Maybe TranslatedString),
+ _Alert'severityLevel :: !(Prelude.Maybe Alert'SeverityLevel),
+ _Alert'image :: !(Prelude.Maybe TranslatedImage),
+ _Alert'imageAlternativeText :: !(Prelude.Maybe TranslatedString),
+ _Alert'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Alert where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Alert "activePeriod" [TimeRange] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'activePeriod (\ x__ y__ -> x__ {_Alert'activePeriod = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Alert "vec'activePeriod" (Data.Vector.Vector TimeRange) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'activePeriod (\ x__ y__ -> x__ {_Alert'activePeriod = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "informedEntity" [EntitySelector] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'informedEntity
+ (\ x__ y__ -> x__ {_Alert'informedEntity = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField Alert "vec'informedEntity" (Data.Vector.Vector EntitySelector) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'informedEntity
+ (\ x__ y__ -> x__ {_Alert'informedEntity = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "cause" Alert'Cause where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'cause (\ x__ y__ -> x__ {_Alert'cause = y__}))
+ (Data.ProtoLens.maybeLens Alert'UNKNOWN_CAUSE)
+instance Data.ProtoLens.Field.HasField Alert "maybe'cause" (Prelude.Maybe Alert'Cause) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'cause (\ x__ y__ -> x__ {_Alert'cause = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "effect" Alert'Effect where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'effect (\ x__ y__ -> x__ {_Alert'effect = y__}))
+ (Data.ProtoLens.maybeLens Alert'UNKNOWN_EFFECT)
+instance Data.ProtoLens.Field.HasField Alert "maybe'effect" (Prelude.Maybe Alert'Effect) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'effect (\ x__ y__ -> x__ {_Alert'effect = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "url" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'url (\ x__ y__ -> x__ {_Alert'url = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'url" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'url (\ x__ y__ -> x__ {_Alert'url = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "headerText" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'headerText (\ x__ y__ -> x__ {_Alert'headerText = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'headerText" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'headerText (\ x__ y__ -> x__ {_Alert'headerText = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "descriptionText" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'descriptionText
+ (\ x__ y__ -> x__ {_Alert'descriptionText = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'descriptionText" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'descriptionText
+ (\ x__ y__ -> x__ {_Alert'descriptionText = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "ttsHeaderText" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'ttsHeaderText
+ (\ x__ y__ -> x__ {_Alert'ttsHeaderText = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'ttsHeaderText" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'ttsHeaderText
+ (\ x__ y__ -> x__ {_Alert'ttsHeaderText = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "ttsDescriptionText" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'ttsDescriptionText
+ (\ x__ y__ -> x__ {_Alert'ttsDescriptionText = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'ttsDescriptionText" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'ttsDescriptionText
+ (\ x__ y__ -> x__ {_Alert'ttsDescriptionText = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "severityLevel" Alert'SeverityLevel where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'severityLevel
+ (\ x__ y__ -> x__ {_Alert'severityLevel = y__}))
+ (Data.ProtoLens.maybeLens Alert'UNKNOWN_SEVERITY)
+instance Data.ProtoLens.Field.HasField Alert "maybe'severityLevel" (Prelude.Maybe Alert'SeverityLevel) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'severityLevel
+ (\ x__ y__ -> x__ {_Alert'severityLevel = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "image" TranslatedImage where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'image (\ x__ y__ -> x__ {_Alert'image = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'image" (Prelude.Maybe TranslatedImage) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'image (\ x__ y__ -> x__ {_Alert'image = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Alert "imageAlternativeText" TranslatedString where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'imageAlternativeText
+ (\ x__ y__ -> x__ {_Alert'imageAlternativeText = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField Alert "maybe'imageAlternativeText" (Prelude.Maybe TranslatedString) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Alert'imageAlternativeText
+ (\ x__ y__ -> x__ {_Alert'imageAlternativeText = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message Alert where
+ messageName _ = Data.Text.pack "transit_realtime.Alert"
+ packedMessageDescriptor _
+ = "\n\
+ \\ENQAlert\DC2@\n\
+ \\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRangeR\factivePeriod\DC2I\n\
+ \\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelectorR\SOinformedEntity\DC2B\n\
+ \\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSER\ENQcause\DC2F\n\
+ \\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECTR\ACKeffect\DC24\n\
+ \\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedStringR\ETXurl\DC2C\n\
+ \\vheader_text\CAN\n\
+ \ \SOH(\v2\".transit_realtime.TranslatedStringR\n\
+ \headerText\DC2M\n\
+ \\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedStringR\SIdescriptionText\DC2J\n\
+ \\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedStringR\rttsHeaderText\DC2T\n\
+ \\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedStringR\DC2ttsDescriptionText\DC2^\n\
+ \\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITYR\rseverityLevel\DC27\n\
+ \\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImageR\ENQimage\DC2X\n\
+ \\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedStringR\DC4imageAlternativeText\"\216\SOH\n\
+ \\ENQCause\DC2\DC1\n\
+ \\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\
+ \\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\
+ \\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKSTRIKE\DLE\EOT\DC2\DC1\n\
+ \\rDEMONSTRATION\DLE\ENQ\DC2\f\n\
+ \\bACCIDENT\DLE\ACK\DC2\v\n\
+ \\aHOLIDAY\DLE\a\DC2\v\n\
+ \\aWEATHER\DLE\b\DC2\SI\n\
+ \\vMAINTENANCE\DLE\t\DC2\DLE\n\
+ \\fCONSTRUCTION\DLE\n\
+ \\DC2\DC3\n\
+ \\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\
+ \\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\
+ \\ACKEffect\DC2\SO\n\
+ \\n\
+ \NO_SERVICE\DLE\SOH\DC2\DC3\n\
+ \\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\
+ \\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKDETOUR\DLE\EOT\DC2\SYN\n\
+ \\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\
+ \\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\
+ \\fOTHER_EFFECT\DLE\a\DC2\DC2\n\
+ \\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\
+ \\n\
+ \STOP_MOVED\DLE\t\DC2\r\n\
+ \\tNO_EFFECT\DLE\n\
+ \\DC2\ETB\n\
+ \\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\
+ \\rSeverityLevel\DC2\DC4\n\
+ \\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\
+ \\EOTINFO\DLE\STX\DC2\v\n\
+ \\aWARNING\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ activePeriod__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "active_period"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TimeRange)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"activePeriod")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ informedEntity__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "informed_entity"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor EntitySelector)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"informedEntity")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ cause__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "cause"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor Alert'Cause)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'cause")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ effect__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "effect"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor Alert'Effect)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'effect")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ url__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "url"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'url")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ headerText__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "header_text"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'headerText")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ descriptionText__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "description_text"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'descriptionText")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ ttsHeaderText__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "tts_header_text"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'ttsHeaderText")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ ttsDescriptionText__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "tts_description_text"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'ttsDescriptionText")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ severityLevel__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "severity_level"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor Alert'SeverityLevel)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'severityLevel")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ image__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "image"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedImage)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'image")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ imageAlternativeText__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "image_alternative_text"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'imageAlternativeText")) ::
+ Data.ProtoLens.FieldDescriptor Alert
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, activePeriod__field_descriptor),
+ (Data.ProtoLens.Tag 5, informedEntity__field_descriptor),
+ (Data.ProtoLens.Tag 6, cause__field_descriptor),
+ (Data.ProtoLens.Tag 7, effect__field_descriptor),
+ (Data.ProtoLens.Tag 8, url__field_descriptor),
+ (Data.ProtoLens.Tag 10, headerText__field_descriptor),
+ (Data.ProtoLens.Tag 11, descriptionText__field_descriptor),
+ (Data.ProtoLens.Tag 12, ttsHeaderText__field_descriptor),
+ (Data.ProtoLens.Tag 13, ttsDescriptionText__field_descriptor),
+ (Data.ProtoLens.Tag 14, severityLevel__field_descriptor),
+ (Data.ProtoLens.Tag 15, image__field_descriptor),
+ (Data.ProtoLens.Tag 16, imageAlternativeText__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _Alert'_unknownFields
+ (\ x__ y__ -> x__ {_Alert'_unknownFields = y__})
+ defMessage
+ = Alert'_constructor
+ {_Alert'activePeriod = Data.Vector.Generic.empty,
+ _Alert'informedEntity = Data.Vector.Generic.empty,
+ _Alert'cause = Prelude.Nothing, _Alert'effect = Prelude.Nothing,
+ _Alert'url = Prelude.Nothing, _Alert'headerText = Prelude.Nothing,
+ _Alert'descriptionText = Prelude.Nothing,
+ _Alert'ttsHeaderText = Prelude.Nothing,
+ _Alert'ttsDescriptionText = Prelude.Nothing,
+ _Alert'severityLevel = Prelude.Nothing,
+ _Alert'image = Prelude.Nothing,
+ _Alert'imageAlternativeText = Prelude.Nothing,
+ _Alert'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ Alert
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TimeRange
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld EntitySelector
+ -> Data.ProtoLens.Encoding.Bytes.Parser Alert
+ loop x mutable'activePeriod mutable'informedEntity
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'activePeriod <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'activePeriod)
+ frozen'informedEntity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'informedEntity)
+ (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'activePeriod")
+ frozen'activePeriod
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'informedEntity")
+ frozen'informedEntity x)))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "active_period"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'activePeriod y)
+ loop x v mutable'informedEntity
+ 42
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "informed_entity"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'informedEntity y)
+ loop x mutable'activePeriod v
+ 48
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "cause"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"cause") y x)
+ mutable'activePeriod mutable'informedEntity
+ 56
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "effect"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"effect") y x)
+ mutable'activePeriod mutable'informedEntity
+ 66
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "url"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
+ mutable'activePeriod mutable'informedEntity
+ 82
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "header_text"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"headerText") y x)
+ mutable'activePeriod mutable'informedEntity
+ 90
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "description_text"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"descriptionText") y x)
+ mutable'activePeriod mutable'informedEntity
+ 98
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "tts_header_text"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"ttsHeaderText") y x)
+ mutable'activePeriod mutable'informedEntity
+ 106
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "tts_description_text"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"ttsDescriptionText") y x)
+ mutable'activePeriod mutable'informedEntity
+ 112
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "severity_level"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"severityLevel") y x)
+ mutable'activePeriod mutable'informedEntity
+ 122
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "image"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"image") y x)
+ mutable'activePeriod mutable'informedEntity
+ 130
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "image_alternative_text"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"imageAlternativeText") y x)
+ mutable'activePeriod mutable'informedEntity
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ mutable'activePeriod mutable'informedEntity
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'activePeriod <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ mutable'informedEntity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop
+ Data.ProtoLens.defMessage mutable'activePeriod
+ mutable'informedEntity)
+ "Alert"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"vec'activePeriod") _x))
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"vec'informedEntity") _x))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'cause") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'effect") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'url") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'headerText") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 82)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'descriptionText") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'ttsHeaderText") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 98)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'ttsDescriptionText")
+ _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 106)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes
+ bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'severityLevel")
+ _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 112)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'image") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 122)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes
+ bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field
+ @"maybe'imageAlternativeText")
+ _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ 130)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length
+ bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes
+ bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view
+ Data.ProtoLens.unknownFields _x)))))))))))))
+instance Control.DeepSeq.NFData Alert where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_Alert'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'activePeriod x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'informedEntity x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'cause x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'effect x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'url x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'headerText x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'descriptionText x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'ttsHeaderText x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'ttsDescriptionText x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'severityLevel x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'image x__)
+ (Control.DeepSeq.deepseq
+ (_Alert'imageAlternativeText x__) ()))))))))))))
+data Alert'Cause
+ = Alert'UNKNOWN_CAUSE |
+ Alert'OTHER_CAUSE |
+ Alert'TECHNICAL_PROBLEM |
+ Alert'STRIKE |
+ Alert'DEMONSTRATION |
+ Alert'ACCIDENT |
+ Alert'HOLIDAY |
+ Alert'WEATHER |
+ Alert'MAINTENANCE |
+ Alert'CONSTRUCTION |
+ Alert'POLICE_ACTIVITY |
+ Alert'MEDICAL_EMERGENCY
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Alert'Cause where
+ maybeToEnum 1 = Prelude.Just Alert'UNKNOWN_CAUSE
+ maybeToEnum 2 = Prelude.Just Alert'OTHER_CAUSE
+ maybeToEnum 3 = Prelude.Just Alert'TECHNICAL_PROBLEM
+ maybeToEnum 4 = Prelude.Just Alert'STRIKE
+ maybeToEnum 5 = Prelude.Just Alert'DEMONSTRATION
+ maybeToEnum 6 = Prelude.Just Alert'ACCIDENT
+ maybeToEnum 7 = Prelude.Just Alert'HOLIDAY
+ maybeToEnum 8 = Prelude.Just Alert'WEATHER
+ maybeToEnum 9 = Prelude.Just Alert'MAINTENANCE
+ maybeToEnum 10 = Prelude.Just Alert'CONSTRUCTION
+ maybeToEnum 11 = Prelude.Just Alert'POLICE_ACTIVITY
+ maybeToEnum 12 = Prelude.Just Alert'MEDICAL_EMERGENCY
+ maybeToEnum _ = Prelude.Nothing
+ showEnum Alert'UNKNOWN_CAUSE = "UNKNOWN_CAUSE"
+ showEnum Alert'OTHER_CAUSE = "OTHER_CAUSE"
+ showEnum Alert'TECHNICAL_PROBLEM = "TECHNICAL_PROBLEM"
+ showEnum Alert'STRIKE = "STRIKE"
+ showEnum Alert'DEMONSTRATION = "DEMONSTRATION"
+ showEnum Alert'ACCIDENT = "ACCIDENT"
+ showEnum Alert'HOLIDAY = "HOLIDAY"
+ showEnum Alert'WEATHER = "WEATHER"
+ showEnum Alert'MAINTENANCE = "MAINTENANCE"
+ showEnum Alert'CONSTRUCTION = "CONSTRUCTION"
+ showEnum Alert'POLICE_ACTIVITY = "POLICE_ACTIVITY"
+ showEnum Alert'MEDICAL_EMERGENCY = "MEDICAL_EMERGENCY"
+ readEnum k
+ | (Prelude.==) k "UNKNOWN_CAUSE" = Prelude.Just Alert'UNKNOWN_CAUSE
+ | (Prelude.==) k "OTHER_CAUSE" = Prelude.Just Alert'OTHER_CAUSE
+ | (Prelude.==) k "TECHNICAL_PROBLEM"
+ = Prelude.Just Alert'TECHNICAL_PROBLEM
+ | (Prelude.==) k "STRIKE" = Prelude.Just Alert'STRIKE
+ | (Prelude.==) k "DEMONSTRATION" = Prelude.Just Alert'DEMONSTRATION
+ | (Prelude.==) k "ACCIDENT" = Prelude.Just Alert'ACCIDENT
+ | (Prelude.==) k "HOLIDAY" = Prelude.Just Alert'HOLIDAY
+ | (Prelude.==) k "WEATHER" = Prelude.Just Alert'WEATHER
+ | (Prelude.==) k "MAINTENANCE" = Prelude.Just Alert'MAINTENANCE
+ | (Prelude.==) k "CONSTRUCTION" = Prelude.Just Alert'CONSTRUCTION
+ | (Prelude.==) k "POLICE_ACTIVITY"
+ = Prelude.Just Alert'POLICE_ACTIVITY
+ | (Prelude.==) k "MEDICAL_EMERGENCY"
+ = Prelude.Just Alert'MEDICAL_EMERGENCY
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Alert'Cause where
+ minBound = Alert'UNKNOWN_CAUSE
+ maxBound = Alert'MEDICAL_EMERGENCY
+instance Prelude.Enum Alert'Cause where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum Cause: " (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum Alert'UNKNOWN_CAUSE = 1
+ fromEnum Alert'OTHER_CAUSE = 2
+ fromEnum Alert'TECHNICAL_PROBLEM = 3
+ fromEnum Alert'STRIKE = 4
+ fromEnum Alert'DEMONSTRATION = 5
+ fromEnum Alert'ACCIDENT = 6
+ fromEnum Alert'HOLIDAY = 7
+ fromEnum Alert'WEATHER = 8
+ fromEnum Alert'MAINTENANCE = 9
+ fromEnum Alert'CONSTRUCTION = 10
+ fromEnum Alert'POLICE_ACTIVITY = 11
+ fromEnum Alert'MEDICAL_EMERGENCY = 12
+ succ Alert'MEDICAL_EMERGENCY
+ = Prelude.error
+ "Alert'Cause.succ: bad argument Alert'MEDICAL_EMERGENCY. This value would be out of bounds."
+ succ Alert'UNKNOWN_CAUSE = Alert'OTHER_CAUSE
+ succ Alert'OTHER_CAUSE = Alert'TECHNICAL_PROBLEM
+ succ Alert'TECHNICAL_PROBLEM = Alert'STRIKE
+ succ Alert'STRIKE = Alert'DEMONSTRATION
+ succ Alert'DEMONSTRATION = Alert'ACCIDENT
+ succ Alert'ACCIDENT = Alert'HOLIDAY
+ succ Alert'HOLIDAY = Alert'WEATHER
+ succ Alert'WEATHER = Alert'MAINTENANCE
+ succ Alert'MAINTENANCE = Alert'CONSTRUCTION
+ succ Alert'CONSTRUCTION = Alert'POLICE_ACTIVITY
+ succ Alert'POLICE_ACTIVITY = Alert'MEDICAL_EMERGENCY
+ pred Alert'UNKNOWN_CAUSE
+ = Prelude.error
+ "Alert'Cause.pred: bad argument Alert'UNKNOWN_CAUSE. This value would be out of bounds."
+ pred Alert'OTHER_CAUSE = Alert'UNKNOWN_CAUSE
+ pred Alert'TECHNICAL_PROBLEM = Alert'OTHER_CAUSE
+ pred Alert'STRIKE = Alert'TECHNICAL_PROBLEM
+ pred Alert'DEMONSTRATION = Alert'STRIKE
+ pred Alert'ACCIDENT = Alert'DEMONSTRATION
+ pred Alert'HOLIDAY = Alert'ACCIDENT
+ pred Alert'WEATHER = Alert'HOLIDAY
+ pred Alert'MAINTENANCE = Alert'WEATHER
+ pred Alert'CONSTRUCTION = Alert'MAINTENANCE
+ pred Alert'POLICE_ACTIVITY = Alert'CONSTRUCTION
+ pred Alert'MEDICAL_EMERGENCY = Alert'POLICE_ACTIVITY
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Alert'Cause where
+ fieldDefault = Alert'UNKNOWN_CAUSE
+instance Control.DeepSeq.NFData Alert'Cause where
+ rnf x__ = Prelude.seq x__ ()
+data Alert'Effect
+ = Alert'NO_SERVICE |
+ Alert'REDUCED_SERVICE |
+ Alert'SIGNIFICANT_DELAYS |
+ Alert'DETOUR |
+ Alert'ADDITIONAL_SERVICE |
+ Alert'MODIFIED_SERVICE |
+ Alert'OTHER_EFFECT |
+ Alert'UNKNOWN_EFFECT |
+ Alert'STOP_MOVED |
+ Alert'NO_EFFECT |
+ Alert'ACCESSIBILITY_ISSUE
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Alert'Effect where
+ maybeToEnum 1 = Prelude.Just Alert'NO_SERVICE
+ maybeToEnum 2 = Prelude.Just Alert'REDUCED_SERVICE
+ maybeToEnum 3 = Prelude.Just Alert'SIGNIFICANT_DELAYS
+ maybeToEnum 4 = Prelude.Just Alert'DETOUR
+ maybeToEnum 5 = Prelude.Just Alert'ADDITIONAL_SERVICE
+ maybeToEnum 6 = Prelude.Just Alert'MODIFIED_SERVICE
+ maybeToEnum 7 = Prelude.Just Alert'OTHER_EFFECT
+ maybeToEnum 8 = Prelude.Just Alert'UNKNOWN_EFFECT
+ maybeToEnum 9 = Prelude.Just Alert'STOP_MOVED
+ maybeToEnum 10 = Prelude.Just Alert'NO_EFFECT
+ maybeToEnum 11 = Prelude.Just Alert'ACCESSIBILITY_ISSUE
+ maybeToEnum _ = Prelude.Nothing
+ showEnum Alert'NO_SERVICE = "NO_SERVICE"
+ showEnum Alert'REDUCED_SERVICE = "REDUCED_SERVICE"
+ showEnum Alert'SIGNIFICANT_DELAYS = "SIGNIFICANT_DELAYS"
+ showEnum Alert'DETOUR = "DETOUR"
+ showEnum Alert'ADDITIONAL_SERVICE = "ADDITIONAL_SERVICE"
+ showEnum Alert'MODIFIED_SERVICE = "MODIFIED_SERVICE"
+ showEnum Alert'OTHER_EFFECT = "OTHER_EFFECT"
+ showEnum Alert'UNKNOWN_EFFECT = "UNKNOWN_EFFECT"
+ showEnum Alert'STOP_MOVED = "STOP_MOVED"
+ showEnum Alert'NO_EFFECT = "NO_EFFECT"
+ showEnum Alert'ACCESSIBILITY_ISSUE = "ACCESSIBILITY_ISSUE"
+ readEnum k
+ | (Prelude.==) k "NO_SERVICE" = Prelude.Just Alert'NO_SERVICE
+ | (Prelude.==) k "REDUCED_SERVICE"
+ = Prelude.Just Alert'REDUCED_SERVICE
+ | (Prelude.==) k "SIGNIFICANT_DELAYS"
+ = Prelude.Just Alert'SIGNIFICANT_DELAYS
+ | (Prelude.==) k "DETOUR" = Prelude.Just Alert'DETOUR
+ | (Prelude.==) k "ADDITIONAL_SERVICE"
+ = Prelude.Just Alert'ADDITIONAL_SERVICE
+ | (Prelude.==) k "MODIFIED_SERVICE"
+ = Prelude.Just Alert'MODIFIED_SERVICE
+ | (Prelude.==) k "OTHER_EFFECT" = Prelude.Just Alert'OTHER_EFFECT
+ | (Prelude.==) k "UNKNOWN_EFFECT"
+ = Prelude.Just Alert'UNKNOWN_EFFECT
+ | (Prelude.==) k "STOP_MOVED" = Prelude.Just Alert'STOP_MOVED
+ | (Prelude.==) k "NO_EFFECT" = Prelude.Just Alert'NO_EFFECT
+ | (Prelude.==) k "ACCESSIBILITY_ISSUE"
+ = Prelude.Just Alert'ACCESSIBILITY_ISSUE
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Alert'Effect where
+ minBound = Alert'NO_SERVICE
+ maxBound = Alert'ACCESSIBILITY_ISSUE
+instance Prelude.Enum Alert'Effect where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum Effect: " (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum Alert'NO_SERVICE = 1
+ fromEnum Alert'REDUCED_SERVICE = 2
+ fromEnum Alert'SIGNIFICANT_DELAYS = 3
+ fromEnum Alert'DETOUR = 4
+ fromEnum Alert'ADDITIONAL_SERVICE = 5
+ fromEnum Alert'MODIFIED_SERVICE = 6
+ fromEnum Alert'OTHER_EFFECT = 7
+ fromEnum Alert'UNKNOWN_EFFECT = 8
+ fromEnum Alert'STOP_MOVED = 9
+ fromEnum Alert'NO_EFFECT = 10
+ fromEnum Alert'ACCESSIBILITY_ISSUE = 11
+ succ Alert'ACCESSIBILITY_ISSUE
+ = Prelude.error
+ "Alert'Effect.succ: bad argument Alert'ACCESSIBILITY_ISSUE. This value would be out of bounds."
+ succ Alert'NO_SERVICE = Alert'REDUCED_SERVICE
+ succ Alert'REDUCED_SERVICE = Alert'SIGNIFICANT_DELAYS
+ succ Alert'SIGNIFICANT_DELAYS = Alert'DETOUR
+ succ Alert'DETOUR = Alert'ADDITIONAL_SERVICE
+ succ Alert'ADDITIONAL_SERVICE = Alert'MODIFIED_SERVICE
+ succ Alert'MODIFIED_SERVICE = Alert'OTHER_EFFECT
+ succ Alert'OTHER_EFFECT = Alert'UNKNOWN_EFFECT
+ succ Alert'UNKNOWN_EFFECT = Alert'STOP_MOVED
+ succ Alert'STOP_MOVED = Alert'NO_EFFECT
+ succ Alert'NO_EFFECT = Alert'ACCESSIBILITY_ISSUE
+ pred Alert'NO_SERVICE
+ = Prelude.error
+ "Alert'Effect.pred: bad argument Alert'NO_SERVICE. This value would be out of bounds."
+ pred Alert'REDUCED_SERVICE = Alert'NO_SERVICE
+ pred Alert'SIGNIFICANT_DELAYS = Alert'REDUCED_SERVICE
+ pred Alert'DETOUR = Alert'SIGNIFICANT_DELAYS
+ pred Alert'ADDITIONAL_SERVICE = Alert'DETOUR
+ pred Alert'MODIFIED_SERVICE = Alert'ADDITIONAL_SERVICE
+ pred Alert'OTHER_EFFECT = Alert'MODIFIED_SERVICE
+ pred Alert'UNKNOWN_EFFECT = Alert'OTHER_EFFECT
+ pred Alert'STOP_MOVED = Alert'UNKNOWN_EFFECT
+ pred Alert'NO_EFFECT = Alert'STOP_MOVED
+ pred Alert'ACCESSIBILITY_ISSUE = Alert'NO_EFFECT
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Alert'Effect where
+ fieldDefault = Alert'NO_SERVICE
+instance Control.DeepSeq.NFData Alert'Effect where
+ rnf x__ = Prelude.seq x__ ()
+data Alert'SeverityLevel
+ = Alert'UNKNOWN_SEVERITY |
+ Alert'INFO |
+ Alert'WARNING |
+ Alert'SEVERE
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum Alert'SeverityLevel where
+ maybeToEnum 1 = Prelude.Just Alert'UNKNOWN_SEVERITY
+ maybeToEnum 2 = Prelude.Just Alert'INFO
+ maybeToEnum 3 = Prelude.Just Alert'WARNING
+ maybeToEnum 4 = Prelude.Just Alert'SEVERE
+ maybeToEnum _ = Prelude.Nothing
+ showEnum Alert'UNKNOWN_SEVERITY = "UNKNOWN_SEVERITY"
+ showEnum Alert'INFO = "INFO"
+ showEnum Alert'WARNING = "WARNING"
+ showEnum Alert'SEVERE = "SEVERE"
+ readEnum k
+ | (Prelude.==) k "UNKNOWN_SEVERITY"
+ = Prelude.Just Alert'UNKNOWN_SEVERITY
+ | (Prelude.==) k "INFO" = Prelude.Just Alert'INFO
+ | (Prelude.==) k "WARNING" = Prelude.Just Alert'WARNING
+ | (Prelude.==) k "SEVERE" = Prelude.Just Alert'SEVERE
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded Alert'SeverityLevel where
+ minBound = Alert'UNKNOWN_SEVERITY
+ maxBound = Alert'SEVERE
+instance Prelude.Enum Alert'SeverityLevel where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum SeverityLevel: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum Alert'UNKNOWN_SEVERITY = 1
+ fromEnum Alert'INFO = 2
+ fromEnum Alert'WARNING = 3
+ fromEnum Alert'SEVERE = 4
+ succ Alert'SEVERE
+ = Prelude.error
+ "Alert'SeverityLevel.succ: bad argument Alert'SEVERE. This value would be out of bounds."
+ succ Alert'UNKNOWN_SEVERITY = Alert'INFO
+ succ Alert'INFO = Alert'WARNING
+ succ Alert'WARNING = Alert'SEVERE
+ pred Alert'UNKNOWN_SEVERITY
+ = Prelude.error
+ "Alert'SeverityLevel.pred: bad argument Alert'UNKNOWN_SEVERITY. This value would be out of bounds."
+ pred Alert'INFO = Alert'UNKNOWN_SEVERITY
+ pred Alert'WARNING = Alert'INFO
+ pred Alert'SEVERE = Alert'WARNING
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault Alert'SeverityLevel where
+ fieldDefault = Alert'UNKNOWN_SEVERITY
+instance Control.DeepSeq.NFData Alert'SeverityLevel where
+ rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.agencyId' @:: Lens' EntitySelector Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'agencyId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.routeId' @:: Lens' EntitySelector Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'routeId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.routeType' @:: Lens' EntitySelector Data.Int.Int32@
+ * 'Proto.GtfsRealtime_Fields.maybe'routeType' @:: Lens' EntitySelector (Prelude.Maybe Data.Int.Int32)@
+ * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' EntitySelector TripDescriptor@
+ * 'Proto.GtfsRealtime_Fields.maybe'trip' @:: Lens' EntitySelector (Prelude.Maybe TripDescriptor)@
+ * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' EntitySelector Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' EntitySelector (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.directionId' @:: Lens' EntitySelector Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'directionId' @:: Lens' EntitySelector (Prelude.Maybe Data.Word.Word32)@ -}
+data EntitySelector
+ = EntitySelector'_constructor {_EntitySelector'agencyId :: !(Prelude.Maybe Data.Text.Text),
+ _EntitySelector'routeId :: !(Prelude.Maybe Data.Text.Text),
+ _EntitySelector'routeType :: !(Prelude.Maybe Data.Int.Int32),
+ _EntitySelector'trip :: !(Prelude.Maybe TripDescriptor),
+ _EntitySelector'stopId :: !(Prelude.Maybe Data.Text.Text),
+ _EntitySelector'directionId :: !(Prelude.Maybe Data.Word.Word32),
+ _EntitySelector'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show EntitySelector where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField EntitySelector "agencyId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'agencyId
+ (\ x__ y__ -> x__ {_EntitySelector'agencyId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'agencyId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'agencyId
+ (\ x__ y__ -> x__ {_EntitySelector'agencyId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField EntitySelector "routeId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'routeId
+ (\ x__ y__ -> x__ {_EntitySelector'routeId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'routeId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'routeId
+ (\ x__ y__ -> x__ {_EntitySelector'routeId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField EntitySelector "routeType" Data.Int.Int32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'routeType
+ (\ x__ y__ -> x__ {_EntitySelector'routeType = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'routeType" (Prelude.Maybe Data.Int.Int32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'routeType
+ (\ x__ y__ -> x__ {_EntitySelector'routeType = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField EntitySelector "trip" TripDescriptor where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'trip
+ (\ x__ y__ -> x__ {_EntitySelector'trip = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'trip" (Prelude.Maybe TripDescriptor) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'trip
+ (\ x__ y__ -> x__ {_EntitySelector'trip = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField EntitySelector "stopId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'stopId
+ (\ x__ y__ -> x__ {_EntitySelector'stopId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'stopId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'stopId
+ (\ x__ y__ -> x__ {_EntitySelector'stopId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField EntitySelector "directionId" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'directionId
+ (\ x__ y__ -> x__ {_EntitySelector'directionId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField EntitySelector "maybe'directionId" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _EntitySelector'directionId
+ (\ x__ y__ -> x__ {_EntitySelector'directionId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message EntitySelector where
+ messageName _ = Data.Text.pack "transit_realtime.EntitySelector"
+ packedMessageDescriptor _
+ = "\n\
+ \\SOEntitySelector\DC2\ESC\n\
+ \\tagency_id\CAN\SOH \SOH(\tR\bagencyId\DC2\EM\n\
+ \\broute_id\CAN\STX \SOH(\tR\arouteId\DC2\GS\n\
+ \\n\
+ \route_type\CAN\ETX \SOH(\ENQR\trouteType\DC24\n\
+ \\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2\ETB\n\
+ \\astop_id\CAN\ENQ \SOH(\tR\ACKstopId\DC2!\n\
+ \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ agencyId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "agency_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'agencyId")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ routeId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "route_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'routeId")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ routeType__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "route_type"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'routeType")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ trip__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripDescriptor)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'trip")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ stopId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'stopId")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ directionId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "direction_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'directionId")) ::
+ Data.ProtoLens.FieldDescriptor EntitySelector
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, agencyId__field_descriptor),
+ (Data.ProtoLens.Tag 2, routeId__field_descriptor),
+ (Data.ProtoLens.Tag 3, routeType__field_descriptor),
+ (Data.ProtoLens.Tag 4, trip__field_descriptor),
+ (Data.ProtoLens.Tag 5, stopId__field_descriptor),
+ (Data.ProtoLens.Tag 6, directionId__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _EntitySelector'_unknownFields
+ (\ x__ y__ -> x__ {_EntitySelector'_unknownFields = y__})
+ defMessage
+ = EntitySelector'_constructor
+ {_EntitySelector'agencyId = Prelude.Nothing,
+ _EntitySelector'routeId = Prelude.Nothing,
+ _EntitySelector'routeType = Prelude.Nothing,
+ _EntitySelector'trip = Prelude.Nothing,
+ _EntitySelector'stopId = Prelude.Nothing,
+ _EntitySelector'directionId = Prelude.Nothing,
+ _EntitySelector'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ EntitySelector
+ -> Data.ProtoLens.Encoding.Bytes.Parser EntitySelector
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "agency_id"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"agencyId") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "route_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"routeId") y x)
+ 24
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "route_type"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"routeType") y x)
+ 34
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "trip"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x)
+ 42
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "stop_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x)
+ 48
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "direction_id"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"directionId") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "EntitySelector"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'agencyId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'routeId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'routeType") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'trip") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'directionId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData EntitySelector where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_EntitySelector'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_EntitySelector'agencyId x__)
+ (Control.DeepSeq.deepseq
+ (_EntitySelector'routeId x__)
+ (Control.DeepSeq.deepseq
+ (_EntitySelector'routeType x__)
+ (Control.DeepSeq.deepseq
+ (_EntitySelector'trip x__)
+ (Control.DeepSeq.deepseq
+ (_EntitySelector'stopId x__)
+ (Control.DeepSeq.deepseq (_EntitySelector'directionId x__) ()))))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.id' @:: Lens' FeedEntity Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.isDeleted' @:: Lens' FeedEntity Prelude.Bool@
+ * 'Proto.GtfsRealtime_Fields.maybe'isDeleted' @:: Lens' FeedEntity (Prelude.Maybe Prelude.Bool)@
+ * 'Proto.GtfsRealtime_Fields.tripUpdate' @:: Lens' FeedEntity TripUpdate@
+ * 'Proto.GtfsRealtime_Fields.maybe'tripUpdate' @:: Lens' FeedEntity (Prelude.Maybe TripUpdate)@
+ * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' FeedEntity VehiclePosition@
+ * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' FeedEntity (Prelude.Maybe VehiclePosition)@
+ * 'Proto.GtfsRealtime_Fields.alert' @:: Lens' FeedEntity Alert@
+ * 'Proto.GtfsRealtime_Fields.maybe'alert' @:: Lens' FeedEntity (Prelude.Maybe Alert)@
+ * 'Proto.GtfsRealtime_Fields.shape' @:: Lens' FeedEntity Shape@
+ * 'Proto.GtfsRealtime_Fields.maybe'shape' @:: Lens' FeedEntity (Prelude.Maybe Shape)@ -}
+data FeedEntity
+ = FeedEntity'_constructor {_FeedEntity'id :: !Data.Text.Text,
+ _FeedEntity'isDeleted :: !(Prelude.Maybe Prelude.Bool),
+ _FeedEntity'tripUpdate :: !(Prelude.Maybe TripUpdate),
+ _FeedEntity'vehicle :: !(Prelude.Maybe VehiclePosition),
+ _FeedEntity'alert :: !(Prelude.Maybe Alert),
+ _FeedEntity'shape :: !(Prelude.Maybe Shape),
+ _FeedEntity'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FeedEntity where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FeedEntity "id" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'id (\ x__ y__ -> x__ {_FeedEntity'id = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedEntity "isDeleted" Prelude.Bool where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'isDeleted
+ (\ x__ y__ -> x__ {_FeedEntity'isDeleted = y__}))
+ (Data.ProtoLens.maybeLens Prelude.False)
+instance Data.ProtoLens.Field.HasField FeedEntity "maybe'isDeleted" (Prelude.Maybe Prelude.Bool) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'isDeleted
+ (\ x__ y__ -> x__ {_FeedEntity'isDeleted = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedEntity "tripUpdate" TripUpdate where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'tripUpdate
+ (\ x__ y__ -> x__ {_FeedEntity'tripUpdate = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField FeedEntity "maybe'tripUpdate" (Prelude.Maybe TripUpdate) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'tripUpdate
+ (\ x__ y__ -> x__ {_FeedEntity'tripUpdate = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedEntity "vehicle" VehiclePosition where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'vehicle (\ x__ y__ -> x__ {_FeedEntity'vehicle = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField FeedEntity "maybe'vehicle" (Prelude.Maybe VehiclePosition) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'vehicle (\ x__ y__ -> x__ {_FeedEntity'vehicle = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedEntity "alert" Alert where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'alert (\ x__ y__ -> x__ {_FeedEntity'alert = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField FeedEntity "maybe'alert" (Prelude.Maybe Alert) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'alert (\ x__ y__ -> x__ {_FeedEntity'alert = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedEntity "shape" Shape where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'shape (\ x__ y__ -> x__ {_FeedEntity'shape = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField FeedEntity "maybe'shape" (Prelude.Maybe Shape) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedEntity'shape (\ x__ y__ -> x__ {_FeedEntity'shape = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message FeedEntity where
+ messageName _ = Data.Text.pack "transit_realtime.FeedEntity"
+ packedMessageDescriptor _
+ = "\n\
+ \\n\
+ \FeedEntity\DC2\SO\n\
+ \\STXid\CAN\SOH \STX(\tR\STXid\DC2$\n\
+ \\n\
+ \is_deleted\CAN\STX \SOH(\b:\ENQfalseR\tisDeleted\DC2=\n\
+ \\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdateR\n\
+ \tripUpdate\DC2;\n\
+ \\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePositionR\avehicle\DC2-\n\
+ \\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.AlertR\ENQalert\DC2-\n\
+ \\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.ShapeR\ENQshape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ id__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required (Data.ProtoLens.Field.field @"id")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ isDeleted__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "is_deleted"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.BoolField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Bool)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'isDeleted")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ tripUpdate__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip_update"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'tripUpdate")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ vehicle__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "vehicle"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'vehicle")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ alert__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "alert"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor Alert)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'alert")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ shape__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "shape"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor Shape)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'shape")) ::
+ Data.ProtoLens.FieldDescriptor FeedEntity
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, id__field_descriptor),
+ (Data.ProtoLens.Tag 2, isDeleted__field_descriptor),
+ (Data.ProtoLens.Tag 3, tripUpdate__field_descriptor),
+ (Data.ProtoLens.Tag 4, vehicle__field_descriptor),
+ (Data.ProtoLens.Tag 5, alert__field_descriptor),
+ (Data.ProtoLens.Tag 6, shape__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _FeedEntity'_unknownFields
+ (\ x__ y__ -> x__ {_FeedEntity'_unknownFields = y__})
+ defMessage
+ = FeedEntity'_constructor
+ {_FeedEntity'id = Data.ProtoLens.fieldDefault,
+ _FeedEntity'isDeleted = Prelude.Nothing,
+ _FeedEntity'tripUpdate = Prelude.Nothing,
+ _FeedEntity'vehicle = Prelude.Nothing,
+ _FeedEntity'alert = Prelude.Nothing,
+ _FeedEntity'shape = Prelude.Nothing,
+ _FeedEntity'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ FeedEntity
+ -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser FeedEntity
+ loop x required'id
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = (if required'id then (:) "id" else Prelude.id) []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "id"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x)
+ Prelude.False
+ 16
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ ((Prelude./=) 0) Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "is_deleted"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"isDeleted") y x)
+ required'id
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "trip_update"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"tripUpdate") y x)
+ required'id
+ 34
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "vehicle"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x)
+ required'id
+ 42
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "alert"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"alert") y x)
+ required'id
+ 50
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "shape"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"shape") y x)
+ required'id
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'id
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage Prelude.True) "FeedEntity"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"id") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'isDeleted") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt (\ b -> if b then 1 else 0)
+ _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'tripUpdate") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'alert") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shape") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData FeedEntity where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_FeedEntity'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_FeedEntity'id x__)
+ (Control.DeepSeq.deepseq
+ (_FeedEntity'isDeleted x__)
+ (Control.DeepSeq.deepseq
+ (_FeedEntity'tripUpdate x__)
+ (Control.DeepSeq.deepseq
+ (_FeedEntity'vehicle x__)
+ (Control.DeepSeq.deepseq
+ (_FeedEntity'alert x__)
+ (Control.DeepSeq.deepseq (_FeedEntity'shape x__) ()))))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.gtfsRealtimeVersion' @:: Lens' FeedHeader Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.incrementality' @:: Lens' FeedHeader FeedHeader'Incrementality@
+ * 'Proto.GtfsRealtime_Fields.maybe'incrementality' @:: Lens' FeedHeader (Prelude.Maybe FeedHeader'Incrementality)@
+ * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' FeedHeader Data.Word.Word64@
+ * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' FeedHeader (Prelude.Maybe Data.Word.Word64)@ -}
+data FeedHeader
+ = FeedHeader'_constructor {_FeedHeader'gtfsRealtimeVersion :: !Data.Text.Text,
+ _FeedHeader'incrementality :: !(Prelude.Maybe FeedHeader'Incrementality),
+ _FeedHeader'timestamp :: !(Prelude.Maybe Data.Word.Word64),
+ _FeedHeader'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FeedHeader where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FeedHeader "gtfsRealtimeVersion" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedHeader'gtfsRealtimeVersion
+ (\ x__ y__ -> x__ {_FeedHeader'gtfsRealtimeVersion = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedHeader "incrementality" FeedHeader'Incrementality where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedHeader'incrementality
+ (\ x__ y__ -> x__ {_FeedHeader'incrementality = y__}))
+ (Data.ProtoLens.maybeLens FeedHeader'FULL_DATASET)
+instance Data.ProtoLens.Field.HasField FeedHeader "maybe'incrementality" (Prelude.Maybe FeedHeader'Incrementality) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedHeader'incrementality
+ (\ x__ y__ -> x__ {_FeedHeader'incrementality = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedHeader "timestamp" Data.Word.Word64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedHeader'timestamp
+ (\ x__ y__ -> x__ {_FeedHeader'timestamp = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField FeedHeader "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedHeader'timestamp
+ (\ x__ y__ -> x__ {_FeedHeader'timestamp = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message FeedHeader where
+ messageName _ = Data.Text.pack "transit_realtime.FeedHeader"
+ packedMessageDescriptor _
+ = "\n\
+ \\n\
+ \FeedHeader\DC22\n\
+ \\NAKgtfs_realtime_version\CAN\SOH \STX(\tR\DC3gtfsRealtimeVersion\DC2a\n\
+ \\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASETR\SOincrementality\DC2\FS\n\
+ \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp\"4\n\
+ \\SOIncrementality\DC2\DLE\n\
+ \\fFULL_DATASET\DLE\NUL\DC2\DLE\n\
+ \\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ gtfsRealtimeVersion__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "gtfs_realtime_version"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required
+ (Data.ProtoLens.Field.field @"gtfsRealtimeVersion")) ::
+ Data.ProtoLens.FieldDescriptor FeedHeader
+ incrementality__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "incrementality"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor FeedHeader'Incrementality)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'incrementality")) ::
+ Data.ProtoLens.FieldDescriptor FeedHeader
+ timestamp__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "timestamp"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'timestamp")) ::
+ Data.ProtoLens.FieldDescriptor FeedHeader
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, gtfsRealtimeVersion__field_descriptor),
+ (Data.ProtoLens.Tag 2, incrementality__field_descriptor),
+ (Data.ProtoLens.Tag 3, timestamp__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _FeedHeader'_unknownFields
+ (\ x__ y__ -> x__ {_FeedHeader'_unknownFields = y__})
+ defMessage
+ = FeedHeader'_constructor
+ {_FeedHeader'gtfsRealtimeVersion = Data.ProtoLens.fieldDefault,
+ _FeedHeader'incrementality = Prelude.Nothing,
+ _FeedHeader'timestamp = Prelude.Nothing,
+ _FeedHeader'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ FeedHeader
+ -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser FeedHeader
+ loop x required'gtfsRealtimeVersion
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let
+ missing
+ = (if required'gtfsRealtimeVersion then
+ (:) "gtfs_realtime_version"
+ else
+ Prelude.id)
+ []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "gtfs_realtime_version"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"gtfsRealtimeVersion") y x)
+ Prelude.False
+ 16
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "incrementality"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"incrementality") y x)
+ required'gtfsRealtimeVersion
+ 24
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x)
+ required'gtfsRealtimeVersion
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'gtfsRealtimeVersion
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage Prelude.True) "FeedHeader"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"gtfsRealtimeVersion") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'incrementality") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'timestamp") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData FeedHeader where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_FeedHeader'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_FeedHeader'gtfsRealtimeVersion x__)
+ (Control.DeepSeq.deepseq
+ (_FeedHeader'incrementality x__)
+ (Control.DeepSeq.deepseq (_FeedHeader'timestamp x__) ())))
+data FeedHeader'Incrementality
+ = FeedHeader'FULL_DATASET | FeedHeader'DIFFERENTIAL
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum FeedHeader'Incrementality where
+ maybeToEnum 0 = Prelude.Just FeedHeader'FULL_DATASET
+ maybeToEnum 1 = Prelude.Just FeedHeader'DIFFERENTIAL
+ maybeToEnum _ = Prelude.Nothing
+ showEnum FeedHeader'FULL_DATASET = "FULL_DATASET"
+ showEnum FeedHeader'DIFFERENTIAL = "DIFFERENTIAL"
+ readEnum k
+ | (Prelude.==) k "FULL_DATASET"
+ = Prelude.Just FeedHeader'FULL_DATASET
+ | (Prelude.==) k "DIFFERENTIAL"
+ = Prelude.Just FeedHeader'DIFFERENTIAL
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded FeedHeader'Incrementality where
+ minBound = FeedHeader'FULL_DATASET
+ maxBound = FeedHeader'DIFFERENTIAL
+instance Prelude.Enum FeedHeader'Incrementality where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum Incrementality: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum FeedHeader'FULL_DATASET = 0
+ fromEnum FeedHeader'DIFFERENTIAL = 1
+ succ FeedHeader'DIFFERENTIAL
+ = Prelude.error
+ "FeedHeader'Incrementality.succ: bad argument FeedHeader'DIFFERENTIAL. This value would be out of bounds."
+ succ FeedHeader'FULL_DATASET = FeedHeader'DIFFERENTIAL
+ pred FeedHeader'FULL_DATASET
+ = Prelude.error
+ "FeedHeader'Incrementality.pred: bad argument FeedHeader'FULL_DATASET. This value would be out of bounds."
+ pred FeedHeader'DIFFERENTIAL = FeedHeader'FULL_DATASET
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault FeedHeader'Incrementality where
+ fieldDefault = FeedHeader'FULL_DATASET
+instance Control.DeepSeq.NFData FeedHeader'Incrementality where
+ rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.header' @:: Lens' FeedMessage FeedHeader@
+ * 'Proto.GtfsRealtime_Fields.entity' @:: Lens' FeedMessage [FeedEntity]@
+ * 'Proto.GtfsRealtime_Fields.vec'entity' @:: Lens' FeedMessage (Data.Vector.Vector FeedEntity)@ -}
+data FeedMessage
+ = FeedMessage'_constructor {_FeedMessage'header :: !FeedHeader,
+ _FeedMessage'entity :: !(Data.Vector.Vector FeedEntity),
+ _FeedMessage'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show FeedMessage where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField FeedMessage "header" FeedHeader where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedMessage'header (\ x__ y__ -> x__ {_FeedMessage'header = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField FeedMessage "entity" [FeedEntity] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedMessage'entity (\ x__ y__ -> x__ {_FeedMessage'entity = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField FeedMessage "vec'entity" (Data.Vector.Vector FeedEntity) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _FeedMessage'entity (\ x__ y__ -> x__ {_FeedMessage'entity = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message FeedMessage where
+ messageName _ = Data.Text.pack "transit_realtime.FeedMessage"
+ packedMessageDescriptor _
+ = "\n\
+ \\vFeedMessage\DC24\n\
+ \\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeaderR\ACKheader\DC24\n\
+ \\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntityR\ACKentity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ header__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "header"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor FeedHeader)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required (Data.ProtoLens.Field.field @"header")) ::
+ Data.ProtoLens.FieldDescriptor FeedMessage
+ entity__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "entity"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor FeedEntity)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked (Data.ProtoLens.Field.field @"entity")) ::
+ Data.ProtoLens.FieldDescriptor FeedMessage
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, header__field_descriptor),
+ (Data.ProtoLens.Tag 2, entity__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _FeedMessage'_unknownFields
+ (\ x__ y__ -> x__ {_FeedMessage'_unknownFields = y__})
+ defMessage
+ = FeedMessage'_constructor
+ {_FeedMessage'header = Data.ProtoLens.defMessage,
+ _FeedMessage'entity = Data.Vector.Generic.empty,
+ _FeedMessage'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ FeedMessage
+ -> Prelude.Bool
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld FeedEntity
+ -> Data.ProtoLens.Encoding.Bytes.Parser FeedMessage
+ loop x required'header mutable'entity
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'entity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'entity)
+ (let
+ missing = (if required'header then (:) "header" else Prelude.id) []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'entity") frozen'entity x))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "header"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"header") y x)
+ Prelude.False mutable'entity
+ 18
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "entity"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append mutable'entity y)
+ loop x required'header v
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'header mutable'entity
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'entity <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop Data.ProtoLens.defMessage Prelude.True mutable'entity)
+ "FeedMessage"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"header") _x)))
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"vec'entity") _x))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData FeedMessage where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_FeedMessage'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_FeedMessage'header x__)
+ (Control.DeepSeq.deepseq (_FeedMessage'entity x__) ()))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.latitude' @:: Lens' Position Prelude.Float@
+ * 'Proto.GtfsRealtime_Fields.longitude' @:: Lens' Position Prelude.Float@
+ * 'Proto.GtfsRealtime_Fields.bearing' @:: Lens' Position Prelude.Float@
+ * 'Proto.GtfsRealtime_Fields.maybe'bearing' @:: Lens' Position (Prelude.Maybe Prelude.Float)@
+ * 'Proto.GtfsRealtime_Fields.odometer' @:: Lens' Position Prelude.Double@
+ * 'Proto.GtfsRealtime_Fields.maybe'odometer' @:: Lens' Position (Prelude.Maybe Prelude.Double)@
+ * 'Proto.GtfsRealtime_Fields.speed' @:: Lens' Position Prelude.Float@
+ * 'Proto.GtfsRealtime_Fields.maybe'speed' @:: Lens' Position (Prelude.Maybe Prelude.Float)@ -}
+data Position
+ = Position'_constructor {_Position'latitude :: !Prelude.Float,
+ _Position'longitude :: !Prelude.Float,
+ _Position'bearing :: !(Prelude.Maybe Prelude.Float),
+ _Position'odometer :: !(Prelude.Maybe Prelude.Double),
+ _Position'speed :: !(Prelude.Maybe Prelude.Float),
+ _Position'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Position where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Position "latitude" Prelude.Float where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'latitude (\ x__ y__ -> x__ {_Position'latitude = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Position "longitude" Prelude.Float where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'longitude (\ x__ y__ -> x__ {_Position'longitude = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Position "bearing" Prelude.Float where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'bearing (\ x__ y__ -> x__ {_Position'bearing = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Position "maybe'bearing" (Prelude.Maybe Prelude.Float) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'bearing (\ x__ y__ -> x__ {_Position'bearing = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Position "odometer" Prelude.Double where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'odometer (\ x__ y__ -> x__ {_Position'odometer = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Position "maybe'odometer" (Prelude.Maybe Prelude.Double) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'odometer (\ x__ y__ -> x__ {_Position'odometer = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Position "speed" Prelude.Float where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'speed (\ x__ y__ -> x__ {_Position'speed = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Position "maybe'speed" (Prelude.Maybe Prelude.Float) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Position'speed (\ x__ y__ -> x__ {_Position'speed = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message Position where
+ messageName _ = Data.Text.pack "transit_realtime.Position"
+ packedMessageDescriptor _
+ = "\n\
+ \\bPosition\DC2\SUB\n\
+ \\blatitude\CAN\SOH \STX(\STXR\blatitude\DC2\FS\n\
+ \\tlongitude\CAN\STX \STX(\STXR\tlongitude\DC2\CAN\n\
+ \\abearing\CAN\ETX \SOH(\STXR\abearing\DC2\SUB\n\
+ \\bodometer\CAN\EOT \SOH(\SOHR\bodometer\DC2\DC4\n\
+ \\ENQspeed\CAN\ENQ \SOH(\STXR\ENQspeed*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ latitude__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "latitude"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required
+ (Data.ProtoLens.Field.field @"latitude")) ::
+ Data.ProtoLens.FieldDescriptor Position
+ longitude__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "longitude"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required
+ (Data.ProtoLens.Field.field @"longitude")) ::
+ Data.ProtoLens.FieldDescriptor Position
+ bearing__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "bearing"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'bearing")) ::
+ Data.ProtoLens.FieldDescriptor Position
+ odometer__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "odometer"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.DoubleField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Double)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'odometer")) ::
+ Data.ProtoLens.FieldDescriptor Position
+ speed__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "speed"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.FloatField ::
+ Data.ProtoLens.FieldTypeDescriptor Prelude.Float)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'speed")) ::
+ Data.ProtoLens.FieldDescriptor Position
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, latitude__field_descriptor),
+ (Data.ProtoLens.Tag 2, longitude__field_descriptor),
+ (Data.ProtoLens.Tag 3, bearing__field_descriptor),
+ (Data.ProtoLens.Tag 4, odometer__field_descriptor),
+ (Data.ProtoLens.Tag 5, speed__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _Position'_unknownFields
+ (\ x__ y__ -> x__ {_Position'_unknownFields = y__})
+ defMessage
+ = Position'_constructor
+ {_Position'latitude = Data.ProtoLens.fieldDefault,
+ _Position'longitude = Data.ProtoLens.fieldDefault,
+ _Position'bearing = Prelude.Nothing,
+ _Position'odometer = Prelude.Nothing,
+ _Position'speed = Prelude.Nothing, _Position'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ Position
+ -> Prelude.Bool
+ -> Prelude.Bool -> Data.ProtoLens.Encoding.Bytes.Parser Position
+ loop x required'latitude required'longitude
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let
+ missing
+ = (if required'latitude then (:) "latitude" else Prelude.id)
+ ((if required'longitude then (:) "longitude" else Prelude.id) [])
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 13
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Data.ProtoLens.Encoding.Bytes.wordToFloat
+ Data.ProtoLens.Encoding.Bytes.getFixed32)
+ "latitude"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"latitude") y x)
+ Prelude.False required'longitude
+ 21
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Data.ProtoLens.Encoding.Bytes.wordToFloat
+ Data.ProtoLens.Encoding.Bytes.getFixed32)
+ "longitude"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"longitude") y x)
+ required'latitude Prelude.False
+ 29
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Data.ProtoLens.Encoding.Bytes.wordToFloat
+ Data.ProtoLens.Encoding.Bytes.getFixed32)
+ "bearing"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"bearing") y x)
+ required'latitude required'longitude
+ 33
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Data.ProtoLens.Encoding.Bytes.wordToDouble
+ Data.ProtoLens.Encoding.Bytes.getFixed64)
+ "odometer"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"odometer") y x)
+ required'latitude required'longitude
+ 45
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Data.ProtoLens.Encoding.Bytes.wordToFloat
+ Data.ProtoLens.Encoding.Bytes.getFixed32)
+ "speed"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"speed") y x)
+ required'latitude required'longitude
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'latitude required'longitude
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True)
+ "Position"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 13)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putFixed32
+ Data.ProtoLens.Encoding.Bytes.floatToWord
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"latitude") _x)))
+ ((Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 21)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putFixed32
+ Data.ProtoLens.Encoding.Bytes.floatToWord
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"longitude") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'bearing") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 29)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putFixed32
+ Data.ProtoLens.Encoding.Bytes.floatToWord _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'odometer") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 33)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putFixed64
+ Data.ProtoLens.Encoding.Bytes.doubleToWord _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'speed") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 45)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putFixed32
+ Data.ProtoLens.Encoding.Bytes.floatToWord _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData Position where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_Position'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_Position'latitude x__)
+ (Control.DeepSeq.deepseq
+ (_Position'longitude x__)
+ (Control.DeepSeq.deepseq
+ (_Position'bearing x__)
+ (Control.DeepSeq.deepseq
+ (_Position'odometer x__)
+ (Control.DeepSeq.deepseq (_Position'speed x__) ())))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.shapeId' @:: Lens' Shape Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'shapeId' @:: Lens' Shape (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.encodedPolyline' @:: Lens' Shape Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'encodedPolyline' @:: Lens' Shape (Prelude.Maybe Data.Text.Text)@ -}
+data Shape
+ = Shape'_constructor {_Shape'shapeId :: !(Prelude.Maybe Data.Text.Text),
+ _Shape'encodedPolyline :: !(Prelude.Maybe Data.Text.Text),
+ _Shape'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show Shape where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField Shape "shapeId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Shape'shapeId (\ x__ y__ -> x__ {_Shape'shapeId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Shape "maybe'shapeId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Shape'shapeId (\ x__ y__ -> x__ {_Shape'shapeId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField Shape "encodedPolyline" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Shape'encodedPolyline
+ (\ x__ y__ -> x__ {_Shape'encodedPolyline = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField Shape "maybe'encodedPolyline" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _Shape'encodedPolyline
+ (\ x__ y__ -> x__ {_Shape'encodedPolyline = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message Shape where
+ messageName _ = Data.Text.pack "transit_realtime.Shape"
+ packedMessageDescriptor _
+ = "\n\
+ \\ENQShape\DC2\EM\n\
+ \\bshape_id\CAN\SOH \SOH(\tR\ashapeId\DC2)\n\
+ \\DLEencoded_polyline\CAN\STX \SOH(\tR\SIencodedPolyline*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ shapeId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "shape_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'shapeId")) ::
+ Data.ProtoLens.FieldDescriptor Shape
+ encodedPolyline__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "encoded_polyline"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'encodedPolyline")) ::
+ Data.ProtoLens.FieldDescriptor Shape
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, shapeId__field_descriptor),
+ (Data.ProtoLens.Tag 2, encodedPolyline__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _Shape'_unknownFields
+ (\ x__ y__ -> x__ {_Shape'_unknownFields = y__})
+ defMessage
+ = Shape'_constructor
+ {_Shape'shapeId = Prelude.Nothing,
+ _Shape'encodedPolyline = Prelude.Nothing,
+ _Shape'_unknownFields = []}
+ parseMessage
+ = let
+ loop :: Shape -> Data.ProtoLens.Encoding.Bytes.Parser Shape
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "shape_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"shapeId") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "encoded_polyline"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"encodedPolyline") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "Shape"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shapeId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'encodedPolyline") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData Shape where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_Shape'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_Shape'shapeId x__)
+ (Control.DeepSeq.deepseq (_Shape'encodedPolyline x__) ()))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.start' @:: Lens' TimeRange Data.Word.Word64@
+ * 'Proto.GtfsRealtime_Fields.maybe'start' @:: Lens' TimeRange (Prelude.Maybe Data.Word.Word64)@
+ * 'Proto.GtfsRealtime_Fields.end' @:: Lens' TimeRange Data.Word.Word64@
+ * 'Proto.GtfsRealtime_Fields.maybe'end' @:: Lens' TimeRange (Prelude.Maybe Data.Word.Word64)@ -}
+data TimeRange
+ = TimeRange'_constructor {_TimeRange'start :: !(Prelude.Maybe Data.Word.Word64),
+ _TimeRange'end :: !(Prelude.Maybe Data.Word.Word64),
+ _TimeRange'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TimeRange where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TimeRange "start" Data.Word.Word64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TimeRange'start (\ x__ y__ -> x__ {_TimeRange'start = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TimeRange "maybe'start" (Prelude.Maybe Data.Word.Word64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TimeRange'start (\ x__ y__ -> x__ {_TimeRange'start = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TimeRange "end" Data.Word.Word64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TimeRange'end (\ x__ y__ -> x__ {_TimeRange'end = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TimeRange "maybe'end" (Prelude.Maybe Data.Word.Word64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TimeRange'end (\ x__ y__ -> x__ {_TimeRange'end = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TimeRange where
+ messageName _ = Data.Text.pack "transit_realtime.TimeRange"
+ packedMessageDescriptor _
+ = "\n\
+ \\tTimeRange\DC2\DC4\n\
+ \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
+ \\ETXend\CAN\STX \SOH(\EOTR\ETXend*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ start__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "start"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'start")) ::
+ Data.ProtoLens.FieldDescriptor TimeRange
+ end__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "end"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'end")) ::
+ Data.ProtoLens.FieldDescriptor TimeRange
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, start__field_descriptor),
+ (Data.ProtoLens.Tag 2, end__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TimeRange'_unknownFields
+ (\ x__ y__ -> x__ {_TimeRange'_unknownFields = y__})
+ defMessage
+ = TimeRange'_constructor
+ {_TimeRange'start = Prelude.Nothing,
+ _TimeRange'end = Prelude.Nothing, _TimeRange'_unknownFields = []}
+ parseMessage
+ = let
+ loop :: TimeRange -> Data.ProtoLens.Encoding.Bytes.Parser TimeRange
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ Data.ProtoLens.Encoding.Bytes.getVarInt "start"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"start") y x)
+ 16
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ Data.ProtoLens.Encoding.Bytes.getVarInt "end"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"end") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "TimeRange"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'start") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'end") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData TimeRange where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TimeRange'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TimeRange'start x__)
+ (Control.DeepSeq.deepseq (_TimeRange'end x__) ()))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.localizedImage' @:: Lens' TranslatedImage [TranslatedImage'LocalizedImage]@
+ * 'Proto.GtfsRealtime_Fields.vec'localizedImage' @:: Lens' TranslatedImage (Data.Vector.Vector TranslatedImage'LocalizedImage)@ -}
+data TranslatedImage
+ = TranslatedImage'_constructor {_TranslatedImage'localizedImage :: !(Data.Vector.Vector TranslatedImage'LocalizedImage),
+ _TranslatedImage'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TranslatedImage where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TranslatedImage "localizedImage" [TranslatedImage'LocalizedImage] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'localizedImage
+ (\ x__ y__ -> x__ {_TranslatedImage'localizedImage = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField TranslatedImage "vec'localizedImage" (Data.Vector.Vector TranslatedImage'LocalizedImage) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'localizedImage
+ (\ x__ y__ -> x__ {_TranslatedImage'localizedImage = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TranslatedImage where
+ messageName _ = Data.Text.pack "transit_realtime.TranslatedImage"
+ packedMessageDescriptor _
+ = "\n\
+ \\SITranslatedImage\DC2Y\n\
+ \\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImageR\SOlocalizedImage\SUBm\n\
+ \\SOLocalizedImage\DC2\DLE\n\
+ \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\
+ \\n\
+ \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\
+ \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ localizedImage__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "localized_image"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedImage'LocalizedImage)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"localizedImage")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedImage
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, localizedImage__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TranslatedImage'_unknownFields
+ (\ x__ y__ -> x__ {_TranslatedImage'_unknownFields = y__})
+ defMessage
+ = TranslatedImage'_constructor
+ {_TranslatedImage'localizedImage = Data.Vector.Generic.empty,
+ _TranslatedImage'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TranslatedImage
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TranslatedImage'LocalizedImage
+ -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedImage
+ loop x mutable'localizedImage
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'localizedImage <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'localizedImage)
+ (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'localizedImage")
+ frozen'localizedImage x))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "localized_image"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'localizedImage y)
+ loop x v
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ mutable'localizedImage
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'localizedImage <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop Data.ProtoLens.defMessage mutable'localizedImage)
+ "TranslatedImage"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"vec'localizedImage") _x))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData TranslatedImage where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TranslatedImage'_unknownFields x__)
+ (Control.DeepSeq.deepseq (_TranslatedImage'localizedImage x__) ())
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.url' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.mediaType' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.language' @:: Lens' TranslatedImage'LocalizedImage Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'language' @:: Lens' TranslatedImage'LocalizedImage (Prelude.Maybe Data.Text.Text)@ -}
+data TranslatedImage'LocalizedImage
+ = TranslatedImage'LocalizedImage'_constructor {_TranslatedImage'LocalizedImage'url :: !Data.Text.Text,
+ _TranslatedImage'LocalizedImage'mediaType :: !Data.Text.Text,
+ _TranslatedImage'LocalizedImage'language :: !(Prelude.Maybe Data.Text.Text),
+ _TranslatedImage'LocalizedImage'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TranslatedImage'LocalizedImage where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "url" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'LocalizedImage'url
+ (\ x__ y__ -> x__ {_TranslatedImage'LocalizedImage'url = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "mediaType" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'LocalizedImage'mediaType
+ (\ x__ y__
+ -> x__ {_TranslatedImage'LocalizedImage'mediaType = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "language" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'LocalizedImage'language
+ (\ x__ y__
+ -> x__ {_TranslatedImage'LocalizedImage'language = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TranslatedImage'LocalizedImage "maybe'language" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedImage'LocalizedImage'language
+ (\ x__ y__
+ -> x__ {_TranslatedImage'LocalizedImage'language = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TranslatedImage'LocalizedImage where
+ messageName _
+ = Data.Text.pack "transit_realtime.TranslatedImage.LocalizedImage"
+ packedMessageDescriptor _
+ = "\n\
+ \\SOLocalizedImage\DC2\DLE\n\
+ \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\
+ \\n\
+ \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\
+ \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ url__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "url"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required (Data.ProtoLens.Field.field @"url")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage
+ mediaType__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "media_type"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required
+ (Data.ProtoLens.Field.field @"mediaType")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage
+ language__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "language"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'language")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedImage'LocalizedImage
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, url__field_descriptor),
+ (Data.ProtoLens.Tag 2, mediaType__field_descriptor),
+ (Data.ProtoLens.Tag 3, language__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TranslatedImage'LocalizedImage'_unknownFields
+ (\ x__ y__
+ -> x__ {_TranslatedImage'LocalizedImage'_unknownFields = y__})
+ defMessage
+ = TranslatedImage'LocalizedImage'_constructor
+ {_TranslatedImage'LocalizedImage'url = Data.ProtoLens.fieldDefault,
+ _TranslatedImage'LocalizedImage'mediaType = Data.ProtoLens.fieldDefault,
+ _TranslatedImage'LocalizedImage'language = Prelude.Nothing,
+ _TranslatedImage'LocalizedImage'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TranslatedImage'LocalizedImage
+ -> Prelude.Bool
+ -> Prelude.Bool
+ -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedImage'LocalizedImage
+ loop x required'mediaType required'url
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let
+ missing
+ = (if required'mediaType then (:) "media_type" else Prelude.id)
+ ((if required'url then (:) "url" else Prelude.id) [])
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "url"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"url") y x)
+ required'mediaType Prelude.False
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "media_type"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"mediaType") y x)
+ Prelude.False required'url
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "language"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x)
+ required'mediaType required'url
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'mediaType required'url
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage Prelude.True Prelude.True)
+ "LocalizedImage"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"url") _x)))
+ ((Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"mediaType") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'language") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData TranslatedImage'LocalizedImage where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TranslatedImage'LocalizedImage'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TranslatedImage'LocalizedImage'url x__)
+ (Control.DeepSeq.deepseq
+ (_TranslatedImage'LocalizedImage'mediaType x__)
+ (Control.DeepSeq.deepseq
+ (_TranslatedImage'LocalizedImage'language x__) ())))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.translation' @:: Lens' TranslatedString [TranslatedString'Translation]@
+ * 'Proto.GtfsRealtime_Fields.vec'translation' @:: Lens' TranslatedString (Data.Vector.Vector TranslatedString'Translation)@ -}
+data TranslatedString
+ = TranslatedString'_constructor {_TranslatedString'translation :: !(Data.Vector.Vector TranslatedString'Translation),
+ _TranslatedString'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TranslatedString where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TranslatedString "translation" [TranslatedString'Translation] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedString'translation
+ (\ x__ y__ -> x__ {_TranslatedString'translation = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField TranslatedString "vec'translation" (Data.Vector.Vector TranslatedString'Translation) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedString'translation
+ (\ x__ y__ -> x__ {_TranslatedString'translation = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TranslatedString where
+ messageName _ = Data.Text.pack "transit_realtime.TranslatedString"
+ packedMessageDescriptor _
+ = "\n\
+ \\DLETranslatedString\DC2P\n\
+ \\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.TranslationR\vtranslation\SUBM\n\
+ \\vTranslation\DC2\DC2\n\
+ \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\
+ \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ translation__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "translation"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TranslatedString'Translation)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"translation")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedString
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, translation__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TranslatedString'_unknownFields
+ (\ x__ y__ -> x__ {_TranslatedString'_unknownFields = y__})
+ defMessage
+ = TranslatedString'_constructor
+ {_TranslatedString'translation = Data.Vector.Generic.empty,
+ _TranslatedString'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TranslatedString
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TranslatedString'Translation
+ -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedString
+ loop x mutable'translation
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'translation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'translation)
+ (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'translation") frozen'translation
+ x))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "translation"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'translation y)
+ loop x v
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ mutable'translation
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'translation <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop Data.ProtoLens.defMessage mutable'translation)
+ "TranslatedString"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"vec'translation") _x))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData TranslatedString where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TranslatedString'_unknownFields x__)
+ (Control.DeepSeq.deepseq (_TranslatedString'translation x__) ())
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.text' @:: Lens' TranslatedString'Translation Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.language' @:: Lens' TranslatedString'Translation Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'language' @:: Lens' TranslatedString'Translation (Prelude.Maybe Data.Text.Text)@ -}
+data TranslatedString'Translation
+ = TranslatedString'Translation'_constructor {_TranslatedString'Translation'text :: !Data.Text.Text,
+ _TranslatedString'Translation'language :: !(Prelude.Maybe Data.Text.Text),
+ _TranslatedString'Translation'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TranslatedString'Translation where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TranslatedString'Translation "text" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedString'Translation'text
+ (\ x__ y__ -> x__ {_TranslatedString'Translation'text = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TranslatedString'Translation "language" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedString'Translation'language
+ (\ x__ y__ -> x__ {_TranslatedString'Translation'language = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TranslatedString'Translation "maybe'language" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TranslatedString'Translation'language
+ (\ x__ y__ -> x__ {_TranslatedString'Translation'language = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TranslatedString'Translation where
+ messageName _
+ = Data.Text.pack "transit_realtime.TranslatedString.Translation"
+ packedMessageDescriptor _
+ = "\n\
+ \\vTranslation\DC2\DC2\n\
+ \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\
+ \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ text__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "text"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required (Data.ProtoLens.Field.field @"text")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedString'Translation
+ language__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "language"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'language")) ::
+ Data.ProtoLens.FieldDescriptor TranslatedString'Translation
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, text__field_descriptor),
+ (Data.ProtoLens.Tag 2, language__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TranslatedString'Translation'_unknownFields
+ (\ x__ y__
+ -> x__ {_TranslatedString'Translation'_unknownFields = y__})
+ defMessage
+ = TranslatedString'Translation'_constructor
+ {_TranslatedString'Translation'text = Data.ProtoLens.fieldDefault,
+ _TranslatedString'Translation'language = Prelude.Nothing,
+ _TranslatedString'Translation'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TranslatedString'Translation
+ -> Prelude.Bool
+ -> Data.ProtoLens.Encoding.Bytes.Parser TranslatedString'Translation
+ loop x required'text
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let
+ missing = (if required'text then (:) "text" else Prelude.id) []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "text"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"text") y x)
+ Prelude.False
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "language"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"language") y x)
+ required'text
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'text
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage Prelude.True) "Translation"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"text") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'language") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))
+instance Control.DeepSeq.NFData TranslatedString'Translation where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TranslatedString'Translation'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TranslatedString'Translation'text x__)
+ (Control.DeepSeq.deepseq
+ (_TranslatedString'Translation'language x__) ()))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.tripId' @:: Lens' TripDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'tripId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.routeId' @:: Lens' TripDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'routeId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.directionId' @:: Lens' TripDescriptor Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'directionId' @:: Lens' TripDescriptor (Prelude.Maybe Data.Word.Word32)@
+ * 'Proto.GtfsRealtime_Fields.startTime' @:: Lens' TripDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'startTime' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.startDate' @:: Lens' TripDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'startDate' @:: Lens' TripDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.scheduleRelationship' @:: Lens' TripDescriptor TripDescriptor'ScheduleRelationship@
+ * 'Proto.GtfsRealtime_Fields.maybe'scheduleRelationship' @:: Lens' TripDescriptor (Prelude.Maybe TripDescriptor'ScheduleRelationship)@ -}
+data TripDescriptor
+ = TripDescriptor'_constructor {_TripDescriptor'tripId :: !(Prelude.Maybe Data.Text.Text),
+ _TripDescriptor'routeId :: !(Prelude.Maybe Data.Text.Text),
+ _TripDescriptor'directionId :: !(Prelude.Maybe Data.Word.Word32),
+ _TripDescriptor'startTime :: !(Prelude.Maybe Data.Text.Text),
+ _TripDescriptor'startDate :: !(Prelude.Maybe Data.Text.Text),
+ _TripDescriptor'scheduleRelationship :: !(Prelude.Maybe TripDescriptor'ScheduleRelationship),
+ _TripDescriptor'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripDescriptor where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripDescriptor "tripId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'tripId
+ (\ x__ y__ -> x__ {_TripDescriptor'tripId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'tripId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'tripId
+ (\ x__ y__ -> x__ {_TripDescriptor'tripId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripDescriptor "routeId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'routeId
+ (\ x__ y__ -> x__ {_TripDescriptor'routeId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'routeId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'routeId
+ (\ x__ y__ -> x__ {_TripDescriptor'routeId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripDescriptor "directionId" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'directionId
+ (\ x__ y__ -> x__ {_TripDescriptor'directionId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'directionId" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'directionId
+ (\ x__ y__ -> x__ {_TripDescriptor'directionId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripDescriptor "startTime" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'startTime
+ (\ x__ y__ -> x__ {_TripDescriptor'startTime = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'startTime" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'startTime
+ (\ x__ y__ -> x__ {_TripDescriptor'startTime = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripDescriptor "startDate" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'startDate
+ (\ x__ y__ -> x__ {_TripDescriptor'startDate = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'startDate" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'startDate
+ (\ x__ y__ -> x__ {_TripDescriptor'startDate = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripDescriptor "scheduleRelationship" TripDescriptor'ScheduleRelationship where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'scheduleRelationship
+ (\ x__ y__ -> x__ {_TripDescriptor'scheduleRelationship = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripDescriptor "maybe'scheduleRelationship" (Prelude.Maybe TripDescriptor'ScheduleRelationship) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripDescriptor'scheduleRelationship
+ (\ x__ y__ -> x__ {_TripDescriptor'scheduleRelationship = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripDescriptor where
+ messageName _ = Data.Text.pack "transit_realtime.TripDescriptor"
+ packedMessageDescriptor _
+ = "\n\
+ \\SOTripDescriptor\DC2\ETB\n\
+ \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\EM\n\
+ \\broute_id\CAN\ENQ \SOH(\tR\arouteId\DC2!\n\
+ \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId\DC2\GS\n\
+ \\n\
+ \start_time\CAN\STX \SOH(\tR\tstartTime\DC2\GS\n\
+ \\n\
+ \start_date\CAN\ETX \SOH(\tR\tstartDate\DC2j\n\
+ \\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationshipR\DC4scheduleRelationship\"p\n\
+ \\DC4ScheduleRelationship\DC2\r\n\
+ \\tSCHEDULED\DLE\NUL\DC2\t\n\
+ \\ENQADDED\DLE\SOH\DC2\SI\n\
+ \\vUNSCHEDULED\DLE\STX\DC2\f\n\
+ \\bCANCELED\DLE\ETX\DC2\SI\n\
+ \\vREPLACEMENT\DLE\ENQ\DC2\SO\n\
+ \\n\
+ \DUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ tripId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'tripId")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ routeId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "route_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'routeId")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ directionId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "direction_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'directionId")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ startTime__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "start_time"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'startTime")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ startDate__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "start_date"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'startDate")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ scheduleRelationship__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "schedule_relationship"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor TripDescriptor'ScheduleRelationship)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'scheduleRelationship")) ::
+ Data.ProtoLens.FieldDescriptor TripDescriptor
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, tripId__field_descriptor),
+ (Data.ProtoLens.Tag 5, routeId__field_descriptor),
+ (Data.ProtoLens.Tag 6, directionId__field_descriptor),
+ (Data.ProtoLens.Tag 2, startTime__field_descriptor),
+ (Data.ProtoLens.Tag 3, startDate__field_descriptor),
+ (Data.ProtoLens.Tag 4, scheduleRelationship__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripDescriptor'_unknownFields
+ (\ x__ y__ -> x__ {_TripDescriptor'_unknownFields = y__})
+ defMessage
+ = TripDescriptor'_constructor
+ {_TripDescriptor'tripId = Prelude.Nothing,
+ _TripDescriptor'routeId = Prelude.Nothing,
+ _TripDescriptor'directionId = Prelude.Nothing,
+ _TripDescriptor'startTime = Prelude.Nothing,
+ _TripDescriptor'startDate = Prelude.Nothing,
+ _TripDescriptor'scheduleRelationship = Prelude.Nothing,
+ _TripDescriptor'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripDescriptor
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripDescriptor
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "trip_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"tripId") y x)
+ 42
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "route_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"routeId") y x)
+ 48
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "direction_id"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"directionId") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "start_time"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"startTime") y x)
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "start_date"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"startDate") y x)
+ 32
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "schedule_relationship"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"scheduleRelationship") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "TripDescriptor"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'tripId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'routeId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 42)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'directionId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'startTime") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'startDate") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'scheduleRelationship") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData TripDescriptor where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripDescriptor'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'tripId x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'routeId x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'directionId x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'startTime x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'startDate x__)
+ (Control.DeepSeq.deepseq
+ (_TripDescriptor'scheduleRelationship x__) ()))))))
+data TripDescriptor'ScheduleRelationship
+ = TripDescriptor'SCHEDULED |
+ TripDescriptor'ADDED |
+ TripDescriptor'UNSCHEDULED |
+ TripDescriptor'CANCELED |
+ TripDescriptor'REPLACEMENT |
+ TripDescriptor'DUPLICATED
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum TripDescriptor'ScheduleRelationship where
+ maybeToEnum 0 = Prelude.Just TripDescriptor'SCHEDULED
+ maybeToEnum 1 = Prelude.Just TripDescriptor'ADDED
+ maybeToEnum 2 = Prelude.Just TripDescriptor'UNSCHEDULED
+ maybeToEnum 3 = Prelude.Just TripDescriptor'CANCELED
+ maybeToEnum 5 = Prelude.Just TripDescriptor'REPLACEMENT
+ maybeToEnum 6 = Prelude.Just TripDescriptor'DUPLICATED
+ maybeToEnum _ = Prelude.Nothing
+ showEnum TripDescriptor'SCHEDULED = "SCHEDULED"
+ showEnum TripDescriptor'ADDED = "ADDED"
+ showEnum TripDescriptor'UNSCHEDULED = "UNSCHEDULED"
+ showEnum TripDescriptor'CANCELED = "CANCELED"
+ showEnum TripDescriptor'REPLACEMENT = "REPLACEMENT"
+ showEnum TripDescriptor'DUPLICATED = "DUPLICATED"
+ readEnum k
+ | (Prelude.==) k "SCHEDULED"
+ = Prelude.Just TripDescriptor'SCHEDULED
+ | (Prelude.==) k "ADDED" = Prelude.Just TripDescriptor'ADDED
+ | (Prelude.==) k "UNSCHEDULED"
+ = Prelude.Just TripDescriptor'UNSCHEDULED
+ | (Prelude.==) k "CANCELED" = Prelude.Just TripDescriptor'CANCELED
+ | (Prelude.==) k "REPLACEMENT"
+ = Prelude.Just TripDescriptor'REPLACEMENT
+ | (Prelude.==) k "DUPLICATED"
+ = Prelude.Just TripDescriptor'DUPLICATED
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded TripDescriptor'ScheduleRelationship where
+ minBound = TripDescriptor'SCHEDULED
+ maxBound = TripDescriptor'DUPLICATED
+instance Prelude.Enum TripDescriptor'ScheduleRelationship where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum ScheduleRelationship: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum TripDescriptor'SCHEDULED = 0
+ fromEnum TripDescriptor'ADDED = 1
+ fromEnum TripDescriptor'UNSCHEDULED = 2
+ fromEnum TripDescriptor'CANCELED = 3
+ fromEnum TripDescriptor'REPLACEMENT = 5
+ fromEnum TripDescriptor'DUPLICATED = 6
+ succ TripDescriptor'DUPLICATED
+ = Prelude.error
+ "TripDescriptor'ScheduleRelationship.succ: bad argument TripDescriptor'DUPLICATED. This value would be out of bounds."
+ succ TripDescriptor'SCHEDULED = TripDescriptor'ADDED
+ succ TripDescriptor'ADDED = TripDescriptor'UNSCHEDULED
+ succ TripDescriptor'UNSCHEDULED = TripDescriptor'CANCELED
+ succ TripDescriptor'CANCELED = TripDescriptor'REPLACEMENT
+ succ TripDescriptor'REPLACEMENT = TripDescriptor'DUPLICATED
+ pred TripDescriptor'SCHEDULED
+ = Prelude.error
+ "TripDescriptor'ScheduleRelationship.pred: bad argument TripDescriptor'SCHEDULED. This value would be out of bounds."
+ pred TripDescriptor'ADDED = TripDescriptor'SCHEDULED
+ pred TripDescriptor'UNSCHEDULED = TripDescriptor'ADDED
+ pred TripDescriptor'CANCELED = TripDescriptor'UNSCHEDULED
+ pred TripDescriptor'REPLACEMENT = TripDescriptor'CANCELED
+ pred TripDescriptor'DUPLICATED = TripDescriptor'REPLACEMENT
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault TripDescriptor'ScheduleRelationship where
+ fieldDefault = TripDescriptor'SCHEDULED
+instance Control.DeepSeq.NFData TripDescriptor'ScheduleRelationship where
+ rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' TripUpdate TripDescriptor@
+ * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' TripUpdate VehicleDescriptor@
+ * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' TripUpdate (Prelude.Maybe VehicleDescriptor)@
+ * 'Proto.GtfsRealtime_Fields.stopTimeUpdate' @:: Lens' TripUpdate [TripUpdate'StopTimeUpdate]@
+ * 'Proto.GtfsRealtime_Fields.vec'stopTimeUpdate' @:: Lens' TripUpdate (Data.Vector.Vector TripUpdate'StopTimeUpdate)@
+ * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' TripUpdate Data.Word.Word64@
+ * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' TripUpdate (Prelude.Maybe Data.Word.Word64)@
+ * 'Proto.GtfsRealtime_Fields.delay' @:: Lens' TripUpdate Data.Int.Int32@
+ * 'Proto.GtfsRealtime_Fields.maybe'delay' @:: Lens' TripUpdate (Prelude.Maybe Data.Int.Int32)@
+ * 'Proto.GtfsRealtime_Fields.tripProperties' @:: Lens' TripUpdate TripUpdate'TripProperties@
+ * 'Proto.GtfsRealtime_Fields.maybe'tripProperties' @:: Lens' TripUpdate (Prelude.Maybe TripUpdate'TripProperties)@ -}
+data TripUpdate
+ = TripUpdate'_constructor {_TripUpdate'trip :: !TripDescriptor,
+ _TripUpdate'vehicle :: !(Prelude.Maybe VehicleDescriptor),
+ _TripUpdate'stopTimeUpdate :: !(Data.Vector.Vector TripUpdate'StopTimeUpdate),
+ _TripUpdate'timestamp :: !(Prelude.Maybe Data.Word.Word64),
+ _TripUpdate'delay :: !(Prelude.Maybe Data.Int.Int32),
+ _TripUpdate'tripProperties :: !(Prelude.Maybe TripUpdate'TripProperties),
+ _TripUpdate'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripUpdate where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripUpdate "trip" TripDescriptor where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'trip (\ x__ y__ -> x__ {_TripUpdate'trip = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate "vehicle" VehicleDescriptor where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'vehicle (\ x__ y__ -> x__ {_TripUpdate'vehicle = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField TripUpdate "maybe'vehicle" (Prelude.Maybe VehicleDescriptor) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'vehicle (\ x__ y__ -> x__ {_TripUpdate'vehicle = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate "stopTimeUpdate" [TripUpdate'StopTimeUpdate] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'stopTimeUpdate
+ (\ x__ y__ -> x__ {_TripUpdate'stopTimeUpdate = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField TripUpdate "vec'stopTimeUpdate" (Data.Vector.Vector TripUpdate'StopTimeUpdate) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'stopTimeUpdate
+ (\ x__ y__ -> x__ {_TripUpdate'stopTimeUpdate = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate "timestamp" Data.Word.Word64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'timestamp
+ (\ x__ y__ -> x__ {_TripUpdate'timestamp = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'timestamp
+ (\ x__ y__ -> x__ {_TripUpdate'timestamp = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate "delay" Data.Int.Int32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'delay (\ x__ y__ -> x__ {_TripUpdate'delay = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate "maybe'delay" (Prelude.Maybe Data.Int.Int32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'delay (\ x__ y__ -> x__ {_TripUpdate'delay = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate "tripProperties" TripUpdate'TripProperties where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'tripProperties
+ (\ x__ y__ -> x__ {_TripUpdate'tripProperties = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField TripUpdate "maybe'tripProperties" (Prelude.Maybe TripUpdate'TripProperties) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'tripProperties
+ (\ x__ y__ -> x__ {_TripUpdate'tripProperties = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripUpdate where
+ messageName _ = Data.Text.pack "transit_realtime.TripUpdate"
+ packedMessageDescriptor _
+ = "\n\
+ \\n\
+ \TripUpdate\DC24\n\
+ \\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\
+ \\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC2U\n\
+ \\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdateR\SOstopTimeUpdate\DC2\FS\n\
+ \\ttimestamp\CAN\EOT \SOH(\EOTR\ttimestamp\DC2\DC4\n\
+ \\ENQdelay\CAN\ENQ \SOH(\ENQR\ENQdelay\DC2T\n\
+ \\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripPropertiesR\SOtripProperties\SUBk\n\
+ \\rStopTimeEvent\DC2\DC4\n\
+ \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\
+ \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\
+ \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\246\ENQ\n\
+ \\SOStopTimeUpdate\DC2#\n\
+ \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\
+ \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\
+ \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\
+ \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\
+ \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\
+ \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\
+ \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\
+ \\DC2StopTimeProperties\DC2(\n\
+ \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\
+ \\DC4ScheduleRelationship\DC2\r\n\
+ \\tSCHEDULED\DLE\NUL\DC2\v\n\
+ \\aSKIPPED\DLE\SOH\DC2\v\n\
+ \\aNO_DATA\DLE\STX\DC2\SI\n\
+ \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\146\SOH\n\
+ \\SOTripProperties\DC2\ETB\n\
+ \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\
+ \\n\
+ \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\
+ \\n\
+ \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\
+ \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ trip__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripDescriptor)
+ (Data.ProtoLens.PlainField
+ Data.ProtoLens.Required (Data.ProtoLens.Field.field @"trip")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ vehicle__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "vehicle"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor VehicleDescriptor)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'vehicle")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ stopTimeUpdate__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_time_update"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"stopTimeUpdate")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ timestamp__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "timestamp"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'timestamp")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ delay__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "delay"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'delay")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ tripProperties__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip_properties"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'TripProperties)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'tripProperties")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, trip__field_descriptor),
+ (Data.ProtoLens.Tag 3, vehicle__field_descriptor),
+ (Data.ProtoLens.Tag 2, stopTimeUpdate__field_descriptor),
+ (Data.ProtoLens.Tag 4, timestamp__field_descriptor),
+ (Data.ProtoLens.Tag 5, delay__field_descriptor),
+ (Data.ProtoLens.Tag 6, tripProperties__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripUpdate'_unknownFields
+ (\ x__ y__ -> x__ {_TripUpdate'_unknownFields = y__})
+ defMessage
+ = TripUpdate'_constructor
+ {_TripUpdate'trip = Data.ProtoLens.defMessage,
+ _TripUpdate'vehicle = Prelude.Nothing,
+ _TripUpdate'stopTimeUpdate = Data.Vector.Generic.empty,
+ _TripUpdate'timestamp = Prelude.Nothing,
+ _TripUpdate'delay = Prelude.Nothing,
+ _TripUpdate'tripProperties = Prelude.Nothing,
+ _TripUpdate'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripUpdate
+ -> Prelude.Bool
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld TripUpdate'StopTimeUpdate
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate
+ loop x required'trip mutable'stopTimeUpdate
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'stopTimeUpdate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'stopTimeUpdate)
+ (let
+ missing = (if required'trip then (:) "trip" else Prelude.id) []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'stopTimeUpdate")
+ frozen'stopTimeUpdate x))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "trip"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x)
+ Prelude.False mutable'stopTimeUpdate
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "vehicle"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x)
+ required'trip mutable'stopTimeUpdate
+ 18
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "stop_time_update"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'stopTimeUpdate y)
+ loop x required'trip v
+ 32
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x)
+ required'trip mutable'stopTimeUpdate
+ 40
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "delay"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"delay") y x)
+ required'trip mutable'stopTimeUpdate
+ 50
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "trip_properties"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"tripProperties") y x)
+ required'trip mutable'stopTimeUpdate
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ required'trip mutable'stopTimeUpdate
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'stopTimeUpdate <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop Data.ProtoLens.defMessage Prelude.True mutable'stopTimeUpdate)
+ "TripUpdate"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage
+ (Lens.Family2.view (Data.ProtoLens.Field.field @"trip") _x)))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field @"vec'stopTimeUpdate") _x))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'timestamp") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'delay") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+ _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'tripProperties") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))))
+instance Control.DeepSeq.NFData TripUpdate where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripUpdate'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'trip x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'vehicle x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'stopTimeUpdate x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'timestamp x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'delay x__)
+ (Control.DeepSeq.deepseq (_TripUpdate'tripProperties x__) ()))))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.delay' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int32@
+ * 'Proto.GtfsRealtime_Fields.maybe'delay' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int32)@
+ * 'Proto.GtfsRealtime_Fields.time' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int64@
+ * 'Proto.GtfsRealtime_Fields.maybe'time' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int64)@
+ * 'Proto.GtfsRealtime_Fields.uncertainty' @:: Lens' TripUpdate'StopTimeEvent Data.Int.Int32@
+ * 'Proto.GtfsRealtime_Fields.maybe'uncertainty' @:: Lens' TripUpdate'StopTimeEvent (Prelude.Maybe Data.Int.Int32)@ -}
+data TripUpdate'StopTimeEvent
+ = TripUpdate'StopTimeEvent'_constructor {_TripUpdate'StopTimeEvent'delay :: !(Prelude.Maybe Data.Int.Int32),
+ _TripUpdate'StopTimeEvent'time :: !(Prelude.Maybe Data.Int.Int64),
+ _TripUpdate'StopTimeEvent'uncertainty :: !(Prelude.Maybe Data.Int.Int32),
+ _TripUpdate'StopTimeEvent'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripUpdate'StopTimeEvent where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "delay" Data.Int.Int32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'delay
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'delay = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'delay" (Prelude.Maybe Data.Int.Int32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'delay
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'delay = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "time" Data.Int.Int64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'time
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'time = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'time" (Prelude.Maybe Data.Int.Int64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'time
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'time = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "uncertainty" Data.Int.Int32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'uncertainty
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'uncertainty = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeEvent "maybe'uncertainty" (Prelude.Maybe Data.Int.Int32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'uncertainty
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'uncertainty = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripUpdate'StopTimeEvent where
+ messageName _
+ = Data.Text.pack "transit_realtime.TripUpdate.StopTimeEvent"
+ packedMessageDescriptor _
+ = "\n\
+ \\rStopTimeEvent\DC2\DC4\n\
+ \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\
+ \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\
+ \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ delay__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "delay"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'delay")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent
+ time__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "time"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'time")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent
+ uncertainty__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "uncertainty"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'uncertainty")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeEvent
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, delay__field_descriptor),
+ (Data.ProtoLens.Tag 2, time__field_descriptor),
+ (Data.ProtoLens.Tag 3, uncertainty__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeEvent'_unknownFields
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeEvent'_unknownFields = y__})
+ defMessage
+ = TripUpdate'StopTimeEvent'_constructor
+ {_TripUpdate'StopTimeEvent'delay = Prelude.Nothing,
+ _TripUpdate'StopTimeEvent'time = Prelude.Nothing,
+ _TripUpdate'StopTimeEvent'uncertainty = Prelude.Nothing,
+ _TripUpdate'StopTimeEvent'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripUpdate'StopTimeEvent
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeEvent
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "delay"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"delay") y x)
+ 16
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "time"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"time") y x)
+ 24
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "uncertainty"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"uncertainty") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "StopTimeEvent"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'delay") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'time") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 16)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'uncertainty") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData TripUpdate'StopTimeEvent where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeEvent'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeEvent'delay x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeEvent'time x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeEvent'uncertainty x__) ())))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.stopSequence' @:: Lens' TripUpdate'StopTimeUpdate Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'stopSequence' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe Data.Word.Word32)@
+ * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' TripUpdate'StopTimeUpdate Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.arrival' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeEvent@
+ * 'Proto.GtfsRealtime_Fields.maybe'arrival' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeEvent)@
+ * 'Proto.GtfsRealtime_Fields.departure' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeEvent@
+ * 'Proto.GtfsRealtime_Fields.maybe'departure' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeEvent)@
+ * 'Proto.GtfsRealtime_Fields.departureOccupancyStatus' @:: Lens' TripUpdate'StopTimeUpdate VehiclePosition'OccupancyStatus@
+ * 'Proto.GtfsRealtime_Fields.maybe'departureOccupancyStatus' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe VehiclePosition'OccupancyStatus)@
+ * 'Proto.GtfsRealtime_Fields.scheduleRelationship' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeUpdate'ScheduleRelationship@
+ * 'Proto.GtfsRealtime_Fields.maybe'scheduleRelationship' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship)@
+ * 'Proto.GtfsRealtime_Fields.stopTimeProperties' @:: Lens' TripUpdate'StopTimeUpdate TripUpdate'StopTimeUpdate'StopTimeProperties@
+ * 'Proto.GtfsRealtime_Fields.maybe'stopTimeProperties' @:: Lens' TripUpdate'StopTimeUpdate (Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties)@ -}
+data TripUpdate'StopTimeUpdate
+ = TripUpdate'StopTimeUpdate'_constructor {_TripUpdate'StopTimeUpdate'stopSequence :: !(Prelude.Maybe Data.Word.Word32),
+ _TripUpdate'StopTimeUpdate'stopId :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'StopTimeUpdate'arrival :: !(Prelude.Maybe TripUpdate'StopTimeEvent),
+ _TripUpdate'StopTimeUpdate'departure :: !(Prelude.Maybe TripUpdate'StopTimeEvent),
+ _TripUpdate'StopTimeUpdate'departureOccupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus),
+ _TripUpdate'StopTimeUpdate'scheduleRelationship :: !(Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship),
+ _TripUpdate'StopTimeUpdate'stopTimeProperties :: !(Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties),
+ _TripUpdate'StopTimeUpdate'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripUpdate'StopTimeUpdate where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopSequence" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopSequence
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopSequence = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopSequence" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopSequence
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopSequence = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopId
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopId
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'stopId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "arrival" TripUpdate'StopTimeEvent where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'arrival
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'arrival = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'arrival" (Prelude.Maybe TripUpdate'StopTimeEvent) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'arrival
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'arrival = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "departure" TripUpdate'StopTimeEvent where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'departure
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'departure = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'departure" (Prelude.Maybe TripUpdate'StopTimeEvent) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'departure
+ (\ x__ y__ -> x__ {_TripUpdate'StopTimeUpdate'departure = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "departureOccupancyStatus" VehiclePosition'OccupancyStatus where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'departureOccupancyStatus
+ (\ x__ y__
+ -> x__
+ {_TripUpdate'StopTimeUpdate'departureOccupancyStatus = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'departureOccupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'departureOccupancyStatus
+ (\ x__ y__
+ -> x__
+ {_TripUpdate'StopTimeUpdate'departureOccupancyStatus = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "scheduleRelationship" TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'scheduleRelationship
+ (\ x__ y__
+ -> x__ {_TripUpdate'StopTimeUpdate'scheduleRelationship = y__}))
+ (Data.ProtoLens.maybeLens TripUpdate'StopTimeUpdate'SCHEDULED)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'scheduleRelationship" (Prelude.Maybe TripUpdate'StopTimeUpdate'ScheduleRelationship) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'scheduleRelationship
+ (\ x__ y__
+ -> x__ {_TripUpdate'StopTimeUpdate'scheduleRelationship = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "stopTimeProperties" TripUpdate'StopTimeUpdate'StopTimeProperties where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopTimeProperties
+ (\ x__ y__
+ -> x__ {_TripUpdate'StopTimeUpdate'stopTimeProperties = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate "maybe'stopTimeProperties" (Prelude.Maybe TripUpdate'StopTimeUpdate'StopTimeProperties) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'stopTimeProperties
+ (\ x__ y__
+ -> x__ {_TripUpdate'StopTimeUpdate'stopTimeProperties = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripUpdate'StopTimeUpdate where
+ messageName _
+ = Data.Text.pack "transit_realtime.TripUpdate.StopTimeUpdate"
+ packedMessageDescriptor _
+ = "\n\
+ \\SOStopTimeUpdate\DC2#\n\
+ \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\
+ \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\
+ \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\
+ \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\
+ \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\
+ \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\
+ \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\
+ \\DC2StopTimeProperties\DC2(\n\
+ \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\
+ \\DC4ScheduleRelationship\DC2\r\n\
+ \\tSCHEDULED\DLE\NUL\DC2\v\n\
+ \\aSKIPPED\DLE\SOH\DC2\v\n\
+ \\aNO_DATA\DLE\STX\DC2\SI\n\
+ \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ stopSequence__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_sequence"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'stopSequence")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ stopId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'stopId")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ arrival__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "arrival"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeEvent)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'arrival")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ departure__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "departure"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeEvent)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'departure")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ departureOccupancyStatus__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "departure_occupancy_status"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ scheduleRelationship__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "schedule_relationship"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate'ScheduleRelationship)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'scheduleRelationship")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ stopTimeProperties__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_time_properties"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripUpdate'StopTimeUpdate'StopTimeProperties)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'stopTimeProperties")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, stopSequence__field_descriptor),
+ (Data.ProtoLens.Tag 4, stopId__field_descriptor),
+ (Data.ProtoLens.Tag 2, arrival__field_descriptor),
+ (Data.ProtoLens.Tag 3, departure__field_descriptor),
+ (Data.ProtoLens.Tag 7, departureOccupancyStatus__field_descriptor),
+ (Data.ProtoLens.Tag 5, scheduleRelationship__field_descriptor),
+ (Data.ProtoLens.Tag 6, stopTimeProperties__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'_unknownFields
+ (\ x__ y__
+ -> x__ {_TripUpdate'StopTimeUpdate'_unknownFields = y__})
+ defMessage
+ = TripUpdate'StopTimeUpdate'_constructor
+ {_TripUpdate'StopTimeUpdate'stopSequence = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'stopId = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'arrival = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'departure = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'departureOccupancyStatus = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'scheduleRelationship = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'stopTimeProperties = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripUpdate'StopTimeUpdate
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeUpdate
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 8 -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "stop_sequence"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"stopSequence") y x)
+ 34
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "stop_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "arrival"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"arrival") y x)
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "departure"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"departure") y x)
+ 56
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "departure_occupancy_status"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"departureOccupancyStatus") y x)
+ 40
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "schedule_relationship"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"scheduleRelationship") y x)
+ 50
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "stop_time_properties"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"stopTimeProperties") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "StopTimeUpdate"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'stopSequence") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 8)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'arrival") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'departure") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 56)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'scheduleRelationship") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'stopTimeProperties") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 50)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))))
+instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'stopSequence x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'stopId x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'arrival x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'departure x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'departureOccupancyStatus x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'scheduleRelationship x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'stopTimeProperties x__) ())))))))
+data TripUpdate'StopTimeUpdate'ScheduleRelationship
+ = TripUpdate'StopTimeUpdate'SCHEDULED |
+ TripUpdate'StopTimeUpdate'SKIPPED |
+ TripUpdate'StopTimeUpdate'NO_DATA |
+ TripUpdate'StopTimeUpdate'UNSCHEDULED
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ maybeToEnum 0 = Prelude.Just TripUpdate'StopTimeUpdate'SCHEDULED
+ maybeToEnum 1 = Prelude.Just TripUpdate'StopTimeUpdate'SKIPPED
+ maybeToEnum 2 = Prelude.Just TripUpdate'StopTimeUpdate'NO_DATA
+ maybeToEnum 3 = Prelude.Just TripUpdate'StopTimeUpdate'UNSCHEDULED
+ maybeToEnum _ = Prelude.Nothing
+ showEnum TripUpdate'StopTimeUpdate'SCHEDULED = "SCHEDULED"
+ showEnum TripUpdate'StopTimeUpdate'SKIPPED = "SKIPPED"
+ showEnum TripUpdate'StopTimeUpdate'NO_DATA = "NO_DATA"
+ showEnum TripUpdate'StopTimeUpdate'UNSCHEDULED = "UNSCHEDULED"
+ readEnum k
+ | (Prelude.==) k "SCHEDULED"
+ = Prelude.Just TripUpdate'StopTimeUpdate'SCHEDULED
+ | (Prelude.==) k "SKIPPED"
+ = Prelude.Just TripUpdate'StopTimeUpdate'SKIPPED
+ | (Prelude.==) k "NO_DATA"
+ = Prelude.Just TripUpdate'StopTimeUpdate'NO_DATA
+ | (Prelude.==) k "UNSCHEDULED"
+ = Prelude.Just TripUpdate'StopTimeUpdate'UNSCHEDULED
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ minBound = TripUpdate'StopTimeUpdate'SCHEDULED
+ maxBound = TripUpdate'StopTimeUpdate'UNSCHEDULED
+instance Prelude.Enum TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum ScheduleRelationship: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum TripUpdate'StopTimeUpdate'SCHEDULED = 0
+ fromEnum TripUpdate'StopTimeUpdate'SKIPPED = 1
+ fromEnum TripUpdate'StopTimeUpdate'NO_DATA = 2
+ fromEnum TripUpdate'StopTimeUpdate'UNSCHEDULED = 3
+ succ TripUpdate'StopTimeUpdate'UNSCHEDULED
+ = Prelude.error
+ "TripUpdate'StopTimeUpdate'ScheduleRelationship.succ: bad argument TripUpdate'StopTimeUpdate'UNSCHEDULED. This value would be out of bounds."
+ succ TripUpdate'StopTimeUpdate'SCHEDULED
+ = TripUpdate'StopTimeUpdate'SKIPPED
+ succ TripUpdate'StopTimeUpdate'SKIPPED
+ = TripUpdate'StopTimeUpdate'NO_DATA
+ succ TripUpdate'StopTimeUpdate'NO_DATA
+ = TripUpdate'StopTimeUpdate'UNSCHEDULED
+ pred TripUpdate'StopTimeUpdate'SCHEDULED
+ = Prelude.error
+ "TripUpdate'StopTimeUpdate'ScheduleRelationship.pred: bad argument TripUpdate'StopTimeUpdate'SCHEDULED. This value would be out of bounds."
+ pred TripUpdate'StopTimeUpdate'SKIPPED
+ = TripUpdate'StopTimeUpdate'SCHEDULED
+ pred TripUpdate'StopTimeUpdate'NO_DATA
+ = TripUpdate'StopTimeUpdate'SKIPPED
+ pred TripUpdate'StopTimeUpdate'UNSCHEDULED
+ = TripUpdate'StopTimeUpdate'NO_DATA
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ fieldDefault = TripUpdate'StopTimeUpdate'SCHEDULED
+instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate'ScheduleRelationship where
+ rnf x__ = Prelude.seq x__ ()
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.assignedStopId' @:: Lens' TripUpdate'StopTimeUpdate'StopTimeProperties Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'assignedStopId' @:: Lens' TripUpdate'StopTimeUpdate'StopTimeProperties (Prelude.Maybe Data.Text.Text)@ -}
+data TripUpdate'StopTimeUpdate'StopTimeProperties
+ = TripUpdate'StopTimeUpdate'StopTimeProperties'_constructor {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripUpdate'StopTimeUpdate'StopTimeProperties where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate'StopTimeProperties "assignedStopId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId
+ (\ x__ y__
+ -> x__
+ {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'StopTimeUpdate'StopTimeProperties "maybe'assignedStopId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId
+ (\ x__ y__
+ -> x__
+ {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripUpdate'StopTimeUpdate'StopTimeProperties where
+ messageName _
+ = Data.Text.pack
+ "transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties"
+ packedMessageDescriptor _
+ = "\n\
+ \\DC2StopTimeProperties\DC2(\n\
+ \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ assignedStopId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "assigned_stop_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'assignedStopId")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'StopTimeUpdate'StopTimeProperties
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, assignedStopId__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields
+ (\ x__ y__
+ -> x__
+ {_TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields = y__})
+ defMessage
+ = TripUpdate'StopTimeUpdate'StopTimeProperties'_constructor
+ {_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId = Prelude.Nothing,
+ _TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripUpdate'StopTimeUpdate'StopTimeProperties
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'StopTimeUpdate'StopTimeProperties
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "assigned_stop_id"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"assignedStopId") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "StopTimeProperties"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'assignedStopId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))
+instance Control.DeepSeq.NFData TripUpdate'StopTimeUpdate'StopTimeProperties where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'StopTimeProperties'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'StopTimeUpdate'StopTimeProperties'assignedStopId x__)
+ ())
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.tripId' @:: Lens' TripUpdate'TripProperties Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'tripId' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.startDate' @:: Lens' TripUpdate'TripProperties Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'startDate' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.startTime' @:: Lens' TripUpdate'TripProperties Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'startTime' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.shapeId' @:: Lens' TripUpdate'TripProperties Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'shapeId' @:: Lens' TripUpdate'TripProperties (Prelude.Maybe Data.Text.Text)@ -}
+data TripUpdate'TripProperties
+ = TripUpdate'TripProperties'_constructor {_TripUpdate'TripProperties'tripId :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'TripProperties'startDate :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'TripProperties'startTime :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'TripProperties'shapeId :: !(Prelude.Maybe Data.Text.Text),
+ _TripUpdate'TripProperties'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show TripUpdate'TripProperties where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "tripId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'tripId
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'tripId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'tripId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'tripId
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'tripId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "startDate" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'startDate
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startDate = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'startDate" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'startDate
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startDate = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "startTime" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'startTime
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startTime = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'startTime" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'startTime
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'startTime = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "shapeId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'shapeId
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'shapeId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField TripUpdate'TripProperties "maybe'shapeId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'shapeId
+ (\ x__ y__ -> x__ {_TripUpdate'TripProperties'shapeId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message TripUpdate'TripProperties where
+ messageName _
+ = Data.Text.pack "transit_realtime.TripUpdate.TripProperties"
+ packedMessageDescriptor _
+ = "\n\
+ \\SOTripProperties\DC2\ETB\n\
+ \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\
+ \\n\
+ \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\
+ \\n\
+ \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\
+ \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ tripId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'tripId")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties
+ startDate__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "start_date"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'startDate")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties
+ startTime__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "start_time"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'startTime")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties
+ shapeId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "shape_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'shapeId")) ::
+ Data.ProtoLens.FieldDescriptor TripUpdate'TripProperties
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, tripId__field_descriptor),
+ (Data.ProtoLens.Tag 2, startDate__field_descriptor),
+ (Data.ProtoLens.Tag 3, startTime__field_descriptor),
+ (Data.ProtoLens.Tag 4, shapeId__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _TripUpdate'TripProperties'_unknownFields
+ (\ x__ y__
+ -> x__ {_TripUpdate'TripProperties'_unknownFields = y__})
+ defMessage
+ = TripUpdate'TripProperties'_constructor
+ {_TripUpdate'TripProperties'tripId = Prelude.Nothing,
+ _TripUpdate'TripProperties'startDate = Prelude.Nothing,
+ _TripUpdate'TripProperties'startTime = Prelude.Nothing,
+ _TripUpdate'TripProperties'shapeId = Prelude.Nothing,
+ _TripUpdate'TripProperties'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ TripUpdate'TripProperties
+ -> Data.ProtoLens.Encoding.Bytes.Parser TripUpdate'TripProperties
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "trip_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"tripId") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "start_date"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"startDate") y x)
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "start_time"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"startTime") y x)
+ 34
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "shape_id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"shapeId") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "TripProperties"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'tripId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'startDate") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'startTime") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'shapeId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 34)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x)))))
+instance Control.DeepSeq.NFData TripUpdate'TripProperties where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_TripUpdate'TripProperties'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'TripProperties'tripId x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'TripProperties'startDate x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'TripProperties'startTime x__)
+ (Control.DeepSeq.deepseq
+ (_TripUpdate'TripProperties'shapeId x__) ()))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.id' @:: Lens' VehicleDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'id' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.label' @:: Lens' VehicleDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'label' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.licensePlate' @:: Lens' VehicleDescriptor Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'licensePlate' @:: Lens' VehicleDescriptor (Prelude.Maybe Data.Text.Text)@ -}
+data VehicleDescriptor
+ = VehicleDescriptor'_constructor {_VehicleDescriptor'id :: !(Prelude.Maybe Data.Text.Text),
+ _VehicleDescriptor'label :: !(Prelude.Maybe Data.Text.Text),
+ _VehicleDescriptor'licensePlate :: !(Prelude.Maybe Data.Text.Text),
+ _VehicleDescriptor'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show VehicleDescriptor where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "id" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'id
+ (\ x__ y__ -> x__ {_VehicleDescriptor'id = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'id" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'id
+ (\ x__ y__ -> x__ {_VehicleDescriptor'id = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "label" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'label
+ (\ x__ y__ -> x__ {_VehicleDescriptor'label = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'label" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'label
+ (\ x__ y__ -> x__ {_VehicleDescriptor'label = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "licensePlate" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'licensePlate
+ (\ x__ y__ -> x__ {_VehicleDescriptor'licensePlate = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehicleDescriptor "maybe'licensePlate" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'licensePlate
+ (\ x__ y__ -> x__ {_VehicleDescriptor'licensePlate = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message VehicleDescriptor where
+ messageName _ = Data.Text.pack "transit_realtime.VehicleDescriptor"
+ packedMessageDescriptor _
+ = "\n\
+ \\DC1VehicleDescriptor\DC2\SO\n\
+ \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\
+ \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2#\n\
+ \\rlicense_plate\CAN\ETX \SOH(\tR\flicensePlate*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ id__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'id")) ::
+ Data.ProtoLens.FieldDescriptor VehicleDescriptor
+ label__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "label"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'label")) ::
+ Data.ProtoLens.FieldDescriptor VehicleDescriptor
+ licensePlate__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "license_plate"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'licensePlate")) ::
+ Data.ProtoLens.FieldDescriptor VehicleDescriptor
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, id__field_descriptor),
+ (Data.ProtoLens.Tag 2, label__field_descriptor),
+ (Data.ProtoLens.Tag 3, licensePlate__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _VehicleDescriptor'_unknownFields
+ (\ x__ y__ -> x__ {_VehicleDescriptor'_unknownFields = y__})
+ defMessage
+ = VehicleDescriptor'_constructor
+ {_VehicleDescriptor'id = Prelude.Nothing,
+ _VehicleDescriptor'label = Prelude.Nothing,
+ _VehicleDescriptor'licensePlate = Prelude.Nothing,
+ _VehicleDescriptor'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ VehicleDescriptor
+ -> Data.ProtoLens.Encoding.Bytes.Parser VehicleDescriptor
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "label"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x)
+ 26
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "license_plate"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"licensePlate") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "VehicleDescriptor"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'id") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'licensePlate") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 26)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))
+instance Control.DeepSeq.NFData VehicleDescriptor where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_VehicleDescriptor'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_VehicleDescriptor'id x__)
+ (Control.DeepSeq.deepseq
+ (_VehicleDescriptor'label x__)
+ (Control.DeepSeq.deepseq
+ (_VehicleDescriptor'licensePlate x__) ())))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.trip' @:: Lens' VehiclePosition TripDescriptor@
+ * 'Proto.GtfsRealtime_Fields.maybe'trip' @:: Lens' VehiclePosition (Prelude.Maybe TripDescriptor)@
+ * 'Proto.GtfsRealtime_Fields.vehicle' @:: Lens' VehiclePosition VehicleDescriptor@
+ * 'Proto.GtfsRealtime_Fields.maybe'vehicle' @:: Lens' VehiclePosition (Prelude.Maybe VehicleDescriptor)@
+ * 'Proto.GtfsRealtime_Fields.position' @:: Lens' VehiclePosition Position@
+ * 'Proto.GtfsRealtime_Fields.maybe'position' @:: Lens' VehiclePosition (Prelude.Maybe Position)@
+ * 'Proto.GtfsRealtime_Fields.currentStopSequence' @:: Lens' VehiclePosition Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'currentStopSequence' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word32)@
+ * 'Proto.GtfsRealtime_Fields.stopId' @:: Lens' VehiclePosition Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'stopId' @:: Lens' VehiclePosition (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.currentStatus' @:: Lens' VehiclePosition VehiclePosition'VehicleStopStatus@
+ * 'Proto.GtfsRealtime_Fields.maybe'currentStatus' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'VehicleStopStatus)@
+ * 'Proto.GtfsRealtime_Fields.timestamp' @:: Lens' VehiclePosition Data.Word.Word64@
+ * 'Proto.GtfsRealtime_Fields.maybe'timestamp' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word64)@
+ * 'Proto.GtfsRealtime_Fields.congestionLevel' @:: Lens' VehiclePosition VehiclePosition'CongestionLevel@
+ * 'Proto.GtfsRealtime_Fields.maybe'congestionLevel' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'CongestionLevel)@
+ * 'Proto.GtfsRealtime_Fields.occupancyStatus' @:: Lens' VehiclePosition VehiclePosition'OccupancyStatus@
+ * 'Proto.GtfsRealtime_Fields.maybe'occupancyStatus' @:: Lens' VehiclePosition (Prelude.Maybe VehiclePosition'OccupancyStatus)@
+ * 'Proto.GtfsRealtime_Fields.occupancyPercentage' @:: Lens' VehiclePosition Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'occupancyPercentage' @:: Lens' VehiclePosition (Prelude.Maybe Data.Word.Word32)@
+ * 'Proto.GtfsRealtime_Fields.multiCarriageDetails' @:: Lens' VehiclePosition [VehiclePosition'CarriageDetails]@
+ * 'Proto.GtfsRealtime_Fields.vec'multiCarriageDetails' @:: Lens' VehiclePosition (Data.Vector.Vector VehiclePosition'CarriageDetails)@ -}
+data VehiclePosition
+ = VehiclePosition'_constructor {_VehiclePosition'trip :: !(Prelude.Maybe TripDescriptor),
+ _VehiclePosition'vehicle :: !(Prelude.Maybe VehicleDescriptor),
+ _VehiclePosition'position :: !(Prelude.Maybe Position),
+ _VehiclePosition'currentStopSequence :: !(Prelude.Maybe Data.Word.Word32),
+ _VehiclePosition'stopId :: !(Prelude.Maybe Data.Text.Text),
+ _VehiclePosition'currentStatus :: !(Prelude.Maybe VehiclePosition'VehicleStopStatus),
+ _VehiclePosition'timestamp :: !(Prelude.Maybe Data.Word.Word64),
+ _VehiclePosition'congestionLevel :: !(Prelude.Maybe VehiclePosition'CongestionLevel),
+ _VehiclePosition'occupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus),
+ _VehiclePosition'occupancyPercentage :: !(Prelude.Maybe Data.Word.Word32),
+ _VehiclePosition'multiCarriageDetails :: !(Data.Vector.Vector VehiclePosition'CarriageDetails),
+ _VehiclePosition'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show VehiclePosition where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField VehiclePosition "trip" TripDescriptor where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'trip
+ (\ x__ y__ -> x__ {_VehiclePosition'trip = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'trip" (Prelude.Maybe TripDescriptor) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'trip
+ (\ x__ y__ -> x__ {_VehiclePosition'trip = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "vehicle" VehicleDescriptor where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'vehicle
+ (\ x__ y__ -> x__ {_VehiclePosition'vehicle = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'vehicle" (Prelude.Maybe VehicleDescriptor) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'vehicle
+ (\ x__ y__ -> x__ {_VehiclePosition'vehicle = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "position" Position where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'position
+ (\ x__ y__ -> x__ {_VehiclePosition'position = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.defMessage)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'position" (Prelude.Maybe Position) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'position
+ (\ x__ y__ -> x__ {_VehiclePosition'position = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "currentStopSequence" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'currentStopSequence
+ (\ x__ y__ -> x__ {_VehiclePosition'currentStopSequence = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'currentStopSequence" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'currentStopSequence
+ (\ x__ y__ -> x__ {_VehiclePosition'currentStopSequence = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "stopId" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'stopId
+ (\ x__ y__ -> x__ {_VehiclePosition'stopId = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'stopId" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'stopId
+ (\ x__ y__ -> x__ {_VehiclePosition'stopId = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "currentStatus" VehiclePosition'VehicleStopStatus where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'currentStatus
+ (\ x__ y__ -> x__ {_VehiclePosition'currentStatus = y__}))
+ (Data.ProtoLens.maybeLens VehiclePosition'IN_TRANSIT_TO)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'currentStatus" (Prelude.Maybe VehiclePosition'VehicleStopStatus) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'currentStatus
+ (\ x__ y__ -> x__ {_VehiclePosition'currentStatus = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "timestamp" Data.Word.Word64 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'timestamp
+ (\ x__ y__ -> x__ {_VehiclePosition'timestamp = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'timestamp" (Prelude.Maybe Data.Word.Word64) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'timestamp
+ (\ x__ y__ -> x__ {_VehiclePosition'timestamp = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "congestionLevel" VehiclePosition'CongestionLevel where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'congestionLevel
+ (\ x__ y__ -> x__ {_VehiclePosition'congestionLevel = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'congestionLevel" (Prelude.Maybe VehiclePosition'CongestionLevel) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'congestionLevel
+ (\ x__ y__ -> x__ {_VehiclePosition'congestionLevel = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "occupancyStatus" VehiclePosition'OccupancyStatus where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'occupancyStatus
+ (\ x__ y__ -> x__ {_VehiclePosition'occupancyStatus = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'occupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'occupancyStatus
+ (\ x__ y__ -> x__ {_VehiclePosition'occupancyStatus = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "occupancyPercentage" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'occupancyPercentage
+ (\ x__ y__ -> x__ {_VehiclePosition'occupancyPercentage = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition "maybe'occupancyPercentage" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'occupancyPercentage
+ (\ x__ y__ -> x__ {_VehiclePosition'occupancyPercentage = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition "multiCarriageDetails" [VehiclePosition'CarriageDetails] where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'multiCarriageDetails
+ (\ x__ y__ -> x__ {_VehiclePosition'multiCarriageDetails = y__}))
+ (Lens.Family2.Unchecked.lens
+ Data.Vector.Generic.toList
+ (\ _ y__ -> Data.Vector.Generic.fromList y__))
+instance Data.ProtoLens.Field.HasField VehiclePosition "vec'multiCarriageDetails" (Data.Vector.Vector VehiclePosition'CarriageDetails) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'multiCarriageDetails
+ (\ x__ y__ -> x__ {_VehiclePosition'multiCarriageDetails = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message VehiclePosition where
+ messageName _ = Data.Text.pack "transit_realtime.VehiclePosition"
+ packedMessageDescriptor _
+ = "\n\
+ \\SIVehiclePosition\DC24\n\
+ \\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\
+ \\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC26\n\
+ \\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.PositionR\bposition\DC22\n\
+ \\NAKcurrent_stop_sequence\CAN\ETX \SOH(\rR\DC3currentStopSequence\DC2\ETB\n\
+ \\astop_id\CAN\a \SOH(\tR\ACKstopId\DC2i\n\
+ \\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TOR\rcurrentStatus\DC2\FS\n\
+ \\ttimestamp\CAN\ENQ \SOH(\EOTR\ttimestamp\DC2\\\n\
+ \\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevelR\SIcongestionLevel\DC2\\\n\
+ \\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\SIoccupancyStatus\DC21\n\
+ \\DC4occupancy_percentage\CAN\n\
+ \ \SOH(\rR\DC3occupancyPercentage\DC2g\n\
+ \\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetailsR\DC4multiCarriageDetails\SUB\156\STX\n\
+ \\SICarriageDetails\DC2\SO\n\
+ \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\
+ \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\
+ \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\
+ \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\
+ \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\
+ \\DC1VehicleStopStatus\DC2\SI\n\
+ \\vINCOMING_AT\DLE\NUL\DC2\SO\n\
+ \\n\
+ \STOPPED_AT\DLE\SOH\DC2\DC1\n\
+ \\rIN_TRANSIT_TO\DLE\STX\"}\n\
+ \\SICongestionLevel\DC2\FS\n\
+ \\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\
+ \\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\
+ \\vSTOP_AND_GO\DLE\STX\DC2\SO\n\
+ \\n\
+ \CONGESTION\DLE\ETX\DC2\NAK\n\
+ \\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\
+ \\SIOccupancyStatus\DC2\t\n\
+ \\ENQEMPTY\DLE\NUL\DC2\CAN\n\
+ \\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\
+ \\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\
+ \\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\
+ \\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\
+ \\EOTFULL\DLE\ENQ\DC2\FS\n\
+ \\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\
+ \\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\
+ \\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ trip__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "trip"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor TripDescriptor)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'trip")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ vehicle__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "vehicle"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor VehicleDescriptor)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'vehicle")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ position__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "position"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor Position)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'position")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ currentStopSequence__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "current_stop_sequence"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'currentStopSequence")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ stopId__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "stop_id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'stopId")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ currentStatus__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "current_status"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'VehicleStopStatus)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'currentStatus")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ timestamp__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "timestamp"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt64Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word64)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'timestamp")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ congestionLevel__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "congestion_level"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'CongestionLevel)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'congestionLevel")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ occupancyStatus__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "occupancy_status"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'occupancyStatus")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ occupancyPercentage__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "occupancy_percentage"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'occupancyPercentage")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ multiCarriageDetails__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "multi_carriage_details"
+ (Data.ProtoLens.MessageField Data.ProtoLens.MessageType ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'CarriageDetails)
+ (Data.ProtoLens.RepeatedField
+ Data.ProtoLens.Unpacked
+ (Data.ProtoLens.Field.field @"multiCarriageDetails")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, trip__field_descriptor),
+ (Data.ProtoLens.Tag 8, vehicle__field_descriptor),
+ (Data.ProtoLens.Tag 2, position__field_descriptor),
+ (Data.ProtoLens.Tag 3, currentStopSequence__field_descriptor),
+ (Data.ProtoLens.Tag 7, stopId__field_descriptor),
+ (Data.ProtoLens.Tag 4, currentStatus__field_descriptor),
+ (Data.ProtoLens.Tag 5, timestamp__field_descriptor),
+ (Data.ProtoLens.Tag 6, congestionLevel__field_descriptor),
+ (Data.ProtoLens.Tag 9, occupancyStatus__field_descriptor),
+ (Data.ProtoLens.Tag 10, occupancyPercentage__field_descriptor),
+ (Data.ProtoLens.Tag 11, multiCarriageDetails__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _VehiclePosition'_unknownFields
+ (\ x__ y__ -> x__ {_VehiclePosition'_unknownFields = y__})
+ defMessage
+ = VehiclePosition'_constructor
+ {_VehiclePosition'trip = Prelude.Nothing,
+ _VehiclePosition'vehicle = Prelude.Nothing,
+ _VehiclePosition'position = Prelude.Nothing,
+ _VehiclePosition'currentStopSequence = Prelude.Nothing,
+ _VehiclePosition'stopId = Prelude.Nothing,
+ _VehiclePosition'currentStatus = Prelude.Nothing,
+ _VehiclePosition'timestamp = Prelude.Nothing,
+ _VehiclePosition'congestionLevel = Prelude.Nothing,
+ _VehiclePosition'occupancyStatus = Prelude.Nothing,
+ _VehiclePosition'occupancyPercentage = Prelude.Nothing,
+ _VehiclePosition'multiCarriageDetails = Data.Vector.Generic.empty,
+ _VehiclePosition'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ VehiclePosition
+ -> Data.ProtoLens.Encoding.Growing.Growing Data.Vector.Vector Data.ProtoLens.Encoding.Growing.RealWorld VehiclePosition'CarriageDetails
+ -> Data.ProtoLens.Encoding.Bytes.Parser VehiclePosition
+ loop x mutable'multiCarriageDetails
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do frozen'multiCarriageDetails <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.unsafeFreeze
+ mutable'multiCarriageDetails)
+ (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t)
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"vec'multiCarriageDetails")
+ frozen'multiCarriageDetails x))
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "trip"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"trip") y x)
+ mutable'multiCarriageDetails
+ 66
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "vehicle"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"vehicle") y x)
+ mutable'multiCarriageDetails
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len) Data.ProtoLens.parseMessage)
+ "position"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"position") y x)
+ mutable'multiCarriageDetails
+ 24
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "current_stop_sequence"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"currentStopSequence") y x)
+ mutable'multiCarriageDetails
+ 58
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "stop_id"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"stopId") y x)
+ mutable'multiCarriageDetails
+ 32
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "current_status"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"currentStatus") y x)
+ mutable'multiCarriageDetails
+ 40
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ Data.ProtoLens.Encoding.Bytes.getVarInt "timestamp"
+ loop
+ (Lens.Family2.set (Data.ProtoLens.Field.field @"timestamp") y x)
+ mutable'multiCarriageDetails
+ 48
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "congestion_level"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"congestionLevel") y x)
+ mutable'multiCarriageDetails
+ 72
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "occupancy_status"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"occupancyStatus") y x)
+ mutable'multiCarriageDetails
+ 80
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "occupancy_percentage"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"occupancyPercentage") y x)
+ mutable'multiCarriageDetails
+ 90
+ -> do !y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.isolate
+ (Prelude.fromIntegral len)
+ Data.ProtoLens.parseMessage)
+ "multi_carriage_details"
+ v <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ (Data.ProtoLens.Encoding.Growing.append
+ mutable'multiCarriageDetails y)
+ loop x v
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ mutable'multiCarriageDetails
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do mutable'multiCarriageDetails <- Data.ProtoLens.Encoding.Parser.Unsafe.unsafeLiftIO
+ Data.ProtoLens.Encoding.Growing.new
+ loop Data.ProtoLens.defMessage mutable'multiCarriageDetails)
+ "VehiclePosition"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'trip") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'vehicle") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 66)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'position") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.ProtoLens.encodeMessage _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'currentStopSequence") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'stopId") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 58)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'currentStatus") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'timestamp") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'congestionLevel") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 48)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'occupancyStatus") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 72)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field
+ @"maybe'occupancyPercentage")
+ _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 80)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt
+ Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.foldMapBuilder
+ (\ _v
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 90)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral
+ (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes
+ bs))
+ Data.ProtoLens.encodeMessage _v))
+ (Lens.Family2.view
+ (Data.ProtoLens.Field.field
+ @"vec'multiCarriageDetails")
+ _x))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view
+ Data.ProtoLens.unknownFields _x))))))))))))
+instance Control.DeepSeq.NFData VehiclePosition where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_VehiclePosition'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'trip x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'vehicle x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'position x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'currentStopSequence x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'stopId x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'currentStatus x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'timestamp x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'congestionLevel x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'occupancyStatus x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'occupancyPercentage x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'multiCarriageDetails x__)
+ ())))))))))))
+{- | Fields :
+
+ * 'Proto.GtfsRealtime_Fields.id' @:: Lens' VehiclePosition'CarriageDetails Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'id' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.label' @:: Lens' VehiclePosition'CarriageDetails Data.Text.Text@
+ * 'Proto.GtfsRealtime_Fields.maybe'label' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Text.Text)@
+ * 'Proto.GtfsRealtime_Fields.occupancyStatus' @:: Lens' VehiclePosition'CarriageDetails VehiclePosition'OccupancyStatus@
+ * 'Proto.GtfsRealtime_Fields.maybe'occupancyStatus' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe VehiclePosition'OccupancyStatus)@
+ * 'Proto.GtfsRealtime_Fields.occupancyPercentage' @:: Lens' VehiclePosition'CarriageDetails Data.Int.Int32@
+ * 'Proto.GtfsRealtime_Fields.maybe'occupancyPercentage' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Int.Int32)@
+ * 'Proto.GtfsRealtime_Fields.carriageSequence' @:: Lens' VehiclePosition'CarriageDetails Data.Word.Word32@
+ * 'Proto.GtfsRealtime_Fields.maybe'carriageSequence' @:: Lens' VehiclePosition'CarriageDetails (Prelude.Maybe Data.Word.Word32)@ -}
+data VehiclePosition'CarriageDetails
+ = VehiclePosition'CarriageDetails'_constructor {_VehiclePosition'CarriageDetails'id :: !(Prelude.Maybe Data.Text.Text),
+ _VehiclePosition'CarriageDetails'label :: !(Prelude.Maybe Data.Text.Text),
+ _VehiclePosition'CarriageDetails'occupancyStatus :: !(Prelude.Maybe VehiclePosition'OccupancyStatus),
+ _VehiclePosition'CarriageDetails'occupancyPercentage :: !(Prelude.Maybe Data.Int.Int32),
+ _VehiclePosition'CarriageDetails'carriageSequence :: !(Prelude.Maybe Data.Word.Word32),
+ _VehiclePosition'CarriageDetails'_unknownFields :: !Data.ProtoLens.FieldSet}
+ deriving stock (Prelude.Eq, Prelude.Ord)
+instance Prelude.Show VehiclePosition'CarriageDetails where
+ showsPrec _ __x __s
+ = Prelude.showChar
+ '{'
+ (Prelude.showString
+ (Data.ProtoLens.showMessageShort __x) (Prelude.showChar '}' __s))
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "id" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'id
+ (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'id = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'id" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'id
+ (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'id = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "label" Data.Text.Text where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'label
+ (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'label = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'label" (Prelude.Maybe Data.Text.Text) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'label
+ (\ x__ y__ -> x__ {_VehiclePosition'CarriageDetails'label = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "occupancyStatus" VehiclePosition'OccupancyStatus where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'occupancyStatus
+ (\ x__ y__
+ -> x__ {_VehiclePosition'CarriageDetails'occupancyStatus = y__}))
+ (Data.ProtoLens.maybeLens VehiclePosition'NO_DATA_AVAILABLE)
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'occupancyStatus" (Prelude.Maybe VehiclePosition'OccupancyStatus) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'occupancyStatus
+ (\ x__ y__
+ -> x__ {_VehiclePosition'CarriageDetails'occupancyStatus = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "occupancyPercentage" Data.Int.Int32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'occupancyPercentage
+ (\ x__ y__
+ -> x__
+ {_VehiclePosition'CarriageDetails'occupancyPercentage = y__}))
+ (Data.ProtoLens.maybeLens (-1))
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'occupancyPercentage" (Prelude.Maybe Data.Int.Int32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'occupancyPercentage
+ (\ x__ y__
+ -> x__
+ {_VehiclePosition'CarriageDetails'occupancyPercentage = y__}))
+ Prelude.id
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "carriageSequence" Data.Word.Word32 where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'carriageSequence
+ (\ x__ y__
+ -> x__ {_VehiclePosition'CarriageDetails'carriageSequence = y__}))
+ (Data.ProtoLens.maybeLens Data.ProtoLens.fieldDefault)
+instance Data.ProtoLens.Field.HasField VehiclePosition'CarriageDetails "maybe'carriageSequence" (Prelude.Maybe Data.Word.Word32) where
+ fieldOf _
+ = (Prelude..)
+ (Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'carriageSequence
+ (\ x__ y__
+ -> x__ {_VehiclePosition'CarriageDetails'carriageSequence = y__}))
+ Prelude.id
+instance Data.ProtoLens.Message VehiclePosition'CarriageDetails where
+ messageName _
+ = Data.Text.pack "transit_realtime.VehiclePosition.CarriageDetails"
+ packedMessageDescriptor _
+ = "\n\
+ \\SICarriageDetails\DC2\SO\n\
+ \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\
+ \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\
+ \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\
+ \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\
+ \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N"
+ packedFileDescriptor _ = packedFileDescriptor
+ fieldsByTag
+ = let
+ id__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "id"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'id")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails
+ label__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "label"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.StringField ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Text.Text)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'label")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails
+ occupancyStatus__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "occupancy_status"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.EnumField ::
+ Data.ProtoLens.FieldTypeDescriptor VehiclePosition'OccupancyStatus)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'occupancyStatus")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails
+ occupancyPercentage__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "occupancy_percentage"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.Int32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Int.Int32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'occupancyPercentage")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails
+ carriageSequence__field_descriptor
+ = Data.ProtoLens.FieldDescriptor
+ "carriage_sequence"
+ (Data.ProtoLens.ScalarField Data.ProtoLens.UInt32Field ::
+ Data.ProtoLens.FieldTypeDescriptor Data.Word.Word32)
+ (Data.ProtoLens.OptionalField
+ (Data.ProtoLens.Field.field @"maybe'carriageSequence")) ::
+ Data.ProtoLens.FieldDescriptor VehiclePosition'CarriageDetails
+ in
+ Data.Map.fromList
+ [(Data.ProtoLens.Tag 1, id__field_descriptor),
+ (Data.ProtoLens.Tag 2, label__field_descriptor),
+ (Data.ProtoLens.Tag 3, occupancyStatus__field_descriptor),
+ (Data.ProtoLens.Tag 4, occupancyPercentage__field_descriptor),
+ (Data.ProtoLens.Tag 5, carriageSequence__field_descriptor)]
+ unknownFields
+ = Lens.Family2.Unchecked.lens
+ _VehiclePosition'CarriageDetails'_unknownFields
+ (\ x__ y__
+ -> x__ {_VehiclePosition'CarriageDetails'_unknownFields = y__})
+ defMessage
+ = VehiclePosition'CarriageDetails'_constructor
+ {_VehiclePosition'CarriageDetails'id = Prelude.Nothing,
+ _VehiclePosition'CarriageDetails'label = Prelude.Nothing,
+ _VehiclePosition'CarriageDetails'occupancyStatus = Prelude.Nothing,
+ _VehiclePosition'CarriageDetails'occupancyPercentage = Prelude.Nothing,
+ _VehiclePosition'CarriageDetails'carriageSequence = Prelude.Nothing,
+ _VehiclePosition'CarriageDetails'_unknownFields = []}
+ parseMessage
+ = let
+ loop ::
+ VehiclePosition'CarriageDetails
+ -> Data.ProtoLens.Encoding.Bytes.Parser VehiclePosition'CarriageDetails
+ loop x
+ = do end <- Data.ProtoLens.Encoding.Bytes.atEnd
+ if end then
+ do (let missing = []
+ in
+ if Prelude.null missing then
+ Prelude.return ()
+ else
+ Prelude.fail
+ ((Prelude.++)
+ "Missing required fields: "
+ (Prelude.show (missing :: [Prelude.String]))))
+ Prelude.return
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> Prelude.reverse t) x)
+ else
+ do tag <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ case tag of
+ 10
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "id"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"id") y x)
+ 18
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do len <- Data.ProtoLens.Encoding.Bytes.getVarInt
+ Data.ProtoLens.Encoding.Bytes.getText
+ (Prelude.fromIntegral len))
+ "label"
+ loop (Lens.Family2.set (Data.ProtoLens.Field.field @"label") y x)
+ 24
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.toEnum
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt))
+ "occupancy_status"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"occupancyStatus") y x)
+ 32
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "occupancy_percentage"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"occupancyPercentage") y x)
+ 40
+ -> do y <- (Data.ProtoLens.Encoding.Bytes.<?>)
+ (Prelude.fmap
+ Prelude.fromIntegral
+ Data.ProtoLens.Encoding.Bytes.getVarInt)
+ "carriage_sequence"
+ loop
+ (Lens.Family2.set
+ (Data.ProtoLens.Field.field @"carriageSequence") y x)
+ wire
+ -> do !y <- Data.ProtoLens.Encoding.Wire.parseTaggedValueFromWire
+ wire
+ loop
+ (Lens.Family2.over
+ Data.ProtoLens.unknownFields (\ !t -> (:) y t) x)
+ in
+ (Data.ProtoLens.Encoding.Bytes.<?>)
+ (do loop Data.ProtoLens.defMessage) "CarriageDetails"
+ buildMessage
+ = \ _x
+ -> (Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'id") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 10)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view (Data.ProtoLens.Field.field @"maybe'label") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 18)
+ ((Prelude..)
+ (\ bs
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt
+ (Prelude.fromIntegral (Data.ByteString.length bs)))
+ (Data.ProtoLens.Encoding.Bytes.putBytes bs))
+ Data.Text.Encoding.encodeUtf8 _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'occupancyStatus") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 24)
+ ((Prelude..)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral)
+ Prelude.fromEnum _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'occupancyPercentage") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 32)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral _v))
+ ((Data.Monoid.<>)
+ (case
+ Lens.Family2.view
+ (Data.ProtoLens.Field.field @"maybe'carriageSequence") _x
+ of
+ Prelude.Nothing -> Data.Monoid.mempty
+ (Prelude.Just _v)
+ -> (Data.Monoid.<>)
+ (Data.ProtoLens.Encoding.Bytes.putVarInt 40)
+ ((Prelude..)
+ Data.ProtoLens.Encoding.Bytes.putVarInt Prelude.fromIntegral
+ _v))
+ (Data.ProtoLens.Encoding.Wire.buildFieldSet
+ (Lens.Family2.view Data.ProtoLens.unknownFields _x))))))
+instance Control.DeepSeq.NFData VehiclePosition'CarriageDetails where
+ rnf
+ = \ x__
+ -> Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'_unknownFields x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'id x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'label x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'occupancyStatus x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'occupancyPercentage x__)
+ (Control.DeepSeq.deepseq
+ (_VehiclePosition'CarriageDetails'carriageSequence x__) ())))))
+data VehiclePosition'CongestionLevel
+ = VehiclePosition'UNKNOWN_CONGESTION_LEVEL |
+ VehiclePosition'RUNNING_SMOOTHLY |
+ VehiclePosition'STOP_AND_GO |
+ VehiclePosition'CONGESTION |
+ VehiclePosition'SEVERE_CONGESTION
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum VehiclePosition'CongestionLevel where
+ maybeToEnum 0
+ = Prelude.Just VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ maybeToEnum 1 = Prelude.Just VehiclePosition'RUNNING_SMOOTHLY
+ maybeToEnum 2 = Prelude.Just VehiclePosition'STOP_AND_GO
+ maybeToEnum 3 = Prelude.Just VehiclePosition'CONGESTION
+ maybeToEnum 4 = Prelude.Just VehiclePosition'SEVERE_CONGESTION
+ maybeToEnum _ = Prelude.Nothing
+ showEnum VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ = "UNKNOWN_CONGESTION_LEVEL"
+ showEnum VehiclePosition'RUNNING_SMOOTHLY = "RUNNING_SMOOTHLY"
+ showEnum VehiclePosition'STOP_AND_GO = "STOP_AND_GO"
+ showEnum VehiclePosition'CONGESTION = "CONGESTION"
+ showEnum VehiclePosition'SEVERE_CONGESTION = "SEVERE_CONGESTION"
+ readEnum k
+ | (Prelude.==) k "UNKNOWN_CONGESTION_LEVEL"
+ = Prelude.Just VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ | (Prelude.==) k "RUNNING_SMOOTHLY"
+ = Prelude.Just VehiclePosition'RUNNING_SMOOTHLY
+ | (Prelude.==) k "STOP_AND_GO"
+ = Prelude.Just VehiclePosition'STOP_AND_GO
+ | (Prelude.==) k "CONGESTION"
+ = Prelude.Just VehiclePosition'CONGESTION
+ | (Prelude.==) k "SEVERE_CONGESTION"
+ = Prelude.Just VehiclePosition'SEVERE_CONGESTION
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded VehiclePosition'CongestionLevel where
+ minBound = VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ maxBound = VehiclePosition'SEVERE_CONGESTION
+instance Prelude.Enum VehiclePosition'CongestionLevel where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum CongestionLevel: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum VehiclePosition'UNKNOWN_CONGESTION_LEVEL = 0
+ fromEnum VehiclePosition'RUNNING_SMOOTHLY = 1
+ fromEnum VehiclePosition'STOP_AND_GO = 2
+ fromEnum VehiclePosition'CONGESTION = 3
+ fromEnum VehiclePosition'SEVERE_CONGESTION = 4
+ succ VehiclePosition'SEVERE_CONGESTION
+ = Prelude.error
+ "VehiclePosition'CongestionLevel.succ: bad argument VehiclePosition'SEVERE_CONGESTION. This value would be out of bounds."
+ succ VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ = VehiclePosition'RUNNING_SMOOTHLY
+ succ VehiclePosition'RUNNING_SMOOTHLY = VehiclePosition'STOP_AND_GO
+ succ VehiclePosition'STOP_AND_GO = VehiclePosition'CONGESTION
+ succ VehiclePosition'CONGESTION = VehiclePosition'SEVERE_CONGESTION
+ pred VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ = Prelude.error
+ "VehiclePosition'CongestionLevel.pred: bad argument VehiclePosition'UNKNOWN_CONGESTION_LEVEL. This value would be out of bounds."
+ pred VehiclePosition'RUNNING_SMOOTHLY
+ = VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+ pred VehiclePosition'STOP_AND_GO = VehiclePosition'RUNNING_SMOOTHLY
+ pred VehiclePosition'CONGESTION = VehiclePosition'STOP_AND_GO
+ pred VehiclePosition'SEVERE_CONGESTION = VehiclePosition'CONGESTION
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault VehiclePosition'CongestionLevel where
+ fieldDefault = VehiclePosition'UNKNOWN_CONGESTION_LEVEL
+instance Control.DeepSeq.NFData VehiclePosition'CongestionLevel where
+ rnf x__ = Prelude.seq x__ ()
+data VehiclePosition'OccupancyStatus
+ = VehiclePosition'EMPTY |
+ VehiclePosition'MANY_SEATS_AVAILABLE |
+ VehiclePosition'FEW_SEATS_AVAILABLE |
+ VehiclePosition'STANDING_ROOM_ONLY |
+ VehiclePosition'CRUSHED_STANDING_ROOM_ONLY |
+ VehiclePosition'FULL |
+ VehiclePosition'NOT_ACCEPTING_PASSENGERS |
+ VehiclePosition'NO_DATA_AVAILABLE |
+ VehiclePosition'NOT_BOARDABLE
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum VehiclePosition'OccupancyStatus where
+ maybeToEnum 0 = Prelude.Just VehiclePosition'EMPTY
+ maybeToEnum 1 = Prelude.Just VehiclePosition'MANY_SEATS_AVAILABLE
+ maybeToEnum 2 = Prelude.Just VehiclePosition'FEW_SEATS_AVAILABLE
+ maybeToEnum 3 = Prelude.Just VehiclePosition'STANDING_ROOM_ONLY
+ maybeToEnum 4
+ = Prelude.Just VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ maybeToEnum 5 = Prelude.Just VehiclePosition'FULL
+ maybeToEnum 6
+ = Prelude.Just VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ maybeToEnum 7 = Prelude.Just VehiclePosition'NO_DATA_AVAILABLE
+ maybeToEnum 8 = Prelude.Just VehiclePosition'NOT_BOARDABLE
+ maybeToEnum _ = Prelude.Nothing
+ showEnum VehiclePosition'EMPTY = "EMPTY"
+ showEnum VehiclePosition'MANY_SEATS_AVAILABLE
+ = "MANY_SEATS_AVAILABLE"
+ showEnum VehiclePosition'FEW_SEATS_AVAILABLE
+ = "FEW_SEATS_AVAILABLE"
+ showEnum VehiclePosition'STANDING_ROOM_ONLY = "STANDING_ROOM_ONLY"
+ showEnum VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ = "CRUSHED_STANDING_ROOM_ONLY"
+ showEnum VehiclePosition'FULL = "FULL"
+ showEnum VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ = "NOT_ACCEPTING_PASSENGERS"
+ showEnum VehiclePosition'NO_DATA_AVAILABLE = "NO_DATA_AVAILABLE"
+ showEnum VehiclePosition'NOT_BOARDABLE = "NOT_BOARDABLE"
+ readEnum k
+ | (Prelude.==) k "EMPTY" = Prelude.Just VehiclePosition'EMPTY
+ | (Prelude.==) k "MANY_SEATS_AVAILABLE"
+ = Prelude.Just VehiclePosition'MANY_SEATS_AVAILABLE
+ | (Prelude.==) k "FEW_SEATS_AVAILABLE"
+ = Prelude.Just VehiclePosition'FEW_SEATS_AVAILABLE
+ | (Prelude.==) k "STANDING_ROOM_ONLY"
+ = Prelude.Just VehiclePosition'STANDING_ROOM_ONLY
+ | (Prelude.==) k "CRUSHED_STANDING_ROOM_ONLY"
+ = Prelude.Just VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ | (Prelude.==) k "FULL" = Prelude.Just VehiclePosition'FULL
+ | (Prelude.==) k "NOT_ACCEPTING_PASSENGERS"
+ = Prelude.Just VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ | (Prelude.==) k "NO_DATA_AVAILABLE"
+ = Prelude.Just VehiclePosition'NO_DATA_AVAILABLE
+ | (Prelude.==) k "NOT_BOARDABLE"
+ = Prelude.Just VehiclePosition'NOT_BOARDABLE
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded VehiclePosition'OccupancyStatus where
+ minBound = VehiclePosition'EMPTY
+ maxBound = VehiclePosition'NOT_BOARDABLE
+instance Prelude.Enum VehiclePosition'OccupancyStatus where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum OccupancyStatus: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum VehiclePosition'EMPTY = 0
+ fromEnum VehiclePosition'MANY_SEATS_AVAILABLE = 1
+ fromEnum VehiclePosition'FEW_SEATS_AVAILABLE = 2
+ fromEnum VehiclePosition'STANDING_ROOM_ONLY = 3
+ fromEnum VehiclePosition'CRUSHED_STANDING_ROOM_ONLY = 4
+ fromEnum VehiclePosition'FULL = 5
+ fromEnum VehiclePosition'NOT_ACCEPTING_PASSENGERS = 6
+ fromEnum VehiclePosition'NO_DATA_AVAILABLE = 7
+ fromEnum VehiclePosition'NOT_BOARDABLE = 8
+ succ VehiclePosition'NOT_BOARDABLE
+ = Prelude.error
+ "VehiclePosition'OccupancyStatus.succ: bad argument VehiclePosition'NOT_BOARDABLE. This value would be out of bounds."
+ succ VehiclePosition'EMPTY = VehiclePosition'MANY_SEATS_AVAILABLE
+ succ VehiclePosition'MANY_SEATS_AVAILABLE
+ = VehiclePosition'FEW_SEATS_AVAILABLE
+ succ VehiclePosition'FEW_SEATS_AVAILABLE
+ = VehiclePosition'STANDING_ROOM_ONLY
+ succ VehiclePosition'STANDING_ROOM_ONLY
+ = VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ succ VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ = VehiclePosition'FULL
+ succ VehiclePosition'FULL
+ = VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ succ VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ = VehiclePosition'NO_DATA_AVAILABLE
+ succ VehiclePosition'NO_DATA_AVAILABLE
+ = VehiclePosition'NOT_BOARDABLE
+ pred VehiclePosition'EMPTY
+ = Prelude.error
+ "VehiclePosition'OccupancyStatus.pred: bad argument VehiclePosition'EMPTY. This value would be out of bounds."
+ pred VehiclePosition'MANY_SEATS_AVAILABLE = VehiclePosition'EMPTY
+ pred VehiclePosition'FEW_SEATS_AVAILABLE
+ = VehiclePosition'MANY_SEATS_AVAILABLE
+ pred VehiclePosition'STANDING_ROOM_ONLY
+ = VehiclePosition'FEW_SEATS_AVAILABLE
+ pred VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ = VehiclePosition'STANDING_ROOM_ONLY
+ pred VehiclePosition'FULL
+ = VehiclePosition'CRUSHED_STANDING_ROOM_ONLY
+ pred VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ = VehiclePosition'FULL
+ pred VehiclePosition'NO_DATA_AVAILABLE
+ = VehiclePosition'NOT_ACCEPTING_PASSENGERS
+ pred VehiclePosition'NOT_BOARDABLE
+ = VehiclePosition'NO_DATA_AVAILABLE
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault VehiclePosition'OccupancyStatus where
+ fieldDefault = VehiclePosition'EMPTY
+instance Control.DeepSeq.NFData VehiclePosition'OccupancyStatus where
+ rnf x__ = Prelude.seq x__ ()
+data VehiclePosition'VehicleStopStatus
+ = VehiclePosition'INCOMING_AT |
+ VehiclePosition'STOPPED_AT |
+ VehiclePosition'IN_TRANSIT_TO
+ deriving stock (Prelude.Show, Prelude.Eq, Prelude.Ord)
+instance Data.ProtoLens.MessageEnum VehiclePosition'VehicleStopStatus where
+ maybeToEnum 0 = Prelude.Just VehiclePosition'INCOMING_AT
+ maybeToEnum 1 = Prelude.Just VehiclePosition'STOPPED_AT
+ maybeToEnum 2 = Prelude.Just VehiclePosition'IN_TRANSIT_TO
+ maybeToEnum _ = Prelude.Nothing
+ showEnum VehiclePosition'INCOMING_AT = "INCOMING_AT"
+ showEnum VehiclePosition'STOPPED_AT = "STOPPED_AT"
+ showEnum VehiclePosition'IN_TRANSIT_TO = "IN_TRANSIT_TO"
+ readEnum k
+ | (Prelude.==) k "INCOMING_AT"
+ = Prelude.Just VehiclePosition'INCOMING_AT
+ | (Prelude.==) k "STOPPED_AT"
+ = Prelude.Just VehiclePosition'STOPPED_AT
+ | (Prelude.==) k "IN_TRANSIT_TO"
+ = Prelude.Just VehiclePosition'IN_TRANSIT_TO
+ | Prelude.otherwise
+ = (Prelude.>>=) (Text.Read.readMaybe k) Data.ProtoLens.maybeToEnum
+instance Prelude.Bounded VehiclePosition'VehicleStopStatus where
+ minBound = VehiclePosition'INCOMING_AT
+ maxBound = VehiclePosition'IN_TRANSIT_TO
+instance Prelude.Enum VehiclePosition'VehicleStopStatus where
+ toEnum k__
+ = Prelude.maybe
+ (Prelude.error
+ ((Prelude.++)
+ "toEnum: unknown value for enum VehicleStopStatus: "
+ (Prelude.show k__)))
+ Prelude.id (Data.ProtoLens.maybeToEnum k__)
+ fromEnum VehiclePosition'INCOMING_AT = 0
+ fromEnum VehiclePosition'STOPPED_AT = 1
+ fromEnum VehiclePosition'IN_TRANSIT_TO = 2
+ succ VehiclePosition'IN_TRANSIT_TO
+ = Prelude.error
+ "VehiclePosition'VehicleStopStatus.succ: bad argument VehiclePosition'IN_TRANSIT_TO. This value would be out of bounds."
+ succ VehiclePosition'INCOMING_AT = VehiclePosition'STOPPED_AT
+ succ VehiclePosition'STOPPED_AT = VehiclePosition'IN_TRANSIT_TO
+ pred VehiclePosition'INCOMING_AT
+ = Prelude.error
+ "VehiclePosition'VehicleStopStatus.pred: bad argument VehiclePosition'INCOMING_AT. This value would be out of bounds."
+ pred VehiclePosition'STOPPED_AT = VehiclePosition'INCOMING_AT
+ pred VehiclePosition'IN_TRANSIT_TO = VehiclePosition'STOPPED_AT
+ enumFrom = Data.ProtoLens.Message.Enum.messageEnumFrom
+ enumFromTo = Data.ProtoLens.Message.Enum.messageEnumFromTo
+ enumFromThen = Data.ProtoLens.Message.Enum.messageEnumFromThen
+ enumFromThenTo = Data.ProtoLens.Message.Enum.messageEnumFromThenTo
+instance Data.ProtoLens.FieldDefault VehiclePosition'VehicleStopStatus where
+ fieldDefault = VehiclePosition'INCOMING_AT
+instance Control.DeepSeq.NFData VehiclePosition'VehicleStopStatus where
+ rnf x__ = Prelude.seq x__ ()
+packedFileDescriptor :: Data.ByteString.ByteString
+packedFileDescriptor
+ = "\n\
+ \\DC3gtfs-realtime.proto\DC2\DLEtransit_realtime\"\137\SOH\n\
+ \\vFeedMessage\DC24\n\
+ \\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeaderR\ACKheader\DC24\n\
+ \\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntityR\ACKentity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\135\STX\n\
+ \\n\
+ \FeedHeader\DC22\n\
+ \\NAKgtfs_realtime_version\CAN\SOH \STX(\tR\DC3gtfsRealtimeVersion\DC2a\n\
+ \\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASETR\SOincrementality\DC2\FS\n\
+ \\ttimestamp\CAN\ETX \SOH(\EOTR\ttimestamp\"4\n\
+ \\SOIncrementality\DC2\DLE\n\
+ \\fFULL_DATASET\DLE\NUL\DC2\DLE\n\
+ \\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\172\STX\n\
+ \\n\
+ \FeedEntity\DC2\SO\n\
+ \\STXid\CAN\SOH \STX(\tR\STXid\DC2$\n\
+ \\n\
+ \is_deleted\CAN\STX \SOH(\b:\ENQfalseR\tisDeleted\DC2=\n\
+ \\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdateR\n\
+ \tripUpdate\DC2;\n\
+ \\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePositionR\avehicle\DC2-\n\
+ \\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.AlertR\ENQalert\DC2-\n\
+ \\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.ShapeR\ENQshape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\237\n\
+ \\n\
+ \\n\
+ \TripUpdate\DC24\n\
+ \\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\
+ \\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC2U\n\
+ \\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdateR\SOstopTimeUpdate\DC2\FS\n\
+ \\ttimestamp\CAN\EOT \SOH(\EOTR\ttimestamp\DC2\DC4\n\
+ \\ENQdelay\CAN\ENQ \SOH(\ENQR\ENQdelay\DC2T\n\
+ \\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripPropertiesR\SOtripProperties\SUBk\n\
+ \\rStopTimeEvent\DC2\DC4\n\
+ \\ENQdelay\CAN\SOH \SOH(\ENQR\ENQdelay\DC2\DC2\n\
+ \\EOTtime\CAN\STX \SOH(\ETXR\EOTtime\DC2 \n\
+ \\vuncertainty\CAN\ETX \SOH(\ENQR\vuncertainty*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\246\ENQ\n\
+ \\SOStopTimeUpdate\DC2#\n\
+ \\rstop_sequence\CAN\SOH \SOH(\rR\fstopSequence\DC2\ETB\n\
+ \\astop_id\CAN\EOT \SOH(\tR\ACKstopId\DC2D\n\
+ \\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\aarrival\DC2H\n\
+ \\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEventR\tdeparture\DC2o\n\
+ \\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\CANdepartureOccupancyStatus\DC2\128\SOH\n\
+ \\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULEDR\DC4scheduleRelationship\DC2p\n\
+ \\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimePropertiesR\DC2stopTimeProperties\SUBN\n\
+ \\DC2StopTimeProperties\DC2(\n\
+ \\DLEassigned_stop_id\CAN\SOH \SOH(\tR\SOassignedStopId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\
+ \\DC4ScheduleRelationship\DC2\r\n\
+ \\tSCHEDULED\DLE\NUL\DC2\v\n\
+ \\aSKIPPED\DLE\SOH\DC2\v\n\
+ \\aNO_DATA\DLE\STX\DC2\SI\n\
+ \\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\146\SOH\n\
+ \\SOTripProperties\DC2\ETB\n\
+ \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\GS\n\
+ \\n\
+ \start_date\CAN\STX \SOH(\tR\tstartDate\DC2\GS\n\
+ \\n\
+ \start_time\CAN\ETX \SOH(\tR\tstartTime\DC2\EM\n\
+ \\bshape_id\CAN\EOT \SOH(\tR\ashapeId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\191\v\n\
+ \\SIVehiclePosition\DC24\n\
+ \\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2=\n\
+ \\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptorR\avehicle\DC26\n\
+ \\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.PositionR\bposition\DC22\n\
+ \\NAKcurrent_stop_sequence\CAN\ETX \SOH(\rR\DC3currentStopSequence\DC2\ETB\n\
+ \\astop_id\CAN\a \SOH(\tR\ACKstopId\DC2i\n\
+ \\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TOR\rcurrentStatus\DC2\FS\n\
+ \\ttimestamp\CAN\ENQ \SOH(\EOTR\ttimestamp\DC2\\\n\
+ \\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevelR\SIcongestionLevel\DC2\\\n\
+ \\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatusR\SIoccupancyStatus\DC21\n\
+ \\DC4occupancy_percentage\CAN\n\
+ \ \SOH(\rR\DC3occupancyPercentage\DC2g\n\
+ \\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetailsR\DC4multiCarriageDetails\SUB\156\STX\n\
+ \\SICarriageDetails\DC2\SO\n\
+ \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\
+ \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2o\n\
+ \\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLER\SIoccupancyStatus\DC25\n\
+ \\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1R\DC3occupancyPercentage\DC2+\n\
+ \\DC1carriage_sequence\CAN\ENQ \SOH(\rR\DLEcarriageSequence*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\
+ \\DC1VehicleStopStatus\DC2\SI\n\
+ \\vINCOMING_AT\DLE\NUL\DC2\SO\n\
+ \\n\
+ \STOPPED_AT\DLE\SOH\DC2\DC1\n\
+ \\rIN_TRANSIT_TO\DLE\STX\"}\n\
+ \\SICongestionLevel\DC2\FS\n\
+ \\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\
+ \\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\
+ \\vSTOP_AND_GO\DLE\STX\DC2\SO\n\
+ \\n\
+ \CONGESTION\DLE\ETX\DC2\NAK\n\
+ \\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\
+ \\SIOccupancyStatus\DC2\t\n\
+ \\ENQEMPTY\DLE\NUL\DC2\CAN\n\
+ \\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\
+ \\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\
+ \\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\
+ \\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\
+ \\EOTFULL\DLE\ENQ\DC2\FS\n\
+ \\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\
+ \\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\
+ \\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\148\v\n\
+ \\ENQAlert\DC2@\n\
+ \\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRangeR\factivePeriod\DC2I\n\
+ \\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelectorR\SOinformedEntity\DC2B\n\
+ \\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSER\ENQcause\DC2F\n\
+ \\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECTR\ACKeffect\DC24\n\
+ \\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedStringR\ETXurl\DC2C\n\
+ \\vheader_text\CAN\n\
+ \ \SOH(\v2\".transit_realtime.TranslatedStringR\n\
+ \headerText\DC2M\n\
+ \\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedStringR\SIdescriptionText\DC2J\n\
+ \\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedStringR\rttsHeaderText\DC2T\n\
+ \\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedStringR\DC2ttsDescriptionText\DC2^\n\
+ \\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITYR\rseverityLevel\DC27\n\
+ \\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImageR\ENQimage\DC2X\n\
+ \\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedStringR\DC4imageAlternativeText\"\216\SOH\n\
+ \\ENQCause\DC2\DC1\n\
+ \\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\
+ \\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\
+ \\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKSTRIKE\DLE\EOT\DC2\DC1\n\
+ \\rDEMONSTRATION\DLE\ENQ\DC2\f\n\
+ \\bACCIDENT\DLE\ACK\DC2\v\n\
+ \\aHOLIDAY\DLE\a\DC2\v\n\
+ \\aWEATHER\DLE\b\DC2\SI\n\
+ \\vMAINTENANCE\DLE\t\DC2\DLE\n\
+ \\fCONSTRUCTION\DLE\n\
+ \\DC2\DC3\n\
+ \\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\
+ \\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\
+ \\ACKEffect\DC2\SO\n\
+ \\n\
+ \NO_SERVICE\DLE\SOH\DC2\DC3\n\
+ \\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\
+ \\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKDETOUR\DLE\EOT\DC2\SYN\n\
+ \\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\
+ \\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\
+ \\fOTHER_EFFECT\DLE\a\DC2\DC2\n\
+ \\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\
+ \\n\
+ \STOP_MOVED\DLE\t\DC2\r\n\
+ \\tNO_EFFECT\DLE\n\
+ \\DC2\ETB\n\
+ \\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\
+ \\rSeverityLevel\DC2\DC4\n\
+ \\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\
+ \\EOTINFO\DLE\STX\DC2\v\n\
+ \\aWARNING\DLE\ETX\DC2\n\
+ \\n\
+ \\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"C\n\
+ \\tTimeRange\DC2\DC4\n\
+ \\ENQstart\CAN\SOH \SOH(\EOTR\ENQstart\DC2\DLE\n\
+ \\ETXend\CAN\STX \SOH(\EOTR\ETXend*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\160\SOH\n\
+ \\bPosition\DC2\SUB\n\
+ \\blatitude\CAN\SOH \STX(\STXR\blatitude\DC2\FS\n\
+ \\tlongitude\CAN\STX \STX(\STXR\tlongitude\DC2\CAN\n\
+ \\abearing\CAN\ETX \SOH(\STXR\abearing\DC2\SUB\n\
+ \\bodometer\CAN\EOT \SOH(\SOHR\bodometer\DC2\DC4\n\
+ \\ENQspeed\CAN\ENQ \SOH(\STXR\ENQspeed*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\147\ETX\n\
+ \\SOTripDescriptor\DC2\ETB\n\
+ \\atrip_id\CAN\SOH \SOH(\tR\ACKtripId\DC2\EM\n\
+ \\broute_id\CAN\ENQ \SOH(\tR\arouteId\DC2!\n\
+ \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId\DC2\GS\n\
+ \\n\
+ \start_time\CAN\STX \SOH(\tR\tstartTime\DC2\GS\n\
+ \\n\
+ \start_date\CAN\ETX \SOH(\tR\tstartDate\DC2j\n\
+ \\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationshipR\DC4scheduleRelationship\"p\n\
+ \\DC4ScheduleRelationship\DC2\r\n\
+ \\tSCHEDULED\DLE\NUL\DC2\t\n\
+ \\ENQADDED\DLE\SOH\DC2\SI\n\
+ \\vUNSCHEDULED\DLE\STX\DC2\f\n\
+ \\bCANCELED\DLE\ETX\DC2\SI\n\
+ \\vREPLACEMENT\DLE\ENQ\DC2\SO\n\
+ \\n\
+ \DUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"n\n\
+ \\DC1VehicleDescriptor\DC2\SO\n\
+ \\STXid\CAN\SOH \SOH(\tR\STXid\DC2\DC4\n\
+ \\ENQlabel\CAN\STX \SOH(\tR\ENQlabel\DC2#\n\
+ \\rlicense_plate\CAN\ETX \SOH(\tR\flicensePlate*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\233\SOH\n\
+ \\SOEntitySelector\DC2\ESC\n\
+ \\tagency_id\CAN\SOH \SOH(\tR\bagencyId\DC2\EM\n\
+ \\broute_id\CAN\STX \SOH(\tR\arouteId\DC2\GS\n\
+ \\n\
+ \route_type\CAN\ETX \SOH(\ENQR\trouteType\DC24\n\
+ \\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptorR\EOTtrip\DC2\ETB\n\
+ \\astop_id\CAN\ENQ \SOH(\tR\ACKstopId\DC2!\n\
+ \\fdirection_id\CAN\ACK \SOH(\rR\vdirectionId*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\195\SOH\n\
+ \\DLETranslatedString\DC2P\n\
+ \\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.TranslationR\vtranslation\SUBM\n\
+ \\vTranslation\DC2\DC2\n\
+ \\EOTtext\CAN\SOH \STX(\tR\EOTtext\DC2\SUB\n\
+ \\blanguage\CAN\STX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\235\SOH\n\
+ \\SITranslatedImage\DC2Y\n\
+ \\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImageR\SOlocalizedImage\SUBm\n\
+ \\SOLocalizedImage\DC2\DLE\n\
+ \\ETXurl\CAN\SOH \STX(\tR\ETXurl\DC2\GS\n\
+ \\n\
+ \media_type\CAN\STX \STX(\tR\tmediaType\DC2\SUB\n\
+ \\blanguage\CAN\ETX \SOH(\tR\blanguage*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"]\n\
+ \\ENQShape\DC2\EM\n\
+ \\bshape_id\CAN\SOH \SOH(\tR\ashapeId\DC2)\n\
+ \\DLEencoded_polyline\CAN\STX \SOH(\tR\SIencodedPolyline*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144NB\SI\n\
+ \\rGTFS.realtimeJ\229\169\ETX\n\
+ \\a\DC2\ENQ\CAN\NUL\226\a\SOH\n\
+ \\206\a\n\
+ \\SOH\f\DC2\ETX\CAN\NUL\DC22\200\EOT Copyright 2015 The GTFS Specifications Authors.\n\
+ \\n\
+ \ Licensed under the Apache License, Version 2.0 (the \"License\");\n\
+ \ you may not use this file except in compliance with the License.\n\
+ \ You may obtain a copy of the License at\n\
+ \\n\
+ \ https://www.apache.org/licenses/LICENSE-2.0\n\
+ \\n\
+ \ Unless required by applicable law or agreed to in writing, software\n\
+ \ distributed under the License is distributed on an \"AS IS\" BASIS,\n\
+ \ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\
+ \ See the License for the specific language governing permissions and\n\
+ \ limitations under the License.\n\
+ \2\248\STX Protocol definition file for GTFS Realtime.\n\
+ \\n\
+ \ GTFS Realtime lets transit agencies provide consumers with realtime\n\
+ \ information about disruptions to their service (stations closed, lines not\n\
+ \ operating, important delays etc), location of their vehicles and expected\n\
+ \ arrival times.\n\
+ \\n\
+ \ This protocol is published at:\n\
+ \ https://github.com/google/transit/tree/master/gtfs-realtime\n\
+ \\n\
+ \\b\n\
+ \\SOH\b\DC2\ETX\EM\NUL&\n\
+ \\t\n\
+ \\STX\b\SOH\DC2\ETX\EM\NUL&\n\
+ \\b\n\
+ \\SOH\STX\DC2\ETX\SUB\NUL\EM\n\
+ \\180\EOT\n\
+ \\STX\EOT\NUL\DC2\EOT%\NUL3\SOH\SUB\167\EOT The contents of a feed message.\n\
+ \ A feed is a continuous stream of feed messages. Each message in the stream is\n\
+ \ obtained as a response to an appropriate HTTP GET request.\n\
+ \ A realtime feed is always defined with relation to an existing GTFS feed.\n\
+ \ All the entity ids are resolved with respect to the GTFS feed.\n\
+ \ Note that \"required\" and \"optional\" as stated in this file refer to Protocol\n\
+ \ Buffer cardinality, not semantic cardinality. See reference.md at\n\
+ \ https://github.com/google/transit/tree/master/gtfs-realtime for field\n\
+ \ semantic cardinality.\n\
+ \\n\
+ \\n\
+ \\n\
+ \\ETX\EOT\NUL\SOH\DC2\ETX%\b\DC3\n\
+ \9\n\
+ \\EOT\EOT\NUL\STX\NUL\DC2\ETX'\STX!\SUB, Metadata about this feed and feed message.\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\NUL\EOT\DC2\ETX'\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\NUL\ACK\DC2\ETX'\v\NAK\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\NUL\SOH\DC2\ETX'\SYN\FS\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\NUL\ETX\DC2\ETX'\US \n\
+ \$\n\
+ \\EOT\EOT\NUL\STX\SOH\DC2\ETX*\STX!\SUB\ETB Contents of the feed.\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\SOH\EOT\DC2\ETX*\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\SOH\ACK\DC2\ETX*\v\NAK\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\SOH\SOH\DC2\ETX*\SYN\FS\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\STX\SOH\ETX\DC2\ETX*\US \n\
+ \\184\SOH\n\
+ \\ETX\EOT\NUL\ENQ\DC2\ETX/\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\NUL\ENQ\NUL\DC2\ETX/\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\ENQ\NUL\SOH\DC2\ETX/\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\ENQ\NUL\STX\DC2\ETX/\NAK\EM\n\
+ \[\n\
+ \\ETX\EOT\NUL\ENQ\DC2\ETX2\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\NUL\ENQ\SOH\DC2\ETX2\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\ENQ\SOH\SOH\DC2\ETX2\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\NUL\ENQ\SOH\STX\DC2\ETX2\NAK\EM\n\
+ \?\n\
+ \\STX\EOT\SOH\DC2\EOT6\NULR\SOH\SUB3 Metadata about a feed, included in feed messages.\n\
+ \\n\
+ \\n\
+ \\n\
+ \\ETX\EOT\SOH\SOH\DC2\ETX6\b\DC2\n\
+ \p\n\
+ \\EOT\EOT\SOH\STX\NUL\DC2\ETX9\STX,\SUBc Version of the feed specification.\n\
+ \ The current version is 2.0. Valid versions are \"2.0\", \"1.0\".\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\NUL\EOT\DC2\ETX9\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\NUL\ENQ\DC2\ETX9\v\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\NUL\SOH\DC2\ETX9\DC2'\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\NUL\ETX\DC2\ETX9*+\n\
+ \\239\STX\n\
+ \\EOT\EOT\SOH\EOT\NUL\DC2\EOT@\STXC\ETX\SUB\224\STX Determines whether the current fetch is incremental. Currently,\n\
+ \ DIFFERENTIAL mode is unsupported and behavior is unspecified for feeds\n\
+ \ that use this mode. There are discussions on the GTFS Realtime mailing\n\
+ \ list around fully specifying the behavior of DIFFERENTIAL mode and the\n\
+ \ documentation will be updated when those discussions are finalized.\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\EOT\NUL\SOH\DC2\ETX@\a\NAK\n\
+ \\r\n\
+ \\ACK\EOT\SOH\EOT\NUL\STX\NUL\DC2\ETXA\EOT\NAK\n\
+ \\SO\n\
+ \\a\EOT\SOH\EOT\NUL\STX\NUL\SOH\DC2\ETXA\EOT\DLE\n\
+ \\SO\n\
+ \\a\EOT\SOH\EOT\NUL\STX\NUL\STX\DC2\ETXA\DC3\DC4\n\
+ \\r\n\
+ \\ACK\EOT\SOH\EOT\NUL\STX\SOH\DC2\ETXB\EOT\NAK\n\
+ \\SO\n\
+ \\a\EOT\SOH\EOT\NUL\STX\SOH\SOH\DC2\ETXB\EOT\DLE\n\
+ \\SO\n\
+ \\a\EOT\SOH\EOT\NUL\STX\SOH\STX\DC2\ETXB\DC3\DC4\n\
+ \\v\n\
+ \\EOT\EOT\SOH\STX\SOH\DC2\ETXD\STXF\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\EOT\DC2\ETXD\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\ACK\DC2\ETXD\v\EM\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\SOH\DC2\ETXD\SUB(\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\ETX\DC2\ETXD+,\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\b\DC2\ETXD-E\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\SOH\a\DC2\ETXD8D\n\
+ \\196\SOH\n\
+ \\EOT\EOT\SOH\STX\STX\DC2\ETXI\STX \SUB\182\SOH This timestamp identifies the moment when the content of this feed has been\n\
+ \ created (in server time). In POSIX time (i.e., number of seconds since\n\
+ \ January 1st 1970 00:00:00 UTC).\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\STX\EOT\DC2\ETXI\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\STX\ENQ\DC2\ETXI\v\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\STX\SOH\DC2\ETXI\DC2\ESC\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\STX\STX\ETX\DC2\ETXI\RS\US\n\
+ \\184\SOH\n\
+ \\ETX\EOT\SOH\ENQ\DC2\ETXN\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\SOH\ENQ\NUL\DC2\ETXN\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\ENQ\NUL\SOH\DC2\ETXN\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\ENQ\NUL\STX\DC2\ETXN\NAK\EM\n\
+ \[\n\
+ \\ETX\EOT\SOH\ENQ\DC2\ETXQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\SOH\ENQ\SOH\DC2\ETXQ\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\ENQ\SOH\SOH\DC2\ETXQ\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\SOH\ENQ\SOH\STX\DC2\ETXQ\NAK\EM\n\
+ \H\n\
+ \\STX\EOT\STX\DC2\EOTU\NULt\SOH\SUB< A definition (or update) of an entity in the transit feed.\n\
+ \\n\
+ \\n\
+ \\n\
+ \\ETX\EOT\STX\SOH\DC2\ETXU\b\DC2\n\
+ \\250\ETX\n\
+ \\EOT\EOT\STX\STX\NUL\DC2\ETX^\STX\EM\SUB\236\ETX The ids are used only to provide incrementality support. The id should be\n\
+ \ unique within a FeedMessage. Consequent FeedMessages may contain\n\
+ \ FeedEntities with the same id. In case of a DIFFERENTIAL update the new\n\
+ \ FeedEntity with some id will replace the old FeedEntity with the same id\n\
+ \ (or delete it - see is_deleted below).\n\
+ \ The actual GTFS entities (e.g. stations, routes, trips) referenced by the\n\
+ \ feed must be specified by explicit selectors (see EntitySelector below for\n\
+ \ more info).\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\NUL\EOT\DC2\ETX^\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\NUL\ENQ\DC2\ETX^\v\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\NUL\SOH\DC2\ETX^\DC2\DC4\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\NUL\ETX\DC2\ETX^\ETB\CAN\n\
+ \\\\n\
+ \\EOT\EOT\STX\STX\SOH\DC2\ETXb\STX1\SUBO Whether this entity is to be deleted. Relevant only for incremental\n\
+ \ fetches.\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\EOT\DC2\ETXb\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\ENQ\DC2\ETXb\v\SI\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\SOH\DC2\ETXb\DLE\SUB\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\ETX\DC2\ETXb\GS\RS\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\b\DC2\ETXb\US0\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\SOH\a\DC2\ETXb*/\n\
+ \\135\SOH\n\
+ \\EOT\EOT\STX\STX\STX\DC2\ETXf\STX&\SUBz Data about the entity itself. Exactly one of the following fields must be\n\
+ \ present (unless the entity is being deleted).\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\STX\EOT\DC2\ETXf\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\STX\ACK\DC2\ETXf\v\NAK\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\STX\SOH\DC2\ETXf\SYN!\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\STX\ETX\DC2\ETXf$%\n\
+ \\v\n\
+ \\EOT\EOT\STX\STX\ETX\DC2\ETXg\STX'\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ETX\EOT\DC2\ETXg\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ETX\ACK\DC2\ETXg\v\SUB\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ETX\SOH\DC2\ETXg\ESC\"\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ETX\ETX\DC2\ETXg%&\n\
+ \\v\n\
+ \\EOT\EOT\STX\STX\EOT\DC2\ETXh\STX\ESC\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\EOT\EOT\DC2\ETXh\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\EOT\ACK\DC2\ETXh\v\DLE\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\EOT\SOH\DC2\ETXh\DC1\SYN\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\EOT\ETX\DC2\ETXh\EM\SUB\n\
+ \w\n\
+ \\EOT\EOT\STX\STX\ENQ\DC2\ETXk\STX\ESC\SUBj NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ENQ\EOT\DC2\ETXk\STX\n\
+ \\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ENQ\ACK\DC2\ETXk\v\DLE\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ENQ\SOH\DC2\ETXk\DC1\SYN\n\
+ \\f\n\
+ \\ENQ\EOT\STX\STX\ENQ\ETX\DC2\ETXk\EM\SUB\n\
+ \\184\SOH\n\
+ \\ETX\EOT\STX\ENQ\DC2\ETXp\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\STX\ENQ\NUL\DC2\ETXp\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\STX\ENQ\NUL\SOH\DC2\ETXp\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\STX\ENQ\NUL\STX\DC2\ETXp\NAK\EM\n\
+ \[\n\
+ \\ETX\EOT\STX\ENQ\DC2\ETXs\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\v\n\
+ \\EOT\EOT\STX\ENQ\SOH\DC2\ETXs\r\EM\n\
+ \\f\n\
+ \\ENQ\EOT\STX\ENQ\SOH\SOH\DC2\ETXs\r\DC1\n\
+ \\f\n\
+ \\ENQ\EOT\STX\ENQ\SOH\STX\DC2\ETXs\NAK\EM\n\
+ \\239\f\n\
+ \\STX\EOT\ETX\DC2\ACK\148\SOH\NUL\140\ETX\SOH\SUB\192\f Realtime update of the progress of a vehicle along a trip.\n\
+ \ Depending on the value of ScheduleRelationship, a TripUpdate can specify:\n\
+ \ - A trip that proceeds along the schedule.\n\
+ \ - A trip that proceeds along a route but has no fixed schedule.\n\
+ \ - A trip that have been added or removed with regard to schedule.\n\
+ \\n\
+ \ The updates can be for future, predicted arrival/departure events, or for\n\
+ \ past events that already occurred.\n\
+ \ Normally, updates should get more precise and more certain (see\n\
+ \ uncertainty below) as the events gets closer to current time.\n\
+ \ Even if that is not possible, the information for past events should be\n\
+ \ precise and certain. In particular, if an update points to time in the past\n\
+ \ but its update's uncertainty is not 0, the client should conclude that the\n\
+ \ update is a (wrong) prediction and that the trip has not completed yet.\n\
+ \\n\
+ \ Note that the update can describe a trip that is already completed.\n\
+ \ To this end, it is enough to provide an update for the last stop of the trip.\n\
+ \ If the time of that is in the past, the client will conclude from that that\n\
+ \ the whole trip is in the past (it is possible, although inconsequential, to\n\
+ \ also provide updates for preceding stops).\n\
+ \ This option is most relevant for a trip that has completed ahead of schedule,\n\
+ \ but according to the schedule, the trip is still proceeding at the current\n\
+ \ time. Removing the updates for this trip could make the client assume\n\
+ \ that the trip is still proceeding.\n\
+ \ Note that the feed provider is allowed, but not required, to purge past\n\
+ \ updates - this is one case where this would be practically useful.\n\
+ \2\RS\n\
+ \ Entities used in the feed.\n\
+ \\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\ETX\SOH\DC2\EOT\148\SOH\b\DC2\n\
+ \\150\STX\n\
+ \\EOT\EOT\ETX\STX\NUL\DC2\EOT\153\SOH\STX#\SUB\135\STX The Trip that this message applies to. There can be at most one\n\
+ \ TripUpdate entity for each actual trip instance.\n\
+ \ If there is none, that means there is no prediction information available.\n\
+ \ It does *not* mean that the trip is progressing according to schedule.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\NUL\EOT\DC2\EOT\153\SOH\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\NUL\ACK\DC2\EOT\153\SOH\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\NUL\SOH\DC2\EOT\153\SOH\SUB\RS\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\NUL\ETX\DC2\EOT\153\SOH!\"\n\
+ \P\n\
+ \\EOT\EOT\ETX\STX\SOH\DC2\EOT\156\SOH\STX)\SUBB Additional information on the vehicle that is serving this trip.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\SOH\EOT\DC2\EOT\156\SOH\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\SOH\ACK\DC2\EOT\156\SOH\v\FS\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\SOH\SOH\DC2\EOT\156\SOH\GS$\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\SOH\ETX\DC2\EOT\156\SOH'(\n\
+ \\179\ACK\n\
+ \\EOT\EOT\ETX\ETX\NUL\DC2\ACK\173\SOH\STX\197\SOH\ETX\SUB\162\ACK Timing information for a single predicted event (either arrival or\n\
+ \ departure).\n\
+ \ Timing consists of delay and/or estimated time, and uncertainty.\n\
+ \ - delay should be used when the prediction is given relative to some\n\
+ \ existing schedule in GTFS.\n\
+ \ - time should be given whether there is a predicted schedule or not. If\n\
+ \ both time and delay are specified, time will take precedence\n\
+ \ (although normally, time, if given for a scheduled trip, should be\n\
+ \ equal to scheduled time in GTFS + delay).\n\
+ \\n\
+ \ Uncertainty applies equally to both time and delay.\n\
+ \ The uncertainty roughly specifies the expected error in true delay (but\n\
+ \ note, we don't yet define its precise statistical meaning). It's possible\n\
+ \ for the uncertainty to be 0, for example for trains that are driven under\n\
+ \ computer timing control.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ETX\NUL\SOH\DC2\EOT\173\SOH\n\
+ \\ETB\n\
+ \\205\SOH\n\
+ \\ACK\EOT\ETX\ETX\NUL\STX\NUL\DC2\EOT\177\SOH\EOT\GS\SUB\188\SOH Delay (in seconds) can be positive (meaning that the vehicle is late) or\n\
+ \ negative (meaning that the vehicle is ahead of schedule). Delay of 0\n\
+ \ means that the vehicle is exactly on time.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\NUL\EOT\DC2\EOT\177\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\NUL\ENQ\DC2\EOT\177\SOH\r\DC2\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\NUL\SOH\DC2\EOT\177\SOH\DC3\CAN\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\NUL\ETX\DC2\EOT\177\SOH\ESC\FS\n\
+ \w\n\
+ \\ACK\EOT\ETX\ETX\NUL\STX\SOH\DC2\EOT\182\SOH\EOT\FS\SUBg Event as absolute time.\n\
+ \ In Unix time (i.e., number of seconds since January 1st 1970 00:00:00\n\
+ \ UTC).\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\SOH\EOT\DC2\EOT\182\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\SOH\ENQ\DC2\EOT\182\SOH\r\DC2\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\SOH\SOH\DC2\EOT\182\SOH\DC3\ETB\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\SOH\ETX\DC2\EOT\182\SOH\SUB\ESC\n\
+ \\158\STX\n\
+ \\ACK\EOT\ETX\ETX\NUL\STX\STX\DC2\EOT\188\SOH\EOT#\SUB\141\STX If uncertainty is omitted, it is interpreted as unknown.\n\
+ \ If the prediction is unknown or too uncertain, the delay (or time) field\n\
+ \ should be empty. In such case, the uncertainty field is ignored.\n\
+ \ To specify a completely certain prediction, set its uncertainty to 0.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\STX\EOT\DC2\EOT\188\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\STX\ENQ\DC2\EOT\188\SOH\r\DC2\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\STX\SOH\DC2\EOT\188\SOH\DC3\RS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\STX\STX\ETX\DC2\EOT\188\SOH!\"\n\
+ \\187\SOH\n\
+ \\ENQ\EOT\ETX\ETX\NUL\ENQ\DC2\EOT\193\SOH\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features\n\
+ \ and modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\NUL\ENQ\NUL\DC2\EOT\193\SOH\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\193\SOH\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\ENQ\NUL\STX\DC2\EOT\193\SOH\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\ETX\ETX\NUL\ENQ\DC2\EOT\196\SOH\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\NUL\ENQ\SOH\DC2\EOT\196\SOH\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\196\SOH\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\NUL\ENQ\SOH\STX\DC2\EOT\196\SOH\ETB\ESC\n\
+ \\171\ETX\n\
+ \\EOT\EOT\ETX\ETX\SOH\DC2\ACK\202\SOH\STX\164\STX\ETX\SUB\209\SOH Realtime update for arrival and/or departure events for a given stop on a\n\
+ \ trip. Updates can be supplied for both past and future events.\n\
+ \ The producer is allowed, although not required, to drop past events.\n\
+ \\"\198\SOH The update is linked to a specific stop either through stop_sequence or\n\
+ \ stop_id, so one of the fields below must necessarily be set.\n\
+ \ See the documentation in TripDescriptor for more information.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ETX\SOH\SOH\DC2\EOT\202\SOH\n\
+ \\CAN\n\
+ \W\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\NUL\DC2\EOT\208\SOH\EOT&\SUBG Must be the same as in stop_times.txt in the corresponding GTFS feed.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\NUL\EOT\DC2\EOT\208\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\NUL\ENQ\DC2\EOT\208\SOH\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\NUL\SOH\DC2\EOT\208\SOH\DC4!\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\NUL\ETX\DC2\EOT\208\SOH$%\n\
+ \R\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\SOH\DC2\EOT\210\SOH\EOT \SUBB Must be the same as in stops.txt in the corresponding GTFS feed.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\SOH\EOT\DC2\EOT\210\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\SOH\ENQ\DC2\EOT\210\SOH\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\SOH\SOH\DC2\EOT\210\SOH\DC4\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\SOH\ETX\DC2\EOT\210\SOH\RS\US\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\STX\DC2\EOT\212\SOH\EOT'\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\STX\EOT\DC2\EOT\212\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\STX\ACK\DC2\EOT\212\SOH\r\SUB\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\STX\SOH\DC2\EOT\212\SOH\ESC\"\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\STX\ETX\DC2\EOT\212\SOH%&\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\ETX\DC2\EOT\213\SOH\EOT)\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ETX\EOT\DC2\EOT\213\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ETX\ACK\DC2\EOT\213\SOH\r\SUB\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ETX\SOH\DC2\EOT\213\SOH\ESC$\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ETX\ETX\DC2\EOT\213\SOH'(\n\
+ \\138\STX\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\EOT\DC2\EOT\219\SOH\EOTL\SUB\249\SOH Expected occupancy after departure from the given stop.\n\
+ \ Should be provided only for future stops.\n\
+ \ In order to provide departure_occupancy_status without either arrival or\n\
+ \ departure StopTimeEvents, ScheduleRelationship should be set to NO_DATA. \n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\EOT\EOT\DC2\EOT\219\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\EOT\ACK\DC2\EOT\219\SOH\r,\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\EOT\SOH\DC2\EOT\219\SOH-G\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\EOT\ETX\DC2\EOT\219\SOHJK\n\
+ \T\n\
+ \\ACK\EOT\ETX\ETX\SOH\EOT\NUL\DC2\ACK\222\SOH\EOT\250\SOH\ENQ\SUBB The relation between the StopTimeEvents and the static schedule.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\EOT\NUL\SOH\DC2\EOT\222\SOH\t\GS\n\
+ \\199\ETX\n\
+ \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\DC2\EOT\229\SOH\ACK\DC4\SUB\180\ETX The vehicle is proceeding in accordance with its static schedule of\n\
+ \ stops, although not necessarily according to the times of the schedule.\n\
+ \ At least one of arrival and departure must be provided. If the schedule\n\
+ \ for this stop contains both arrival and departure times then so must\n\
+ \ this update. Frequency-based trips (GTFS frequencies.txt with exact_times = 0)\n\
+ \ should not have a SCHEDULED value and should use UNSCHEDULED instead.\n\
+ \\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\SOH\DC2\EOT\229\SOH\ACK\SI\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\NUL\STX\DC2\EOT\229\SOH\DC2\DC3\n\
+ \{\n\
+ \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\DC2\EOT\233\SOH\ACK\DC2\SUBi The stop is skipped, i.e., the vehicle will not stop at this stop.\n\
+ \ Arrival and departure are optional.\n\
+ \\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\SOH\DC2\EOT\233\SOH\ACK\r\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\SOH\STX\DC2\EOT\233\SOH\DLE\DC1\n\
+ \\238\STX\n\
+ \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\DC2\EOT\241\SOH\ACK\DC2\SUB\219\STX No StopTimeEvents are given for this stop.\n\
+ \ The main intention for this value is to give time predictions only for\n\
+ \ part of a trip, i.e., if the last update for a trip has a NO_DATA\n\
+ \ specifier, then StopTimeEvents for the rest of the stops in the trip\n\
+ \ are considered to be unspecified as well.\n\
+ \ Neither arrival nor departure should be supplied.\n\
+ \\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\SOH\DC2\EOT\241\SOH\ACK\r\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\STX\STX\DC2\EOT\241\SOH\DLE\DC1\n\
+ \\235\ETX\n\
+ \\b\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\DC2\EOT\249\SOH\ACK\SYN\SUB\216\ETX The vehicle is operating a trip defined in GTFS frequencies.txt with exact_times = 0.\n\
+ \ This value should not be used for trips that are not defined in GTFS frequencies.txt,\n\
+ \ or trips in GTFS frequencies.txt with exact_times = 1. Trips containing StopTimeUpdates\n\
+ \ with ScheduleRelationship=UNSCHEDULED must also set TripDescriptor.ScheduleRelationship=UNSCHEDULED.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be\n\
+ \ formally adopted in the future.\n\
+ \\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\SOH\DC2\EOT\249\SOH\ACK\DC1\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\EOT\NUL\STX\ETX\STX\DC2\EOT\249\SOH\DC4\NAK\n\
+ \\DLE\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\ENQ\DC2\ACK\251\SOH\EOT\252\SOH\RS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\EOT\DC2\EOT\251\SOH\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\ACK\DC2\EOT\251\SOH\r!\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\SOH\DC2\EOT\251\SOH\"7\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\ETX\DC2\EOT\251\SOH:;\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\b\DC2\EOT\252\SOH\b\GS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ENQ\a\DC2\EOT\252\SOH\DC3\FS\n\
+ \\175\SOH\n\
+ \\ACK\EOT\ETX\ETX\SOH\ETX\NUL\DC2\ACK\128\STX\EOT\151\STX\ENQ\SUB\156\SOH Provides the updated values for the stop time.\n\
+ \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\ETX\NUL\SOH\DC2\EOT\128\STX\f\RS\n\
+ \\231\t\n\
+ \\b\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\DC2\EOT\142\STX\ACK+\SUB\212\t Supports real-time stop assignments. Refers to a stop_id defined in the GTFS stops.txt.\n\
+ \ The new assigned_stop_id should not result in a significantly different trip experience for the end user than\n\
+ \ the stop_id defined in GTFS stop_times.txt. In other words, the end user should not view this new stop_id as an\n\
+ \ \"unusual change\" if the new stop was presented within an app without any additional context.\n\
+ \ For example, this field is intended to be used for platform assignments by using a stop_id that belongs to the\n\
+ \ same station as the stop originally defined in GTFS stop_times.txt.\n\
+ \ To assign a stop without providing any real-time arrival or departure predictions, populate this field and set\n\
+ \ StopTimeUpdate.schedule_relationship = NO_DATA.\n\
+ \ If this field is populated, it is preferred to omit `StopTimeUpdate.stop_id` and use only `StopTimeUpdate.stop_sequence`. If\n\
+ \ `StopTimeProperties.assigned_stop_id` and `StopTimeUpdate.stop_id` are populated, `StopTimeUpdate.stop_id` must match `assigned_stop_id`.\n\
+ \ Platform assignments should be reflected in other GTFS-realtime fields as well\n\
+ \ (e.g., `VehiclePosition.stop_id`).\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\EOT\DC2\EOT\142\STX\ACK\SO\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\ENQ\DC2\EOT\142\STX\SI\NAK\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\SOH\DC2\EOT\142\STX\SYN&\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\STX\NUL\ETX\DC2\EOT\142\STX)*\n\
+ \\189\SOH\n\
+ \\a\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\DC2\EOT\147\STX\ACK\RS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features\n\
+ \ and modifications to the spec.\n\
+ \\n\
+ \\DLE\n\
+ \\b\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\DC2\EOT\147\STX\DC1\GS\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\147\STX\DC1\NAK\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\NUL\STX\DC2\EOT\147\STX\EM\GS\n\
+ \`\n\
+ \\a\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\DC2\EOT\150\STX\ACK\RS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\DLE\n\
+ \\b\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\DC2\EOT\150\STX\DC1\GS\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\150\STX\DC1\NAK\n\
+ \\DC1\n\
+ \\t\EOT\ETX\ETX\SOH\ETX\NUL\ENQ\SOH\STX\DC2\EOT\150\STX\EM\GS\n\
+ \\199\SOH\n\
+ \\ACK\EOT\ETX\ETX\SOH\STX\ACK\DC2\EOT\155\STX\EOT9\SUB\182\SOH Realtime updates for certain properties defined within GTFS stop_times.txt\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ACK\EOT\DC2\EOT\155\STX\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ACK\ACK\DC2\EOT\155\STX\r\US\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ACK\SOH\DC2\EOT\155\STX 4\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\STX\ACK\ETX\DC2\EOT\155\STX78\n\
+ \\187\SOH\n\
+ \\ENQ\EOT\ETX\ETX\SOH\ENQ\DC2\EOT\160\STX\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features\n\
+ \ and modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\SOH\ENQ\NUL\DC2\EOT\160\STX\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\ENQ\NUL\SOH\DC2\EOT\160\STX\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\ENQ\NUL\STX\DC2\EOT\160\STX\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\ETX\ETX\SOH\ENQ\DC2\EOT\163\STX\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\SOH\ENQ\SOH\DC2\EOT\163\STX\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\ENQ\SOH\SOH\DC2\EOT\163\STX\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\SOH\ENQ\SOH\STX\DC2\EOT\163\STX\ETB\ESC\n\
+ \\189\ACK\n\
+ \\EOT\EOT\ETX\STX\STX\DC2\EOT\185\STX\STX/\SUB\174\ACK Updates to StopTimes for the trip (both future, i.e., predictions, and in\n\
+ \ some cases, past ones, i.e., those that already happened).\n\
+ \ The updates must be sorted by stop_sequence, and apply for all the\n\
+ \ following stops of the trip up to the next specified one.\n\
+ \\n\
+ \ Example 1:\n\
+ \ For a trip with 20 stops, a StopTimeUpdate with arrival delay and departure\n\
+ \ delay of 0 for stop_sequence of the current stop means that the trip is\n\
+ \ exactly on time.\n\
+ \\n\
+ \ Example 2:\n\
+ \ For the same trip instance, 3 StopTimeUpdates are provided:\n\
+ \ - delay of 5 min for stop_sequence 3\n\
+ \ - delay of 1 min for stop_sequence 8\n\
+ \ - delay of unspecified duration for stop_sequence 10\n\
+ \ This will be interpreted as:\n\
+ \ - stop_sequences 3,4,5,6,7 have delay of 5 min.\n\
+ \ - stop_sequences 8,9 have delay of 1 min.\n\
+ \ - stop_sequences 10,... have unknown delay.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\STX\EOT\DC2\EOT\185\STX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\STX\ACK\DC2\EOT\185\STX\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\STX\SOH\DC2\EOT\185\STX\SUB*\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\STX\ETX\DC2\EOT\185\STX-.\n\
+ \\184\STX\n\
+ \\EOT\EOT\ETX\STX\ETX\DC2\EOT\191\STX\STX \SUB\169\STX The most recent moment at which the vehicle's real-time progress was measured\n\
+ \ to estimate StopTimes in the future. When StopTimes in the past are provided,\n\
+ \ arrival/departure times may be earlier than this value. In POSIX\n\
+ \ time (i.e., the number of seconds since January 1st 1970 00:00:00 UTC).\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ETX\EOT\DC2\EOT\191\STX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ETX\ENQ\DC2\EOT\191\STX\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ETX\SOH\DC2\EOT\191\STX\DC2\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ETX\ETX\DC2\EOT\191\STX\RS\US\n\
+ \\221\ACK\n\
+ \\EOT\EOT\ETX\STX\EOT\DC2\EOT\211\STX\STX\ESC\SUB\206\ACK The current schedule deviation for the trip. Delay should only be\n\
+ \ specified when the prediction is given relative to some existing schedule\n\
+ \ in GTFS.\n\
+ \\n\
+ \ Delay (in seconds) can be positive (meaning that the vehicle is late) or\n\
+ \ negative (meaning that the vehicle is ahead of schedule). Delay of 0\n\
+ \ means that the vehicle is exactly on time.\n\
+ \\n\
+ \ Delay information in StopTimeUpdates take precedent of trip-level delay\n\
+ \ information, such that trip-level delay is only propagated until the next\n\
+ \ stop along the trip with a StopTimeUpdate delay value specified.\n\
+ \\n\
+ \ Feed providers are strongly encouraged to provide a TripUpdate.timestamp\n\
+ \ value indicating when the delay value was last updated, in order to\n\
+ \ evaluate the freshness of the data.\n\
+ \\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be\n\
+ \ formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\EOT\EOT\DC2\EOT\211\STX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\EOT\ENQ\DC2\EOT\211\STX\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\EOT\SOH\DC2\EOT\211\STX\DC1\SYN\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\EOT\ETX\DC2\EOT\211\STX\EM\SUB\n\
+ \\160\STX\n\
+ \\EOT\EOT\ETX\ETX\STX\DC2\ACK\216\STX\STX\130\ETX\ETX\SUB\143\STX Defines updated properties of the trip, such as a new shape_id when there is a detour. Or defines the\n\
+ \ trip_id, start_date, and start_time of a DUPLICATED trip. \n\
+ \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ETX\STX\SOH\DC2\EOT\216\STX\n\
+ \\CAN\n\
+ \\228\EOT\n\
+ \\ACK\EOT\ETX\ETX\STX\STX\NUL\DC2\EOT\223\STX\EOT \SUB\211\EOT Defines the identifier of a new trip that is a duplicate of an existing trip defined in (CSV) GTFS trips.txt\n\
+ \ but will start at a different service date and/or time (defined using the TripProperties.start_date and\n\
+ \ TripProperties.start_time fields). See definition of trips.trip_id in (CSV) GTFS. Its value must be different\n\
+ \ than the ones used in the (CSV) GTFS. Required if schedule_relationship=DUPLICATED, otherwise this field must not\n\
+ \ be populated and will be ignored by consumers.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\NUL\EOT\DC2\EOT\223\STX\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\NUL\ENQ\DC2\EOT\223\STX\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\NUL\SOH\DC2\EOT\223\STX\DC4\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\NUL\ETX\DC2\EOT\223\STX\RS\US\n\
+ \\195\STX\n\
+ \\ACK\EOT\ETX\ETX\STX\STX\SOH\DC2\EOT\227\STX\EOT#\SUB\178\STX Service date on which the DUPLICATED trip will be run, in YYYYMMDD format. Required if\n\
+ \ schedule_relationship=DUPLICATED, otherwise this field must not be populated and will be ignored by consumers.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\SOH\EOT\DC2\EOT\227\STX\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\SOH\ENQ\DC2\EOT\227\STX\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\SOH\SOH\DC2\EOT\227\STX\DC4\RS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\SOH\ETX\DC2\EOT\227\STX!\"\n\
+ \\251\t\n\
+ \\ACK\EOT\ETX\ETX\STX\STX\STX\DC2\EOT\240\STX\EOT#\SUB\234\t Defines the departure start time of the trip when it\226\128\153s duplicated. See definition of stop_times.departure_time\n\
+ \ in (CSV) GTFS. Scheduled arrival and departure times for the duplicated trip are calculated based on the offset\n\
+ \ between the original trip departure_time and this field. For example, if a GTFS trip has stop A with a\n\
+ \ departure_time of 10:00:00 and stop B with departure_time of 10:01:00, and this field is populated with the value\n\
+ \ of 10:30:00, stop B on the duplicated trip will have a scheduled departure_time of 10:31:00. Real-time prediction\n\
+ \ delay values are applied to this calculated schedule time to determine the predicted time. For example, if a\n\
+ \ departure delay of 30 is provided for stop B, then the predicted departure time is 10:31:30. Real-time\n\
+ \ prediction time values do not have any offset applied to them and indicate the predicted time as provided.\n\
+ \ For example, if a departure time representing 10:31:30 is provided for stop B, then the predicted departure time\n\
+ \ is 10:31:30. This field is required if schedule_relationship is DUPLICATED, otherwise this field must not be\n\
+ \ populated and will be ignored by consumers.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\STX\EOT\DC2\EOT\240\STX\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\STX\ENQ\DC2\EOT\240\STX\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\STX\SOH\DC2\EOT\240\STX\DC4\RS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\STX\ETX\DC2\EOT\240\STX!\"\n\
+ \\239\ACK\n\
+ \\ACK\EOT\ETX\ETX\STX\STX\ETX\DC2\EOT\249\STX\EOT!\SUB\222\ACK Specifies the shape of the vehicle travel path when the trip shape differs from the shape specified in\n\
+ \ (CSV) GTFS or to specify it in real-time when it's not provided by (CSV) GTFS, such as a vehicle that takes differing\n\
+ \ paths based on rider demand. See definition of trips.shape_id in (CSV) GTFS. If a shape is neither defined in (CSV) GTFS\n\
+ \ nor in real-time, the shape is considered unknown. This field can refer to a shape defined in the (CSV) GTFS in shapes.txt\n\
+ \ or a Shape in the (protobuf) real-time feed. The order of stops (stop sequences) for this trip must remain the same as\n\
+ \ (CSV) GTFS. Stops that are a part of the original trip but will no longer be made, such as when a detour occurs, should\n\
+ \ be marked as schedule_relationship=SKIPPED.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future. \n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\ETX\EOT\DC2\EOT\249\STX\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\ETX\ENQ\DC2\EOT\249\STX\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\ETX\SOH\DC2\EOT\249\STX\DC4\FS\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\STX\ETX\ETX\DC2\EOT\249\STX\US \n\
+ \\187\SOH\n\
+ \\ENQ\EOT\ETX\ETX\STX\ENQ\DC2\EOT\254\STX\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features\n\
+ \ and modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\STX\ENQ\NUL\DC2\EOT\254\STX\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\ENQ\NUL\SOH\DC2\EOT\254\STX\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\ENQ\NUL\STX\DC2\EOT\254\STX\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\ETX\ETX\STX\ENQ\DC2\EOT\129\ETX\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\ETX\ETX\STX\ENQ\SOH\DC2\EOT\129\ETX\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\ENQ\SOH\SOH\DC2\EOT\129\ETX\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\ETX\ETX\STX\ENQ\SOH\STX\DC2\EOT\129\ETX\ETB\ESC\n\
+ \\f\n\
+ \\EOT\EOT\ETX\STX\ENQ\DC2\EOT\131\ETX\STX.\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ENQ\EOT\DC2\EOT\131\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ENQ\ACK\DC2\EOT\131\ETX\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ENQ\SOH\DC2\EOT\131\ETX\SUB)\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\STX\ENQ\ETX\DC2\EOT\131\ETX,-\n\
+ \\185\SOH\n\
+ \\ETX\EOT\ETX\ENQ\DC2\EOT\136\ETX\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ETX\ENQ\NUL\DC2\EOT\136\ETX\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ENQ\NUL\SOH\DC2\EOT\136\ETX\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ENQ\NUL\STX\DC2\EOT\136\ETX\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\ETX\ENQ\DC2\EOT\139\ETX\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ETX\ENQ\SOH\DC2\EOT\139\ETX\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ENQ\SOH\SOH\DC2\EOT\139\ETX\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ETX\ENQ\SOH\STX\DC2\EOT\139\ETX\NAK\EM\n\
+ \E\n\
+ \\STX\EOT\EOT\DC2\ACK\143\ETX\NUL\189\EOT\SOH\SUB7 Realtime positioning information for a given vehicle.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\EOT\SOH\DC2\EOT\143\ETX\b\ETB\n\
+ \\146\SOH\n\
+ \\EOT\EOT\EOT\STX\NUL\DC2\EOT\147\ETX\STX#\SUB\131\SOH The Trip that this vehicle is serving.\n\
+ \ Can be empty or partial if the vehicle can not be identified with a given\n\
+ \ trip instance.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\NUL\EOT\DC2\EOT\147\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\NUL\ACK\DC2\EOT\147\ETX\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\NUL\SOH\DC2\EOT\147\ETX\SUB\RS\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\NUL\ETX\DC2\EOT\147\ETX!\"\n\
+ \P\n\
+ \\EOT\EOT\EOT\STX\SOH\DC2\EOT\150\ETX\STX)\SUBB Additional information on the vehicle that is serving this trip.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\SOH\EOT\DC2\EOT\150\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\SOH\ACK\DC2\EOT\150\ETX\v\FS\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\SOH\SOH\DC2\EOT\150\ETX\GS$\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\SOH\ETX\DC2\EOT\150\ETX'(\n\
+ \1\n\
+ \\EOT\EOT\EOT\STX\STX\DC2\EOT\153\ETX\STX!\SUB# Current position of this vehicle.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\STX\EOT\DC2\EOT\153\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\STX\ACK\DC2\EOT\153\ETX\v\DC3\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\STX\SOH\DC2\EOT\153\ETX\DC4\FS\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\STX\ETX\DC2\EOT\153\ETX\US \n\
+ \\224\SOH\n\
+ \\EOT\EOT\EOT\STX\ETX\DC2\EOT\159\ETX\STX,\SUB\209\SOH The stop sequence index of the current stop. The meaning of\n\
+ \ current_stop_sequence (i.e., the stop that it refers to) is determined by\n\
+ \ current_status.\n\
+ \ If current_status is missing IN_TRANSIT_TO is assumed.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ETX\EOT\DC2\EOT\159\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ETX\ENQ\DC2\EOT\159\ETX\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ETX\SOH\DC2\EOT\159\ETX\DC2'\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ETX\ETX\DC2\EOT\159\ETX*+\n\
+ \x\n\
+ \\EOT\EOT\EOT\STX\EOT\DC2\EOT\162\ETX\STX\RS\SUBj Identifies the current stop. The value must be the same as in stops.txt in\n\
+ \ the corresponding GTFS feed.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\EOT\EOT\DC2\EOT\162\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\EOT\ENQ\DC2\EOT\162\ETX\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\EOT\SOH\DC2\EOT\162\ETX\DC2\EM\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\EOT\ETX\DC2\EOT\162\ETX\FS\GS\n\
+ \\SO\n\
+ \\EOT\EOT\EOT\EOT\NUL\DC2\ACK\164\ETX\STX\174\ETX\ETX\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\EOT\NUL\SOH\DC2\EOT\164\ETX\a\CAN\n\
+ \}\n\
+ \\ACK\EOT\EOT\EOT\NUL\STX\NUL\DC2\EOT\167\ETX\EOT\DC4\SUBm The vehicle is just about to arrive at the stop (on a stop\n\
+ \ display, the vehicle symbol typically flashes).\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\NUL\SOH\DC2\EOT\167\ETX\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\NUL\STX\DC2\EOT\167\ETX\DC2\DC3\n\
+ \6\n\
+ \\ACK\EOT\EOT\EOT\NUL\STX\SOH\DC2\EOT\170\ETX\EOT\DC3\SUB& The vehicle is standing at the stop.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\SOH\SOH\DC2\EOT\170\ETX\EOT\SO\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\SOH\STX\DC2\EOT\170\ETX\DC1\DC2\n\
+ \N\n\
+ \\ACK\EOT\EOT\EOT\NUL\STX\STX\DC2\EOT\173\ETX\EOT\SYN\SUB> The vehicle has departed and is in transit to the next stop.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\STX\SOH\DC2\EOT\173\ETX\EOT\DC1\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\NUL\STX\STX\STX\DC2\EOT\173\ETX\DC4\NAK\n\
+ \\DEL\n\
+ \\EOT\EOT\EOT\STX\ENQ\DC2\EOT\177\ETX\STXJ\SUBq The exact status of the vehicle with respect to the current stop.\n\
+ \ Ignored if current_stop_sequence is missing.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\EOT\DC2\EOT\177\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\ACK\DC2\EOT\177\ETX\v\FS\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\SOH\DC2\EOT\177\ETX\GS+\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\ETX\DC2\EOT\177\ETX./\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\b\DC2\EOT\177\ETX0I\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ENQ\a\DC2\EOT\177\ETX;H\n\
+ \\147\SOH\n\
+ \\EOT\EOT\EOT\STX\ACK\DC2\EOT\181\ETX\STX \SUB\132\SOH Moment at which the vehicle's position was measured. In POSIX time\n\
+ \ (i.e., number of seconds since January 1st 1970 00:00:00 UTC).\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ACK\EOT\DC2\EOT\181\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ACK\ENQ\DC2\EOT\181\ETX\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ACK\SOH\DC2\EOT\181\ETX\DC2\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\ACK\ETX\DC2\EOT\181\ETX\RS\US\n\
+ \B\n\
+ \\EOT\EOT\EOT\EOT\SOH\DC2\ACK\184\ETX\STX\190\ETX\ETX\SUB2 Congestion level that is affecting this vehicle.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\EOT\SOH\SOH\DC2\EOT\184\ETX\a\SYN\n\
+ \\SO\n\
+ \\ACK\EOT\EOT\EOT\SOH\STX\NUL\DC2\EOT\185\ETX\EOT!\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\NUL\SOH\DC2\EOT\185\ETX\EOT\FS\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\NUL\STX\DC2\EOT\185\ETX\US \n\
+ \\SO\n\
+ \\ACK\EOT\EOT\EOT\SOH\STX\SOH\DC2\EOT\186\ETX\EOT\EM\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\SOH\SOH\DC2\EOT\186\ETX\EOT\DC4\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\SOH\STX\DC2\EOT\186\ETX\ETB\CAN\n\
+ \\SO\n\
+ \\ACK\EOT\EOT\EOT\SOH\STX\STX\DC2\EOT\187\ETX\EOT\DC4\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\STX\SOH\DC2\EOT\187\ETX\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\STX\STX\DC2\EOT\187\ETX\DC2\DC3\n\
+ \\SO\n\
+ \\ACK\EOT\EOT\EOT\SOH\STX\ETX\DC2\EOT\188\ETX\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\ETX\SOH\DC2\EOT\188\ETX\EOT\SO\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\ETX\STX\DC2\EOT\188\ETX\DC1\DC2\n\
+ \,\n\
+ \\ACK\EOT\EOT\EOT\SOH\STX\EOT\DC2\EOT\189\ETX\EOT\SUB\"\FS People leaving their cars.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\EOT\SOH\DC2\EOT\189\ETX\EOT\NAK\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\SOH\STX\EOT\STX\DC2\EOT\189\ETX\CAN\EM\n\
+ \\f\n\
+ \\EOT\EOT\EOT\STX\a\DC2\EOT\191\ETX\STX0\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\a\EOT\DC2\EOT\191\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\a\ACK\DC2\EOT\191\ETX\v\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\a\SOH\DC2\EOT\191\ETX\ESC+\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\a\ETX\DC2\EOT\191\ETX./\n\
+ \\128\ENQ\n\
+ \\EOT\EOT\EOT\EOT\STX\DC2\ACK\201\ETX\STX\239\ETX\ETX\SUB\239\EOT The state of passenger occupancy for the vehicle or carriage.\n\
+ \ Individual producers may not publish all OccupancyStatus values. Therefore, consumers\n\
+ \ must not assume that the OccupancyStatus values follow a linear scale.\n\
+ \ Consumers should represent OccupancyStatus values as the state indicated \n\
+ \ and intended by the producer. Likewise, producers must use OccupancyStatus values that\n\
+ \ correspond to actual vehicle occupancy states.\n\
+ \ For describing passenger occupancy levels on a linear scale, see `occupancy_percentage`.\n\
+ \ This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\EOT\STX\SOH\DC2\EOT\201\ETX\a\SYN\n\
+ \\154\SOH\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\NUL\DC2\EOT\204\ETX\EOT\SO\SUB\137\SOH The vehicle or carriage is considered empty by most measures, and has few or no\n\
+ \ passengers onboard, but is still accepting passengers.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\NUL\SOH\DC2\EOT\204\ETX\EOT\t\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\NUL\STX\DC2\EOT\204\ETX\f\r\n\
+ \\248\SOH\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\SOH\DC2\EOT\210\ETX\EOT\GS\SUB\231\SOH The vehicle or carriage has a large number of seats available.\n\
+ \ The amount of free seats out of the total seats available to be\n\
+ \ considered large enough to fall into this category is determined at the\n\
+ \ discretion of the producer.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\SOH\SOH\DC2\EOT\210\ETX\EOT\CAN\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\SOH\STX\DC2\EOT\210\ETX\ESC\FS\n\
+ \\136\STX\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\STX\DC2\EOT\216\ETX\EOT\FS\SUB\247\SOH The vehicle or carriage has a relatively small number of seats available.\n\
+ \ The amount of free seats out of the total seats available to be\n\
+ \ considered small enough to fall into this category is determined at the\n\
+ \ discretion of the feed producer.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\STX\SOH\DC2\EOT\216\ETX\EOT\ETB\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\STX\STX\DC2\EOT\216\ETX\SUB\ESC\n\
+ \]\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\ETX\DC2\EOT\219\ETX\EOT\ESC\SUBM The vehicle or carriage can currently accommodate only standing passengers.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ETX\SOH\DC2\EOT\219\ETX\EOT\SYN\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ETX\STX\DC2\EOT\219\ETX\EM\SUB\n\
+ \}\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\EOT\DC2\EOT\223\ETX\EOT#\SUBm The vehicle or carriage can currently accommodate only standing passengers\n\
+ \ and has limited space for them.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\EOT\SOH\DC2\EOT\223\ETX\EOT\RS\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\EOT\STX\DC2\EOT\223\ETX!\"\n\
+ \~\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\ENQ\DC2\EOT\227\ETX\EOT\r\SUBn The vehicle or carriage is considered full by most measures, but may still be\n\
+ \ allowing passengers to board.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ENQ\SOH\DC2\EOT\227\ETX\EOT\b\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ENQ\STX\DC2\EOT\227\ETX\v\f\n\
+ \s\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\ACK\DC2\EOT\230\ETX\EOT!\SUBc The vehicle or carriage is not accepting passengers, but usually accepts passengers for boarding.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ACK\SOH\DC2\EOT\230\ETX\EOT\FS\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\ACK\STX\DC2\EOT\230\ETX\US \n\
+ \a\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\a\DC2\EOT\233\ETX\EOT\SUB\SUBQ The vehicle or carriage doesn't have any occupancy data available at that time.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\a\SOH\DC2\EOT\233\ETX\EOT\NAK\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\a\STX\DC2\EOT\233\ETX\CAN\EM\n\
+ \\171\SOH\n\
+ \\ACK\EOT\EOT\EOT\STX\STX\b\DC2\EOT\237\ETX\EOT\SYN\SUB\154\SOH The vehicle or carriage is not boardable and never accepts passengers.\n\
+ \ Useful for special vehicles or carriages (engine, maintenance carriage, etc\226\128\166).\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\b\SOH\DC2\EOT\237\ETX\EOT\DC1\n\
+ \\SI\n\
+ \\a\EOT\EOT\EOT\STX\STX\b\STX\DC2\EOT\237\ETX\DC4\NAK\n\
+ \\193\SOH\n\
+ \\EOT\EOT\EOT\STX\b\DC2\EOT\242\ETX\STX0\SUB\178\SOH If multi_carriage_status is populated with per-carriage OccupancyStatus,\n\
+ \ then this field should describe the entire vehicle with all carriages accepting passengers considered.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\b\EOT\DC2\EOT\242\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\b\ACK\DC2\EOT\242\ETX\v\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\b\SOH\DC2\EOT\242\ETX\ESC+\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\b\ETX\DC2\EOT\242\ETX./\n\
+ \\239\ACK\n\
+ \\EOT\EOT\EOT\STX\t\DC2\EOT\253\ETX\STX,\SUB\224\ACK A percentage value indicating the degree of passenger occupancy in the vehicle.\n\
+ \ The values are represented as an integer without decimals. 0 means 0% and 100 means 100%.\n\
+ \ The value 100 should represent the total maximum occupancy the vehicle was designed for,\n\
+ \ including both seated and standing capacity, and current operating regulations allow.\n\
+ \ The value may exceed 100 if there are more passengers than the maximum designed capacity.\n\
+ \ The precision of occupancy_percentage should be low enough that individual passengers cannot be tracked boarding or alighting the vehicle.\n\
+ \ If multi_carriage_status is populated with per-carriage occupancy_percentage, \n\
+ \ then this field should describe the entire vehicle with all carriages accepting passengers considered.\n\
+ \ This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\t\EOT\DC2\EOT\253\ETX\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\t\ENQ\DC2\EOT\253\ETX\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\t\SOH\DC2\EOT\253\ETX\DC2&\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\t\ETX\DC2\EOT\253\ETX)+\n\
+ \\201\SOH\n\
+ \\EOT\EOT\EOT\ETX\NUL\DC2\ACK\129\EOT\STX\169\EOT\ETX\SUB\184\SOH Carriage specific details, used for vehicles composed of several carriages\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\ETX\NUL\SOH\DC2\EOT\129\EOT\n\
+ \\EM\n\
+ \O\n\
+ \\ACK\EOT\EOT\ETX\NUL\STX\NUL\DC2\EOT\132\EOT\EOT\ESC\SUB? Identification of the carriage. Should be unique per vehicle.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\NUL\EOT\DC2\EOT\132\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\NUL\ENQ\DC2\EOT\132\EOT\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\NUL\SOH\DC2\EOT\132\EOT\DC4\SYN\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\NUL\ETX\DC2\EOT\132\EOT\EM\SUB\n\
+ \\250\SOH\n\
+ \\ACK\EOT\EOT\ETX\NUL\STX\SOH\DC2\EOT\137\EOT\EOT\RS\SUB\233\SOH User visible label that may be shown to the passenger to help identify\n\
+ \ the carriage. Example: \"7712\", \"Car ABC-32\", etc...\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\SOH\EOT\DC2\EOT\137\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\SOH\ENQ\DC2\EOT\137\EOT\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\SOH\SOH\DC2\EOT\137\EOT\DC4\EM\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\SOH\ETX\DC2\EOT\137\EOT\FS\GS\n\
+ \\184\SOH\n\
+ \\ACK\EOT\EOT\ETX\NUL\STX\STX\DC2\EOT\141\EOT\EOTP\SUB\167\SOH Occupancy status for this given carriage, in this vehicle\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\EOT\DC2\EOT\141\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\ACK\DC2\EOT\141\EOT\r\FS\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\SOH\DC2\EOT\141\EOT\GS-\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\ETX\DC2\EOT\141\EOT01\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\b\DC2\EOT\141\EOT2O\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\STX\a\DC2\EOT\141\EOT=N\n\
+ \\223\STX\n\
+ \\ACK\EOT\EOT\ETX\NUL\STX\ETX\DC2\EOT\147\EOT\EOT;\SUB\206\STX Occupancy percentage for this given carriage, in this vehicle.\n\
+ \ Follows the same rules as \"VehiclePosition.occupancy_percentage\"\n\
+ \ -1 in case data is not available for this given carriage (as protobuf defaults to 0 otherwise)\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\EOT\DC2\EOT\147\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\ENQ\DC2\EOT\147\EOT\r\DC2\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\SOH\DC2\EOT\147\EOT\DC3'\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\ETX\DC2\EOT\147\EOT*+\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\b\DC2\EOT\147\EOT,:\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\ETX\a\DC2\EOT\147\EOT79\n\
+ \\247\ACK\n\
+ \\ACK\EOT\EOT\ETX\NUL\STX\EOT\DC2\EOT\160\EOT\EOT*\SUB\230\ACK Identifies the order of this carriage with respect to the other\n\
+ \ carriages in the vehicle's list of CarriageDetails.\n\
+ \ The first carriage in the direction of travel must have a value of 1.\n\
+ \ The second value corresponds to the second carriage in the direction\n\
+ \ of travel and must have a value of 2, and so forth.\n\
+ \ For example, the first carriage in the direction of travel has a value of 1.\n\
+ \ If the second carriage in the direction of travel has a value of 3,\n\
+ \ consumers will discard data for all carriages (i.e., the multi_carriage_details field).\n\
+ \ Carriages without data must be represented with a valid carriage_sequence number and the fields \n\
+ \ without data should be omitted (alternately, those fields could also be included and set to the \"no data\" values).\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\EOT\EOT\DC2\EOT\160\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\EOT\ENQ\DC2\EOT\160\EOT\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\EOT\SOH\DC2\EOT\160\EOT\DC4%\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\STX\EOT\ETX\DC2\EOT\160\EOT()\n\
+ \\187\SOH\n\
+ \\ENQ\EOT\EOT\ETX\NUL\ENQ\DC2\EOT\165\EOT\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\EOT\ETX\NUL\ENQ\NUL\DC2\EOT\165\EOT\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\165\EOT\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\ENQ\NUL\STX\DC2\EOT\165\EOT\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\EOT\ETX\NUL\ENQ\DC2\EOT\168\EOT\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\EOT\ETX\NUL\ENQ\SOH\DC2\EOT\168\EOT\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\168\EOT\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\EOT\ETX\NUL\ENQ\SOH\STX\DC2\EOT\168\EOT\ETB\ESC\n\
+ \\201\EOT\n\
+ \\EOT\EOT\EOT\STX\n\
+ \\DC2\EOT\180\EOT\STX7\SUB\186\EOT Details of the multiple carriages of this given vehicle.\n\
+ \ The first occurrence represents the first carriage of the vehicle, \n\
+ \ given the current direction of travel. \n\
+ \ The number of occurrences of the multi_carriage_details \n\
+ \ field represents the number of carriages of the vehicle.\n\
+ \ It also includes non boardable carriages, \n\
+ \ like engines, maintenance carriages, etc\226\128\166 as they provide valuable \n\
+ \ information to passengers about where to stand on a platform.\n\
+ \ This message/field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\n\
+ \\EOT\DC2\EOT\180\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\n\
+ \\ACK\DC2\EOT\180\EOT\v\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\n\
+ \\SOH\DC2\EOT\180\EOT\ESC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\STX\n\
+ \\ETX\DC2\EOT\180\EOT46\n\
+ \\185\SOH\n\
+ \\ETX\EOT\EOT\ENQ\DC2\EOT\185\EOT\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\EOT\ENQ\NUL\DC2\EOT\185\EOT\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\ENQ\NUL\SOH\DC2\EOT\185\EOT\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\ENQ\NUL\STX\DC2\EOT\185\EOT\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\EOT\ENQ\DC2\EOT\188\EOT\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\EOT\ENQ\SOH\DC2\EOT\188\EOT\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\ENQ\SOH\SOH\DC2\EOT\188\EOT\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\EOT\ENQ\SOH\STX\DC2\EOT\188\EOT\NAK\EM\n\
+ \Y\n\
+ \\STX\EOT\ENQ\DC2\ACK\192\EOT\NUL\154\ENQ\SOH\SUBK An alert, indicating some sort of incident in the public transit network.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\ENQ\SOH\DC2\EOT\192\EOT\b\r\n\
+ \\212\SOH\n\
+ \\EOT\EOT\ENQ\STX\NUL\DC2\EOT\196\EOT\STX'\SUB\197\SOH Time when the alert should be shown to the user. If missing, the\n\
+ \ alert will be shown as long as it appears in the feed.\n\
+ \ If multiple ranges are given, the alert will be shown during all of them.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\NUL\EOT\DC2\EOT\196\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\NUL\ACK\DC2\EOT\196\EOT\v\DC4\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\NUL\SOH\DC2\EOT\196\EOT\NAK\"\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\NUL\ETX\DC2\EOT\196\EOT%&\n\
+ \D\n\
+ \\EOT\EOT\ENQ\STX\SOH\DC2\EOT\199\EOT\STX.\SUB6 Entities whose users we should notify of this alert.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\SOH\EOT\DC2\EOT\199\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\SOH\ACK\DC2\EOT\199\EOT\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\SOH\SOH\DC2\EOT\199\EOT\SUB)\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\SOH\ETX\DC2\EOT\199\EOT,-\n\
+ \&\n\
+ \\EOT\EOT\ENQ\EOT\NUL\DC2\ACK\202\EOT\STX\215\EOT\ETX\SUB\SYN Cause of this alert.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\EOT\NUL\SOH\DC2\EOT\202\EOT\a\f\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\NUL\DC2\EOT\203\EOT\EOT\SYN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\NUL\SOH\DC2\EOT\203\EOT\EOT\DC1\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\NUL\STX\DC2\EOT\203\EOT\DC4\NAK\n\
+ \,\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\SOH\DC2\EOT\204\EOT\EOT\DC4\"\FS Not machine-representable.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\SOH\SOH\DC2\EOT\204\EOT\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\SOH\STX\DC2\EOT\204\EOT\DC2\DC3\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\STX\DC2\EOT\205\EOT\EOT\SUB\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\STX\SOH\DC2\EOT\205\EOT\EOT\NAK\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\STX\STX\DC2\EOT\205\EOT\CAN\EM\n\
+ \B\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\ETX\DC2\EOT\206\EOT\EOT\SI\"2 Public transit agency employees stopped working.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ETX\SOH\DC2\EOT\206\EOT\EOT\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ETX\STX\DC2\EOT\206\EOT\r\SO\n\
+ \2\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\EOT\DC2\EOT\207\EOT\EOT\SYN\"\" People are blocking the streets.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\EOT\SOH\DC2\EOT\207\EOT\EOT\DC1\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\EOT\STX\DC2\EOT\207\EOT\DC4\NAK\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\ENQ\DC2\EOT\208\EOT\EOT\DC1\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ENQ\SOH\DC2\EOT\208\EOT\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ENQ\STX\DC2\EOT\208\EOT\SI\DLE\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\ACK\DC2\EOT\209\EOT\EOT\DLE\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ACK\SOH\DC2\EOT\209\EOT\EOT\v\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\ACK\STX\DC2\EOT\209\EOT\SO\SI\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\a\DC2\EOT\210\EOT\EOT\DLE\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\a\SOH\DC2\EOT\210\EOT\EOT\v\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\a\STX\DC2\EOT\210\EOT\SO\SI\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\b\DC2\EOT\211\EOT\EOT\DC4\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\b\SOH\DC2\EOT\211\EOT\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\b\STX\DC2\EOT\211\EOT\DC2\DC3\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\t\DC2\EOT\212\EOT\EOT\SYN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\t\SOH\DC2\EOT\212\EOT\EOT\DLE\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\t\STX\DC2\EOT\212\EOT\DC3\NAK\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\n\
+ \\DC2\EOT\213\EOT\EOT\EM\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\n\
+ \\SOH\DC2\EOT\213\EOT\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\n\
+ \\STX\DC2\EOT\213\EOT\SYN\CAN\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\NUL\STX\v\DC2\EOT\214\EOT\EOT\ESC\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\v\SOH\DC2\EOT\214\EOT\EOT\NAK\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\NUL\STX\v\STX\DC2\EOT\214\EOT\CAN\SUB\n\
+ \\f\n\
+ \\EOT\EOT\ENQ\STX\STX\DC2\EOT\216\EOT\STX5\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\EOT\DC2\EOT\216\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\ACK\DC2\EOT\216\EOT\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\SOH\DC2\EOT\216\EOT\DC1\SYN\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\ETX\DC2\EOT\216\EOT\EM\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\b\DC2\EOT\216\EOT\ESC4\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\STX\a\DC2\EOT\216\EOT&3\n\
+ \L\n\
+ \\EOT\EOT\ENQ\EOT\SOH\DC2\ACK\219\EOT\STX\236\EOT\ETX\SUB< What is the effect of this problem on the affected entity.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\EOT\SOH\SOH\DC2\EOT\219\EOT\a\r\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\NUL\DC2\EOT\220\EOT\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\NUL\SOH\DC2\EOT\220\EOT\EOT\SO\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\NUL\STX\DC2\EOT\220\EOT\DC1\DC2\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\SOH\DC2\EOT\221\EOT\EOT\CAN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\SOH\SOH\DC2\EOT\221\EOT\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\SOH\STX\DC2\EOT\221\EOT\SYN\ETB\n\
+ \\175\SOH\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\STX\DC2\EOT\226\EOT\EOT\ESC\SUB\158\SOH We don't care about INsignificant delays: they are hard to detect, have\n\
+ \ little impact on the user, and would clutter the results as they are too\n\
+ \ frequent.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\STX\SOH\DC2\EOT\226\EOT\EOT\SYN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\STX\STX\DC2\EOT\226\EOT\EM\SUB\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\ETX\DC2\EOT\228\EOT\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ETX\SOH\DC2\EOT\228\EOT\EOT\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ETX\STX\DC2\EOT\228\EOT\r\SO\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\EOT\DC2\EOT\229\EOT\EOT\ESC\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\EOT\SOH\DC2\EOT\229\EOT\EOT\SYN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\EOT\STX\DC2\EOT\229\EOT\EM\SUB\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\ENQ\DC2\EOT\230\EOT\EOT\EM\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ENQ\SOH\DC2\EOT\230\EOT\EOT\DC4\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ENQ\STX\DC2\EOT\230\EOT\ETB\CAN\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\ACK\DC2\EOT\231\EOT\EOT\NAK\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ACK\SOH\DC2\EOT\231\EOT\EOT\DLE\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\ACK\STX\DC2\EOT\231\EOT\DC3\DC4\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\a\DC2\EOT\232\EOT\EOT\ETB\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\a\SOH\DC2\EOT\232\EOT\EOT\DC2\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\a\STX\DC2\EOT\232\EOT\NAK\SYN\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\b\DC2\EOT\233\EOT\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\b\SOH\DC2\EOT\233\EOT\EOT\SO\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\b\STX\DC2\EOT\233\EOT\DC1\DC2\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\t\DC2\EOT\234\EOT\EOT\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\t\SOH\DC2\EOT\234\EOT\EOT\r\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\t\STX\DC2\EOT\234\EOT\DLE\DC2\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\SOH\STX\n\
+ \\DC2\EOT\235\EOT\EOT\GS\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\n\
+ \\SOH\DC2\EOT\235\EOT\EOT\ETB\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\SOH\STX\n\
+ \\STX\DC2\EOT\235\EOT\SUB\FS\n\
+ \\f\n\
+ \\EOT\EOT\ENQ\STX\ETX\DC2\EOT\237\EOT\STX8\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\EOT\DC2\EOT\237\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\ACK\DC2\EOT\237\EOT\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\SOH\DC2\EOT\237\EOT\DC2\CAN\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\ETX\DC2\EOT\237\EOT\ESC\FS\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\b\DC2\EOT\237\EOT\GS7\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ETX\a\DC2\EOT\237\EOT(6\n\
+ \N\n\
+ \\EOT\EOT\ENQ\STX\EOT\DC2\EOT\240\EOT\STX$\SUB@ The URL which provides additional information about the alert.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\EOT\EOT\DC2\EOT\240\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\EOT\ACK\DC2\EOT\240\EOT\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\EOT\SOH\DC2\EOT\240\EOT\FS\US\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\EOT\ETX\DC2\EOT\240\EOT\"#\n\
+ \W\n\
+ \\EOT\EOT\ENQ\STX\ENQ\DC2\EOT\243\EOT\STX-\SUBI Alert header. Contains a short summary of the alert text as plain-text.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ENQ\EOT\DC2\EOT\243\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ENQ\ACK\DC2\EOT\243\EOT\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ENQ\SOH\DC2\EOT\243\EOT\FS'\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ENQ\ETX\DC2\EOT\243\EOT*,\n\
+ \\143\SOH\n\
+ \\EOT\EOT\ENQ\STX\ACK\DC2\EOT\247\EOT\STX2\SUB\128\SOH Full description for the alert as plain-text. The information in the\n\
+ \ description should add to the information of the header.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ACK\EOT\DC2\EOT\247\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ACK\ACK\DC2\EOT\247\EOT\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ACK\SOH\DC2\EOT\247\EOT\FS,\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\ACK\ETX\DC2\EOT\247\EOT/1\n\
+ \\140\SOH\n\
+ \\EOT\EOT\ENQ\STX\a\DC2\EOT\250\EOT\STX1\SUB~ Text for alert header to be used in text-to-speech implementations. This field is the text-to-speech version of header_text.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\a\EOT\DC2\EOT\250\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\a\ACK\DC2\EOT\250\EOT\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\a\SOH\DC2\EOT\250\EOT\FS+\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\a\ETX\DC2\EOT\250\EOT.0\n\
+ \\164\SOH\n\
+ \\EOT\EOT\ENQ\STX\b\DC2\EOT\253\EOT\STX6\SUB\149\SOH Text for full description for the alert to be used in text-to-speech implementations. This field is the text-to-speech version of description_text.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\b\EOT\DC2\EOT\253\EOT\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\b\ACK\DC2\EOT\253\EOT\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\b\SOH\DC2\EOT\253\EOT\FS0\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\b\ETX\DC2\EOT\253\EOT35\n\
+ \)\n\
+ \\EOT\EOT\ENQ\EOT\STX\DC2\ACK\128\ENQ\STX\133\ENQ\ETX\SUB\EM Severity of this alert.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\EOT\STX\SOH\DC2\EOT\128\ENQ\a\DC4\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\STX\STX\NUL\DC2\EOT\129\ENQ\b\GS\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\NUL\SOH\DC2\EOT\129\ENQ\b\CAN\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\NUL\STX\DC2\EOT\129\ENQ\ESC\FS\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\STX\STX\SOH\DC2\EOT\130\ENQ\b\DC1\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\SOH\SOH\DC2\EOT\130\ENQ\b\f\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\SOH\STX\DC2\EOT\130\ENQ\SI\DLE\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\STX\STX\STX\DC2\EOT\131\ENQ\b\DC4\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\STX\SOH\DC2\EOT\131\ENQ\b\SI\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\STX\STX\DC2\EOT\131\ENQ\DC2\DC3\n\
+ \\SO\n\
+ \\ACK\EOT\ENQ\EOT\STX\STX\ETX\DC2\EOT\132\ENQ\b\DC3\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\ETX\SOH\DC2\EOT\132\ENQ\b\SO\n\
+ \\SI\n\
+ \\a\EOT\ENQ\EOT\STX\STX\ETX\STX\DC2\EOT\132\ENQ\DC1\DC2\n\
+ \\f\n\
+ \\EOT\EOT\ENQ\STX\t\DC2\EOT\135\ENQ\STXJ\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\EOT\DC2\EOT\135\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\ACK\DC2\EOT\135\ENQ\v\CAN\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\SOH\DC2\EOT\135\ENQ\EM'\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\ETX\DC2\EOT\135\ENQ*,\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\b\DC2\EOT\135\ENQ-I\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\t\a\DC2\EOT\135\ENQ8H\n\
+ \\166\EOT\n\
+ \\EOT\EOT\ENQ\STX\n\
+ \\DC2\EOT\140\ENQ\STX&\SUB\151\EOT TranslatedImage to be displayed along the alert text. Used to explain visually the alert effect of a detour, station closure, etc. The image must enhance the understanding of the alert. Any essential information communicated within the image must also be contained in the alert text.\n\
+ \ The following types of images are discouraged : image containing mainly text, marketing or branded images that add no additional information. \n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\n\
+ \\EOT\DC2\EOT\140\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\n\
+ \\ACK\DC2\EOT\140\ENQ\v\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\n\
+ \\SOH\DC2\EOT\140\ENQ\ESC \n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\n\
+ \\ETX\DC2\EOT\140\ENQ#%\n\
+ \\245\STX\n\
+ \\EOT\EOT\ENQ\STX\v\DC2\EOT\145\ENQ\STX8\SUB\230\STX Text describing the appearance of the linked image in the `image` field (e.g., in case the image can't be displayed\n\
+ \ or the user can't see the image for accessibility reasons). See the HTML spec for alt image text - https://html.spec.whatwg.org/#alt.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\v\EOT\DC2\EOT\145\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\v\ACK\DC2\EOT\145\ENQ\v\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\v\SOH\DC2\EOT\145\ENQ\FS2\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\STX\v\ETX\DC2\EOT\145\ENQ57\n\
+ \\185\SOH\n\
+ \\ETX\EOT\ENQ\ENQ\DC2\EOT\150\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features\n\
+ \ and modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ENQ\ENQ\NUL\DC2\EOT\150\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\ENQ\NUL\SOH\DC2\EOT\150\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\ENQ\NUL\STX\DC2\EOT\150\ENQ\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\ENQ\ENQ\DC2\EOT\153\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ENQ\ENQ\SOH\DC2\EOT\153\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\ENQ\SOH\SOH\DC2\EOT\153\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ENQ\ENQ\SOH\STX\DC2\EOT\153\ENQ\NAK\EM\n\
+ \\201\SOH\n\
+ \\STX\EOT\ACK\DC2\ACK\162\ENQ\NUL\180\ENQ\SOH\SUB\143\SOH A time interval. The interval is considered active at time 't' if 't' is\n\
+ \ greater than or equal to the start time and less than the end time.\n\
+ \2)\n\
+ \ Low level data structures used above.\n\
+ \\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\ACK\SOH\DC2\EOT\162\ENQ\b\DC1\n\
+ \\158\SOH\n\
+ \\EOT\EOT\ACK\STX\NUL\DC2\EOT\166\ENQ\STX\FS\SUB\143\SOH Start time, in POSIX time (i.e., number of seconds since January 1st 1970\n\
+ \ 00:00:00 UTC).\n\
+ \ If missing, the interval starts at minus infinity.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\NUL\EOT\DC2\EOT\166\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\NUL\ENQ\DC2\EOT\166\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\NUL\SOH\DC2\EOT\166\ENQ\DC2\ETB\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\NUL\ETX\DC2\EOT\166\ENQ\SUB\ESC\n\
+ \\153\SOH\n\
+ \\EOT\EOT\ACK\STX\SOH\DC2\EOT\171\ENQ\STX\SUB\SUB\138\SOH End time, in POSIX time (i.e., number of seconds since January 1st 1970\n\
+ \ 00:00:00 UTC).\n\
+ \ If missing, the interval ends at plus infinity.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\SOH\EOT\DC2\EOT\171\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\SOH\ENQ\DC2\EOT\171\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\SOH\SOH\DC2\EOT\171\ENQ\DC2\NAK\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\STX\SOH\ETX\DC2\EOT\171\ENQ\CAN\EM\n\
+ \\185\SOH\n\
+ \\ETX\EOT\ACK\ENQ\DC2\EOT\176\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ACK\ENQ\NUL\DC2\EOT\176\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\ENQ\NUL\SOH\DC2\EOT\176\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\ENQ\NUL\STX\DC2\EOT\176\ENQ\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\ACK\ENQ\DC2\EOT\179\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\ACK\ENQ\SOH\DC2\EOT\179\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\ENQ\SOH\SOH\DC2\EOT\179\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\ACK\ENQ\SOH\STX\DC2\EOT\179\ENQ\NAK\EM\n\
+ \\ESC\n\
+ \\STX\EOT\a\DC2\ACK\183\ENQ\NUL\209\ENQ\SOH\SUB\r A position.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\a\SOH\DC2\EOT\183\ENQ\b\DLE\n\
+ \?\n\
+ \\EOT\EOT\a\STX\NUL\DC2\EOT\185\ENQ\STX\RS\SUB1 Degrees North, in the WGS-84 coordinate system.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\NUL\EOT\DC2\EOT\185\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\NUL\ENQ\DC2\EOT\185\ENQ\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\NUL\SOH\DC2\EOT\185\ENQ\DC1\EM\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\NUL\ETX\DC2\EOT\185\ENQ\FS\GS\n\
+ \>\n\
+ \\EOT\EOT\a\STX\SOH\DC2\EOT\188\ENQ\STX\US\SUB0 Degrees East, in the WGS-84 coordinate system.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\SOH\EOT\DC2\EOT\188\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\SOH\ENQ\DC2\EOT\188\ENQ\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\SOH\SOH\DC2\EOT\188\ENQ\DC1\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\SOH\ETX\DC2\EOT\188\ENQ\GS\RS\n\
+ \\186\STX\n\
+ \\EOT\EOT\a\STX\STX\DC2\EOT\195\ENQ\STX\GS\SUB\171\STX Bearing, in degrees, clockwise from North, i.e., 0 is North and 90 is East.\n\
+ \ This can be the compass bearing, or the direction towards the next stop\n\
+ \ or intermediate location.\n\
+ \ This should not be direction deduced from the sequence of previous\n\
+ \ positions, which can be computed from previous data.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\STX\EOT\DC2\EOT\195\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\STX\ENQ\DC2\EOT\195\ENQ\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\STX\SOH\DC2\EOT\195\ENQ\DC1\CAN\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\STX\ETX\DC2\EOT\195\ENQ\ESC\FS\n\
+ \*\n\
+ \\EOT\EOT\a\STX\ETX\DC2\EOT\198\ENQ\STX\US\SUB\FS Odometer value, in meters.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\ETX\EOT\DC2\EOT\198\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\ETX\ENQ\DC2\EOT\198\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\ETX\SOH\DC2\EOT\198\ENQ\DC2\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\ETX\ETX\DC2\EOT\198\ENQ\GS\RS\n\
+ \N\n\
+ \\EOT\EOT\a\STX\EOT\DC2\EOT\200\ENQ\STX\ESC\SUB@ Momentary speed measured by the vehicle, in meters per second.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\EOT\EOT\DC2\EOT\200\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\EOT\ENQ\DC2\EOT\200\ENQ\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\EOT\SOH\DC2\EOT\200\ENQ\DC1\SYN\n\
+ \\r\n\
+ \\ENQ\EOT\a\STX\EOT\ETX\DC2\EOT\200\ENQ\EM\SUB\n\
+ \\185\SOH\n\
+ \\ETX\EOT\a\ENQ\DC2\EOT\205\ENQ\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\a\ENQ\NUL\DC2\EOT\205\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\a\ENQ\NUL\SOH\DC2\EOT\205\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\a\ENQ\NUL\STX\DC2\EOT\205\ENQ\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\a\ENQ\DC2\EOT\208\ENQ\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\a\ENQ\SOH\DC2\EOT\208\ENQ\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\a\ENQ\SOH\SOH\DC2\EOT\208\ENQ\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\a\ENQ\SOH\STX\DC2\EOT\208\ENQ\NAK\EM\n\
+ \\208\EOT\n\
+ \\STX\EOT\b\DC2\ACK\220\ENQ\NUL\189\ACK\SOH\SUB\193\EOT A descriptor that identifies an instance of a GTFS trip, or all instances of\n\
+ \ a trip along a route.\n\
+ \ - To specify a single trip instance, the trip_id (and if necessary,\n\
+ \ start_time) is set. If route_id is also set, then it should be same as one\n\
+ \ that the given trip corresponds to.\n\
+ \ - To specify all the trips along a given route, only the route_id should be\n\
+ \ set. Note that if the trip_id is not known, then stop sequence ids in\n\
+ \ TripUpdate are not sufficient, and stop_ids must be provided as well. In\n\
+ \ addition, absolute arrival/departure times must be provided.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\b\SOH\DC2\EOT\220\ENQ\b\SYN\n\
+ \\184\EOT\n\
+ \\EOT\EOT\b\STX\NUL\DC2\EOT\227\ENQ\STX\RS\SUB\169\EOT The trip_id from the GTFS feed that this selector refers to.\n\
+ \ For non frequency-based trips, this field is enough to uniquely identify\n\
+ \ the trip. For frequency-based trip, start_time and start_date might also be\n\
+ \ necessary. When schedule_relationship is DUPLICATED within a TripUpdate, the trip_id identifies the trip from\n\
+ \ static GTFS to be duplicated. When schedule_relationship is DUPLICATED within a VehiclePosition, the trip_id\n\
+ \ identifies the new duplicate trip and must contain the value for the corresponding TripUpdate.TripProperties.trip_id.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\NUL\EOT\DC2\EOT\227\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\NUL\ENQ\DC2\EOT\227\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\NUL\SOH\DC2\EOT\227\ENQ\DC2\EM\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\NUL\ETX\DC2\EOT\227\ENQ\FS\GS\n\
+ \H\n\
+ \\EOT\EOT\b\STX\SOH\DC2\EOT\230\ENQ\STX\US\SUB: The route_id from the GTFS that this selector refers to.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\SOH\EOT\DC2\EOT\230\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\SOH\ENQ\DC2\EOT\230\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\SOH\SOH\DC2\EOT\230\ENQ\DC2\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\SOH\ETX\DC2\EOT\230\ENQ\GS\RS\n\
+ \\138\SOH\n\
+ \\EOT\EOT\b\STX\STX\DC2\EOT\234\ENQ\STX#\SUB| The direction_id from the GTFS feed trips.txt file, indicating the\n\
+ \ direction of travel for trips this selector refers to.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\STX\EOT\DC2\EOT\234\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\STX\ENQ\DC2\EOT\234\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\STX\SOH\DC2\EOT\234\ENQ\DC2\RS\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\STX\ETX\DC2\EOT\234\ENQ!\"\n\
+ \\245\a\n\
+ \\EOT\EOT\b\STX\ETX\DC2\EOT\251\ENQ\STX!\SUB\230\a The initially scheduled start time of this trip instance.\n\
+ \ When the trip_id corresponds to a non-frequency-based trip, this field\n\
+ \ should either be omitted or be equal to the value in the GTFS feed. When\n\
+ \ the trip_id correponds to a frequency-based trip, the start_time must be\n\
+ \ specified for trip updates and vehicle positions. If the trip corresponds\n\
+ \ to exact_times=1 GTFS record, then start_time must be some multiple\n\
+ \ (including zero) of headway_secs later than frequencies.txt start_time for\n\
+ \ the corresponding time period. If the trip corresponds to exact_times=0,\n\
+ \ then its start_time may be arbitrary, and is initially expected to be the\n\
+ \ first departure of the trip. Once established, the start_time of this\n\
+ \ frequency-based trip should be considered immutable, even if the first\n\
+ \ departure time changes -- that time change may instead be reflected in a\n\
+ \ StopTimeUpdate.\n\
+ \ Format and semantics of the field is same as that of\n\
+ \ GTFS/frequencies.txt/start_time, e.g., 11:15:35 or 25:15:35.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ETX\EOT\DC2\EOT\251\ENQ\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ETX\ENQ\DC2\EOT\251\ENQ\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ETX\SOH\DC2\EOT\251\ENQ\DC2\FS\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ETX\ETX\DC2\EOT\251\ENQ\US \n\
+ \\199\EOT\n\
+ \\EOT\EOT\b\STX\EOT\DC2\EOT\134\ACK\STX!\SUB\184\EOT The scheduled start date of this trip instance.\n\
+ \ Must be provided to disambiguate trips that are so late as to collide with\n\
+ \ a scheduled trip on a next day. For example, for a train that departs 8:00\n\
+ \ and 20:00 every day, and is 12 hours late, there would be two distinct\n\
+ \ trips on the same time.\n\
+ \ This field can be provided but is not mandatory for schedules in which such\n\
+ \ collisions are impossible - for example, a service running on hourly\n\
+ \ schedule where a vehicle that is one hour late is not considered to be\n\
+ \ related to schedule anymore.\n\
+ \ In YYYYMMDD format.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\EOT\EOT\DC2\EOT\134\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\EOT\ENQ\DC2\EOT\134\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\EOT\SOH\DC2\EOT\134\ACK\DC2\FS\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\EOT\ETX\DC2\EOT\134\ACK\US \n\
+ \\219\SOH\n\
+ \\EOT\EOT\b\EOT\NUL\DC2\ACK\139\ACK\STX\179\ACK\ETX\SUB\202\SOH The relation between this trip and the static schedule. If a trip is done\n\
+ \ in accordance with temporary schedule, not reflected in GTFS, then it\n\
+ \ shouldn't be marked as SCHEDULED, but likely as ADDED.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\EOT\NUL\SOH\DC2\EOT\139\ACK\a\ESC\n\
+ \\145\SOH\n\
+ \\ACK\EOT\b\EOT\NUL\STX\NUL\DC2\EOT\142\ACK\EOT\DC2\SUB\128\SOH Trip that is running in accordance with its GTFS schedule, or is close\n\
+ \ enough to the scheduled trip to be associated with it.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\NUL\SOH\DC2\EOT\142\ACK\EOT\r\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\NUL\STX\DC2\EOT\142\ACK\DLE\DC1\n\
+ \\176\EOT\n\
+ \\ACK\EOT\b\EOT\NUL\STX\SOH\DC2\EOT\151\ACK\EOT\SO\SUB\159\EOT An extra trip that was added in addition to a running schedule, for\n\
+ \ example, to replace a broken vehicle or to respond to sudden passenger\n\
+ \ load.\n\
+ \ NOTE: Currently, behavior is unspecified for feeds that use this mode. There are discussions on the GTFS GitHub\n\
+ \ [(1)](https://github.com/google/transit/issues/106) [(2)](https://github.com/google/transit/pull/221)\n\
+ \ [(3)](https://github.com/google/transit/pull/219) around fully specifying or deprecating ADDED trips and the\n\
+ \ documentation will be updated when those discussions are finalized.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\SOH\SOH\DC2\EOT\151\ACK\EOT\t\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\SOH\STX\DC2\EOT\151\ACK\f\r\n\
+ \\226\SOH\n\
+ \\ACK\EOT\b\EOT\NUL\STX\STX\DC2\EOT\155\ACK\EOT\DC4\SUB\209\SOH A trip that is running with no schedule associated to it (GTFS frequencies.txt exact_times=0).\n\
+ \ Trips with ScheduleRelationship=UNSCHEDULED must also set all StopTimeUpdates.ScheduleRelationship=UNSCHEDULED.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\STX\SOH\DC2\EOT\155\ACK\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\STX\STX\DC2\EOT\155\ACK\DC2\DC3\n\
+ \F\n\
+ \\ACK\EOT\b\EOT\NUL\STX\ETX\DC2\EOT\158\ACK\EOT\DC1\SUB6 A trip that existed in the schedule but was removed.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\ETX\SOH\DC2\EOT\158\ACK\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\ETX\STX\DC2\EOT\158\ACK\SI\DLE\n\
+ \^\n\
+ \\ACK\EOT\b\EOT\NUL\STX\EOT\DC2\EOT\161\ACK\EOT\DC4\SUB8 Should not be used - for backwards-compatibility only.\n\
+ \\"\DC4 [deprecated=true];\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\EOT\SOH\DC2\EOT\161\ACK\EOT\SI\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\EOT\STX\DC2\EOT\161\ACK\DC2\DC3\n\
+ \\157\f\n\
+ \\ACK\EOT\b\EOT\NUL\STX\ENQ\DC2\EOT\178\ACK\EOT\DC3\SUB\140\f An extra trip that was added in addition to a running schedule, for example, to replace a broken vehicle or to\n\
+ \ respond to sudden passenger load. Used with TripUpdate.TripProperties.trip_id, TripUpdate.TripProperties.start_date,\n\
+ \ and TripUpdate.TripProperties.start_time to copy an existing trip from static GTFS but start at a different service\n\
+ \ date and/or time. Duplicating a trip is allowed if the service related to the original trip in (CSV) GTFS\n\
+ \ (in calendar.txt or calendar_dates.txt) is operating within the next 30 days. The trip to be duplicated is\n\
+ \ identified via TripUpdate.TripDescriptor.trip_id. This enumeration does not modify the existing trip referenced by\n\
+ \ TripUpdate.TripDescriptor.trip_id - if a producer wants to cancel the original trip, it must publish a separate\n\
+ \ TripUpdate with the value of CANCELED. Trips defined in GTFS frequencies.txt with exact_times that is empty or\n\
+ \ equal to 0 cannot be duplicated. The VehiclePosition.TripDescriptor.trip_id for the new trip must contain\n\
+ \ the matching value from TripUpdate.TripProperties.trip_id and VehiclePosition.TripDescriptor.ScheduleRelationship\n\
+ \ must also be set to DUPLICATED.\n\
+ \ Existing producers and consumers that were using the ADDED enumeration to represent duplicated trips must follow\n\
+ \ the migration guide (https://github.com/google/transit/tree/master/gtfs-realtime/spec/en/examples/migration-duplicated.md)\n\
+ \ to transition to the DUPLICATED enumeration.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\ENQ\SOH\DC2\EOT\178\ACK\EOT\SO\n\
+ \\SI\n\
+ \\a\EOT\b\EOT\NUL\STX\ENQ\STX\DC2\EOT\178\ACK\DC1\DC2\n\
+ \\f\n\
+ \\EOT\EOT\b\STX\ENQ\DC2\EOT\180\ACK\STX:\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ENQ\EOT\DC2\EOT\180\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ENQ\ACK\DC2\EOT\180\ACK\v\US\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ENQ\SOH\DC2\EOT\180\ACK 5\n\
+ \\r\n\
+ \\ENQ\EOT\b\STX\ENQ\ETX\DC2\EOT\180\ACK89\n\
+ \\185\SOH\n\
+ \\ETX\EOT\b\ENQ\DC2\EOT\185\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\b\ENQ\NUL\DC2\EOT\185\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\b\ENQ\NUL\SOH\DC2\EOT\185\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\ENQ\NUL\STX\DC2\EOT\185\ACK\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\b\ENQ\DC2\EOT\188\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\b\ENQ\SOH\DC2\EOT\188\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\b\ENQ\SOH\SOH\DC2\EOT\188\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\b\ENQ\SOH\STX\DC2\EOT\188\ACK\NAK\EM\n\
+ \O\n\
+ \\STX\EOT\t\DC2\ACK\192\ACK\NUL\212\ACK\SOH\SUBA Identification information for the vehicle performing the trip.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\t\SOH\DC2\EOT\192\ACK\b\EM\n\
+ \\171\SOH\n\
+ \\EOT\EOT\t\STX\NUL\DC2\EOT\196\ACK\STX\EM\SUB\156\SOH Internal system identification of the vehicle. Should be unique per\n\
+ \ vehicle, and can be used for tracking the vehicle as it proceeds through\n\
+ \ the system.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\NUL\EOT\DC2\EOT\196\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\NUL\ENQ\DC2\EOT\196\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\NUL\SOH\DC2\EOT\196\ACK\DC2\DC4\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\NUL\ETX\DC2\EOT\196\ACK\ETB\CAN\n\
+ \~\n\
+ \\EOT\EOT\t\STX\SOH\DC2\EOT\200\ACK\STX\FS\SUBp User visible label, i.e., something that must be shown to the passenger to\n\
+ \ help identify the correct vehicle.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\SOH\EOT\DC2\EOT\200\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\SOH\ENQ\DC2\EOT\200\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\SOH\SOH\DC2\EOT\200\ACK\DC2\ETB\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\SOH\ETX\DC2\EOT\200\ACK\SUB\ESC\n\
+ \1\n\
+ \\EOT\EOT\t\STX\STX\DC2\EOT\203\ACK\STX$\SUB# The license plate of the vehicle.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\STX\EOT\DC2\EOT\203\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\STX\ENQ\DC2\EOT\203\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\STX\SOH\DC2\EOT\203\ACK\DC2\US\n\
+ \\r\n\
+ \\ENQ\EOT\t\STX\STX\ETX\DC2\EOT\203\ACK\"#\n\
+ \\185\SOH\n\
+ \\ETX\EOT\t\ENQ\DC2\EOT\208\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\t\ENQ\NUL\DC2\EOT\208\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\t\ENQ\NUL\SOH\DC2\EOT\208\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\t\ENQ\NUL\STX\DC2\EOT\208\ACK\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\t\ENQ\DC2\EOT\211\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\t\ENQ\SOH\DC2\EOT\211\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\t\ENQ\SOH\SOH\DC2\EOT\211\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\t\ENQ\SOH\STX\DC2\EOT\211\ACK\NAK\EM\n\
+ \8\n\
+ \\STX\EOT\n\
+ \\DC2\ACK\215\ACK\NUL\237\ACK\SOH\SUB* A selector for an entity in a GTFS feed.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\n\
+ \\SOH\DC2\EOT\215\ACK\b\SYN\n\
+ \\226\SOH\n\
+ \\EOT\EOT\n\
+ \\STX\NUL\DC2\EOT\220\ACK\STX \SUB\211\SOH The values of the fields should correspond to the appropriate fields in the\n\
+ \ GTFS feed.\n\
+ \ At least one specifier must be given. If several are given, then the\n\
+ \ matching has to apply to all the given specifiers.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\NUL\EOT\DC2\EOT\220\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\NUL\ENQ\DC2\EOT\220\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\NUL\SOH\DC2\EOT\220\ACK\DC2\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\NUL\ETX\DC2\EOT\220\ACK\RS\US\n\
+ \\f\n\
+ \\EOT\EOT\n\
+ \\STX\SOH\DC2\EOT\221\ACK\STX\US\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\SOH\EOT\DC2\EOT\221\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\SOH\ENQ\DC2\EOT\221\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\SOH\SOH\DC2\EOT\221\ACK\DC2\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\SOH\ETX\DC2\EOT\221\ACK\GS\RS\n\
+ \2\n\
+ \\EOT\EOT\n\
+ \\STX\STX\DC2\EOT\223\ACK\STX \SUB$ corresponds to route_type in GTFS.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\STX\EOT\DC2\EOT\223\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\STX\ENQ\DC2\EOT\223\ACK\v\DLE\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\STX\SOH\DC2\EOT\223\ACK\DC1\ESC\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\STX\ETX\DC2\EOT\223\ACK\RS\US\n\
+ \\f\n\
+ \\EOT\EOT\n\
+ \\STX\ETX\DC2\EOT\224\ACK\STX#\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ETX\EOT\DC2\EOT\224\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ETX\ACK\DC2\EOT\224\ACK\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ETX\SOH\DC2\EOT\224\ACK\SUB\RS\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ETX\ETX\DC2\EOT\224\ACK!\"\n\
+ \\f\n\
+ \\EOT\EOT\n\
+ \\STX\EOT\DC2\EOT\225\ACK\STX\RS\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\EOT\EOT\DC2\EOT\225\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\EOT\ENQ\DC2\EOT\225\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\EOT\SOH\DC2\EOT\225\ACK\DC2\EM\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\EOT\ETX\DC2\EOT\225\ACK\FS\GS\n\
+ \t\n\
+ \\EOT\EOT\n\
+ \\STX\ENQ\DC2\EOT\228\ACK\STX#\SUBf Corresponds to trip direction_id in GTFS trips.txt. If provided the\n\
+ \ route_id must also be provided.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ENQ\EOT\DC2\EOT\228\ACK\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ENQ\ENQ\DC2\EOT\228\ACK\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ENQ\SOH\DC2\EOT\228\ACK\DC2\RS\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\STX\ENQ\ETX\DC2\EOT\228\ACK!\"\n\
+ \\185\SOH\n\
+ \\ETX\EOT\n\
+ \\ENQ\DC2\EOT\233\ACK\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\n\
+ \\ENQ\NUL\DC2\EOT\233\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\ENQ\NUL\SOH\DC2\EOT\233\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\ENQ\NUL\STX\DC2\EOT\233\ACK\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\n\
+ \\ENQ\DC2\EOT\236\ACK\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\n\
+ \\ENQ\SOH\DC2\EOT\236\ACK\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\ENQ\SOH\SOH\DC2\EOT\236\ACK\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\n\
+ \\ENQ\SOH\STX\DC2\EOT\236\ACK\NAK\EM\n\
+ \\155\EOT\n\
+ \\STX\EOT\v\DC2\ACK\249\ACK\NUL\148\a\SOH\SUB\140\EOT An internationalized message containing per-language versions of a snippet of\n\
+ \ text or a URL.\n\
+ \ One of the strings from a message will be picked up. The resolution proceeds\n\
+ \ as follows:\n\
+ \ 1. If the UI language matches the language code of a translation,\n\
+ \ the first matching translation is picked.\n\
+ \ 2. If a default UI language (e.g., English) matches the language code of a\n\
+ \ translation, the first matching translation is picked.\n\
+ \ 3. If some translation has an unspecified language code, that translation is\n\
+ \ picked.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\v\SOH\DC2\EOT\249\ACK\b\CAN\n\
+ \\SO\n\
+ \\EOT\EOT\v\ETX\NUL\DC2\ACK\250\ACK\STX\137\a\ETX\n\
+ \\r\n\
+ \\ENQ\EOT\v\ETX\NUL\SOH\DC2\EOT\250\ACK\n\
+ \\NAK\n\
+ \8\n\
+ \\ACK\EOT\v\ETX\NUL\STX\NUL\DC2\EOT\252\ACK\EOT\GS\SUB( A UTF-8 string containing the message.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\NUL\EOT\DC2\EOT\252\ACK\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\NUL\ENQ\DC2\EOT\252\ACK\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\NUL\SOH\DC2\EOT\252\ACK\DC4\CAN\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\NUL\ETX\DC2\EOT\252\ACK\ESC\FS\n\
+ \\199\SOH\n\
+ \\ACK\EOT\v\ETX\NUL\STX\SOH\DC2\EOT\128\a\EOT!\SUB\182\SOH BCP-47 language code. Can be omitted if the language is unknown or if\n\
+ \ no i18n is done at all for the feed. At most one translation is\n\
+ \ allowed to have an unspecified language tag.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\SOH\EOT\DC2\EOT\128\a\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\SOH\ENQ\DC2\EOT\128\a\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\SOH\SOH\DC2\EOT\128\a\DC4\FS\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\STX\SOH\ETX\DC2\EOT\128\a\US \n\
+ \\187\SOH\n\
+ \\ENQ\EOT\v\ETX\NUL\ENQ\DC2\EOT\133\a\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\v\ETX\NUL\ENQ\NUL\DC2\EOT\133\a\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\133\a\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\ENQ\NUL\STX\DC2\EOT\133\a\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\v\ETX\NUL\ENQ\DC2\EOT\136\a\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\v\ETX\NUL\ENQ\SOH\DC2\EOT\136\a\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\136\a\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\v\ETX\NUL\ENQ\SOH\STX\DC2\EOT\136\a\ETB\ESC\n\
+ \:\n\
+ \\EOT\EOT\v\STX\NUL\DC2\EOT\139\a\STX'\SUB, At least one translation must be provided.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\v\STX\NUL\EOT\DC2\EOT\139\a\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\v\STX\NUL\ACK\DC2\EOT\139\a\v\SYN\n\
+ \\r\n\
+ \\ENQ\EOT\v\STX\NUL\SOH\DC2\EOT\139\a\ETB\"\n\
+ \\r\n\
+ \\ENQ\EOT\v\STX\NUL\ETX\DC2\EOT\139\a%&\n\
+ \\185\SOH\n\
+ \\ETX\EOT\v\ENQ\DC2\EOT\144\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\v\ENQ\NUL\DC2\EOT\144\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\v\ENQ\NUL\SOH\DC2\EOT\144\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\v\ENQ\NUL\STX\DC2\EOT\144\a\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\v\ENQ\DC2\EOT\147\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\v\ENQ\SOH\DC2\EOT\147\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\v\ENQ\SOH\SOH\DC2\EOT\147\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\v\ENQ\SOH\STX\DC2\EOT\147\a\NAK\EM\n\
+ \\173\ENQ\n\
+ \\STX\EOT\f\DC2\ACK\161\a\NUL\197\a\SOH\SUB\158\ENQ An internationalized image containing per-language versions of a URL linking to an image\n\
+ \ along with meta information\n\
+ \ Only one of the images from a message will be retained by consumers. The resolution proceeds\n\
+ \ as follows:\n\
+ \ 1. If the UI language matches the language code of a translation,\n\
+ \ the first matching translation is picked.\n\
+ \ 2. If a default UI language (e.g., English) matches the language code of a\n\
+ \ translation, the first matching translation is picked.\n\
+ \ 3. If some translation has an unspecified language code, that translation is\n\
+ \ picked.\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\f\SOH\DC2\EOT\161\a\b\ETB\n\
+ \\SO\n\
+ \\EOT\EOT\f\ETX\NUL\DC2\ACK\162\a\STX\186\a\ETX\n\
+ \\r\n\
+ \\ENQ\EOT\f\ETX\NUL\SOH\DC2\EOT\162\a\n\
+ \\CAN\n\
+ \\151\EOT\n\
+ \\ACK\EOT\f\ETX\NUL\STX\NUL\DC2\EOT\167\a\EOT\FS\SUB\134\EOT String containing an URL linking to an image\n\
+ \ The image linked must be less than 2MB. \n\
+ \ If an image changes in a significant enough way that an update is required on the consumer side, the producer must update the URL to a new one.\n\
+ \ The URL should be a fully qualified URL that includes http:// or https://, and any special characters in the URL must be correctly escaped. See the following\194\160https://www.w3.org/Addressing/URL/4_URI_Recommentations.html\194\160for a description of how to create fully qualified URL values.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\NUL\EOT\DC2\EOT\167\a\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\NUL\ENQ\DC2\EOT\167\a\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\NUL\SOH\DC2\EOT\167\a\DC4\ETB\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\NUL\ETX\DC2\EOT\167\a\SUB\ESC\n\
+ \v\n\
+ \\ACK\EOT\f\ETX\NUL\STX\SOH\DC2\EOT\171\a\EOT#\SUBf IANA media type as to specify the type of image to be displayed. \n\
+ \ The type must start with \"image/\"\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\SOH\EOT\DC2\EOT\171\a\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\SOH\ENQ\DC2\EOT\171\a\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\SOH\SOH\DC2\EOT\171\a\DC4\RS\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\SOH\ETX\DC2\EOT\171\a!\"\n\
+ \\199\SOH\n\
+ \\ACK\EOT\f\ETX\NUL\STX\STX\DC2\EOT\176\a\EOT!\SUB\182\SOH BCP-47 language code. Can be omitted if the language is unknown or if\n\
+ \ no i18n is done at all for the feed. At most one translation is\n\
+ \ allowed to have an unspecified language tag.\n\
+ \\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\STX\EOT\DC2\EOT\176\a\EOT\f\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\STX\ENQ\DC2\EOT\176\a\r\DC3\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\STX\SOH\DC2\EOT\176\a\DC4\FS\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\STX\STX\ETX\DC2\EOT\176\a\US \n\
+ \\187\SOH\n\
+ \\ENQ\EOT\f\ETX\NUL\ENQ\DC2\EOT\182\a\EOT\FS\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\f\ETX\NUL\ENQ\NUL\DC2\EOT\182\a\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\ENQ\NUL\SOH\DC2\EOT\182\a\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\ENQ\NUL\STX\DC2\EOT\182\a\ETB\ESC\n\
+ \^\n\
+ \\ENQ\EOT\f\ETX\NUL\ENQ\DC2\EOT\185\a\EOT\FS\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\SO\n\
+ \\ACK\EOT\f\ETX\NUL\ENQ\SOH\DC2\EOT\185\a\SI\ESC\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\ENQ\SOH\SOH\DC2\EOT\185\a\SI\DC3\n\
+ \\SI\n\
+ \\a\EOT\f\ETX\NUL\ENQ\SOH\STX\DC2\EOT\185\a\ETB\ESC\n\
+ \>\n\
+ \\EOT\EOT\f\STX\NUL\DC2\EOT\188\a\STX.\SUB0 At least one localized image must be provided.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\f\STX\NUL\EOT\DC2\EOT\188\a\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\f\STX\NUL\ACK\DC2\EOT\188\a\v\EM\n\
+ \\r\n\
+ \\ENQ\EOT\f\STX\NUL\SOH\DC2\EOT\188\a\SUB)\n\
+ \\r\n\
+ \\ENQ\EOT\f\STX\NUL\ETX\DC2\EOT\188\a,-\n\
+ \\185\SOH\n\
+ \\ETX\EOT\f\ENQ\DC2\EOT\193\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\f\ENQ\NUL\DC2\EOT\193\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\f\ENQ\NUL\SOH\DC2\EOT\193\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\f\ENQ\NUL\STX\DC2\EOT\193\a\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\f\ENQ\DC2\EOT\196\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\f\ENQ\SOH\DC2\EOT\196\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\f\ENQ\SOH\SOH\DC2\EOT\196\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\f\ENQ\SOH\STX\DC2\EOT\196\a\NAK\EM\n\
+ \\198\EOT\n\
+ \\STX\EOT\r\DC2\ACK\205\a\NUL\226\a\SOH\SUB\183\EOT Describes the physical path that a vehicle takes when it's not part of the (CSV) GTFS,\n\
+ \ such as for a detour. Shapes belong to Trips, and consist of a sequence of shape points.\n\
+ \ Tracing the points in order provides the path of the vehicle. Shapes do not need to intercept\n\
+ \ the location of Stops exactly, but all Stops on a trip should lie within a small distance of\n\
+ \ the shape for that trip, i.e. close to straight line segments connecting the shape points\n\
+ \ NOTE: This message is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\v\n\
+ \\ETX\EOT\r\SOH\DC2\EOT\205\a\b\r\n\
+ \\155\ETX\n\
+ \\EOT\EOT\r\STX\NUL\DC2\EOT\210\a\STX\US\SUB\140\ETX Identifier of the shape. Must be different than any shape_id defined in the (CSV) GTFS.\n\
+ \ This field is required as per reference.md, but needs to be specified here optional because \"Required is Forever\"\n\
+ \ See https://developers.google.com/protocol-buffers/docs/proto#specifying_field_rules\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\NUL\EOT\DC2\EOT\210\a\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\NUL\ENQ\DC2\EOT\210\a\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\NUL\SOH\DC2\EOT\210\a\DC2\SUB\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\NUL\ETX\DC2\EOT\210\a\GS\RS\n\
+ \\161\EOT\n\
+ \\EOT\EOT\r\STX\SOH\DC2\EOT\217\a\STX'\SUB\146\EOT Encoded polyline representation of the shape. This polyline must contain at least two points.\n\
+ \ For more information about encoded polylines, see https://developers.google.com/maps/documentation/utilities/polylinealgorithm\n\
+ \ This field is required as per reference.md, but needs to be specified here optional because \"Required is Forever\"\n\
+ \ See https://developers.google.com/protocol-buffers/docs/proto#specifying_field_rules\n\
+ \ NOTE: This field is still experimental, and subject to change. It may be formally adopted in the future.\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\SOH\EOT\DC2\EOT\217\a\STX\n\
+ \\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\SOH\ENQ\DC2\EOT\217\a\v\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\SOH\SOH\DC2\EOT\217\a\DC2\"\n\
+ \\r\n\
+ \\ENQ\EOT\r\STX\SOH\ETX\DC2\EOT\217\a%&\n\
+ \\185\SOH\n\
+ \\ETX\EOT\r\ENQ\DC2\EOT\222\a\STX\SUB\SUB\171\SOH The extensions namespace allows 3rd-party developers to extend the\n\
+ \ GTFS Realtime Specification in order to add and evaluate new features and\n\
+ \ modifications to the spec.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\r\ENQ\NUL\DC2\EOT\222\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\r\ENQ\NUL\SOH\DC2\EOT\222\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\r\ENQ\NUL\STX\DC2\EOT\222\a\NAK\EM\n\
+ \\\\n\
+ \\ETX\EOT\r\ENQ\DC2\EOT\225\a\STX\SUB\SUBO The following extension IDs are reserved for private use by any organization.\n\
+ \\n\
+ \\f\n\
+ \\EOT\EOT\r\ENQ\SOH\DC2\EOT\225\a\r\EM\n\
+ \\r\n\
+ \\ENQ\EOT\r\ENQ\SOH\SOH\DC2\EOT\225\a\r\DC1\n\
+ \\r\n\
+ \\ENQ\EOT\r\ENQ\SOH\STX\DC2\EOT\225\a\NAK\EM" \ No newline at end of file
diff --git a/gtfs-realtime/Proto/GtfsRealtime_Fields.hs b/gtfs-realtime/Proto/GtfsRealtime_Fields.hs
new file mode 100644
index 0000000..0b2896c
--- /dev/null
+++ b/gtfs-realtime/Proto/GtfsRealtime_Fields.hs
@@ -0,0 +1,818 @@
+{- This file was auto-generated from gtfs-realtime.proto by the proto-lens-protoc program. -}
+{-# LANGUAGE ScopedTypeVariables, DataKinds, TypeFamilies, UndecidableInstances, GeneralizedNewtypeDeriving, MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, PatternSynonyms, MagicHash, NoImplicitPrelude, DataKinds, BangPatterns, TypeApplications, OverloadedStrings, DerivingStrategies#-}
+{-# OPTIONS_GHC -Wno-unused-imports#-}
+{-# OPTIONS_GHC -Wno-duplicate-exports#-}
+{-# OPTIONS_GHC -Wno-dodgy-exports#-}
+module Proto.GtfsRealtime_Fields where
+import qualified Data.ProtoLens.Runtime.Prelude as Prelude
+import qualified Data.ProtoLens.Runtime.Data.Int as Data.Int
+import qualified Data.ProtoLens.Runtime.Data.Monoid as Data.Monoid
+import qualified Data.ProtoLens.Runtime.Data.Word as Data.Word
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens as Data.ProtoLens
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Bytes as Data.ProtoLens.Encoding.Bytes
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Growing as Data.ProtoLens.Encoding.Growing
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Parser.Unsafe as Data.ProtoLens.Encoding.Parser.Unsafe
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Encoding.Wire as Data.ProtoLens.Encoding.Wire
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Field as Data.ProtoLens.Field
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Message.Enum as Data.ProtoLens.Message.Enum
+import qualified Data.ProtoLens.Runtime.Data.ProtoLens.Service.Types as Data.ProtoLens.Service.Types
+import qualified Data.ProtoLens.Runtime.Lens.Family2 as Lens.Family2
+import qualified Data.ProtoLens.Runtime.Lens.Family2.Unchecked as Lens.Family2.Unchecked
+import qualified Data.ProtoLens.Runtime.Data.Text as Data.Text
+import qualified Data.ProtoLens.Runtime.Data.Map as Data.Map
+import qualified Data.ProtoLens.Runtime.Data.ByteString as Data.ByteString
+import qualified Data.ProtoLens.Runtime.Data.ByteString.Char8 as Data.ByteString.Char8
+import qualified Data.ProtoLens.Runtime.Data.Text.Encoding as Data.Text.Encoding
+import qualified Data.ProtoLens.Runtime.Data.Vector as Data.Vector
+import qualified Data.ProtoLens.Runtime.Data.Vector.Generic as Data.Vector.Generic
+import qualified Data.ProtoLens.Runtime.Data.Vector.Unboxed as Data.Vector.Unboxed
+import qualified Data.ProtoLens.Runtime.Text.Read as Text.Read
+activePeriod ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "activePeriod" a) =>
+ Lens.Family2.LensLike' f s a
+activePeriod = Data.ProtoLens.Field.field @"activePeriod"
+agencyId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "agencyId" a) =>
+ Lens.Family2.LensLike' f s a
+agencyId = Data.ProtoLens.Field.field @"agencyId"
+alert ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "alert" a) =>
+ Lens.Family2.LensLike' f s a
+alert = Data.ProtoLens.Field.field @"alert"
+arrival ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "arrival" a) =>
+ Lens.Family2.LensLike' f s a
+arrival = Data.ProtoLens.Field.field @"arrival"
+assignedStopId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "assignedStopId" a) =>
+ Lens.Family2.LensLike' f s a
+assignedStopId = Data.ProtoLens.Field.field @"assignedStopId"
+bearing ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "bearing" a) =>
+ Lens.Family2.LensLike' f s a
+bearing = Data.ProtoLens.Field.field @"bearing"
+carriageSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "carriageSequence" a) =>
+ Lens.Family2.LensLike' f s a
+carriageSequence = Data.ProtoLens.Field.field @"carriageSequence"
+cause ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "cause" a) =>
+ Lens.Family2.LensLike' f s a
+cause = Data.ProtoLens.Field.field @"cause"
+congestionLevel ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "congestionLevel" a) =>
+ Lens.Family2.LensLike' f s a
+congestionLevel = Data.ProtoLens.Field.field @"congestionLevel"
+currentStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "currentStatus" a) =>
+ Lens.Family2.LensLike' f s a
+currentStatus = Data.ProtoLens.Field.field @"currentStatus"
+currentStopSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "currentStopSequence" a) =>
+ Lens.Family2.LensLike' f s a
+currentStopSequence
+ = Data.ProtoLens.Field.field @"currentStopSequence"
+delay ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "delay" a) =>
+ Lens.Family2.LensLike' f s a
+delay = Data.ProtoLens.Field.field @"delay"
+departure ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "departure" a) =>
+ Lens.Family2.LensLike' f s a
+departure = Data.ProtoLens.Field.field @"departure"
+departureOccupancyStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "departureOccupancyStatus" a) =>
+ Lens.Family2.LensLike' f s a
+departureOccupancyStatus
+ = Data.ProtoLens.Field.field @"departureOccupancyStatus"
+descriptionText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "descriptionText" a) =>
+ Lens.Family2.LensLike' f s a
+descriptionText = Data.ProtoLens.Field.field @"descriptionText"
+directionId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "directionId" a) =>
+ Lens.Family2.LensLike' f s a
+directionId = Data.ProtoLens.Field.field @"directionId"
+effect ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "effect" a) =>
+ Lens.Family2.LensLike' f s a
+effect = Data.ProtoLens.Field.field @"effect"
+encodedPolyline ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "encodedPolyline" a) =>
+ Lens.Family2.LensLike' f s a
+encodedPolyline = Data.ProtoLens.Field.field @"encodedPolyline"
+end ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "end" a) =>
+ Lens.Family2.LensLike' f s a
+end = Data.ProtoLens.Field.field @"end"
+entity ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "entity" a) =>
+ Lens.Family2.LensLike' f s a
+entity = Data.ProtoLens.Field.field @"entity"
+gtfsRealtimeVersion ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "gtfsRealtimeVersion" a) =>
+ Lens.Family2.LensLike' f s a
+gtfsRealtimeVersion
+ = Data.ProtoLens.Field.field @"gtfsRealtimeVersion"
+header ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "header" a) =>
+ Lens.Family2.LensLike' f s a
+header = Data.ProtoLens.Field.field @"header"
+headerText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "headerText" a) =>
+ Lens.Family2.LensLike' f s a
+headerText = Data.ProtoLens.Field.field @"headerText"
+id ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "id" a) =>
+ Lens.Family2.LensLike' f s a
+id = Data.ProtoLens.Field.field @"id"
+image ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "image" a) =>
+ Lens.Family2.LensLike' f s a
+image = Data.ProtoLens.Field.field @"image"
+imageAlternativeText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "imageAlternativeText" a) =>
+ Lens.Family2.LensLike' f s a
+imageAlternativeText
+ = Data.ProtoLens.Field.field @"imageAlternativeText"
+incrementality ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "incrementality" a) =>
+ Lens.Family2.LensLike' f s a
+incrementality = Data.ProtoLens.Field.field @"incrementality"
+informedEntity ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "informedEntity" a) =>
+ Lens.Family2.LensLike' f s a
+informedEntity = Data.ProtoLens.Field.field @"informedEntity"
+isDeleted ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "isDeleted" a) =>
+ Lens.Family2.LensLike' f s a
+isDeleted = Data.ProtoLens.Field.field @"isDeleted"
+label ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "label" a) =>
+ Lens.Family2.LensLike' f s a
+label = Data.ProtoLens.Field.field @"label"
+language ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "language" a) =>
+ Lens.Family2.LensLike' f s a
+language = Data.ProtoLens.Field.field @"language"
+latitude ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "latitude" a) =>
+ Lens.Family2.LensLike' f s a
+latitude = Data.ProtoLens.Field.field @"latitude"
+licensePlate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "licensePlate" a) =>
+ Lens.Family2.LensLike' f s a
+licensePlate = Data.ProtoLens.Field.field @"licensePlate"
+localizedImage ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "localizedImage" a) =>
+ Lens.Family2.LensLike' f s a
+localizedImage = Data.ProtoLens.Field.field @"localizedImage"
+longitude ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "longitude" a) =>
+ Lens.Family2.LensLike' f s a
+longitude = Data.ProtoLens.Field.field @"longitude"
+maybe'agencyId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'agencyId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'agencyId = Data.ProtoLens.Field.field @"maybe'agencyId"
+maybe'alert ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'alert" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'alert = Data.ProtoLens.Field.field @"maybe'alert"
+maybe'arrival ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'arrival" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'arrival = Data.ProtoLens.Field.field @"maybe'arrival"
+maybe'assignedStopId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'assignedStopId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'assignedStopId
+ = Data.ProtoLens.Field.field @"maybe'assignedStopId"
+maybe'bearing ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'bearing" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'bearing = Data.ProtoLens.Field.field @"maybe'bearing"
+maybe'carriageSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'carriageSequence" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'carriageSequence
+ = Data.ProtoLens.Field.field @"maybe'carriageSequence"
+maybe'cause ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'cause" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'cause = Data.ProtoLens.Field.field @"maybe'cause"
+maybe'congestionLevel ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'congestionLevel" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'congestionLevel
+ = Data.ProtoLens.Field.field @"maybe'congestionLevel"
+maybe'currentStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'currentStatus" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'currentStatus
+ = Data.ProtoLens.Field.field @"maybe'currentStatus"
+maybe'currentStopSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'currentStopSequence" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'currentStopSequence
+ = Data.ProtoLens.Field.field @"maybe'currentStopSequence"
+maybe'delay ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'delay" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'delay = Data.ProtoLens.Field.field @"maybe'delay"
+maybe'departure ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'departure" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'departure = Data.ProtoLens.Field.field @"maybe'departure"
+maybe'departureOccupancyStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'departureOccupancyStatus" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'departureOccupancyStatus
+ = Data.ProtoLens.Field.field @"maybe'departureOccupancyStatus"
+maybe'descriptionText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'descriptionText" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'descriptionText
+ = Data.ProtoLens.Field.field @"maybe'descriptionText"
+maybe'directionId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'directionId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'directionId = Data.ProtoLens.Field.field @"maybe'directionId"
+maybe'effect ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'effect" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'effect = Data.ProtoLens.Field.field @"maybe'effect"
+maybe'encodedPolyline ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'encodedPolyline" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'encodedPolyline
+ = Data.ProtoLens.Field.field @"maybe'encodedPolyline"
+maybe'end ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'end" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'end = Data.ProtoLens.Field.field @"maybe'end"
+maybe'headerText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'headerText" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'headerText = Data.ProtoLens.Field.field @"maybe'headerText"
+maybe'id ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'id" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'id = Data.ProtoLens.Field.field @"maybe'id"
+maybe'image ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'image" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'image = Data.ProtoLens.Field.field @"maybe'image"
+maybe'imageAlternativeText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'imageAlternativeText" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'imageAlternativeText
+ = Data.ProtoLens.Field.field @"maybe'imageAlternativeText"
+maybe'incrementality ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'incrementality" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'incrementality
+ = Data.ProtoLens.Field.field @"maybe'incrementality"
+maybe'isDeleted ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'isDeleted" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'isDeleted = Data.ProtoLens.Field.field @"maybe'isDeleted"
+maybe'label ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'label" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'label = Data.ProtoLens.Field.field @"maybe'label"
+maybe'language ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'language" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'language = Data.ProtoLens.Field.field @"maybe'language"
+maybe'licensePlate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'licensePlate" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'licensePlate
+ = Data.ProtoLens.Field.field @"maybe'licensePlate"
+maybe'occupancyPercentage ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'occupancyPercentage" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'occupancyPercentage
+ = Data.ProtoLens.Field.field @"maybe'occupancyPercentage"
+maybe'occupancyStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'occupancyStatus" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'occupancyStatus
+ = Data.ProtoLens.Field.field @"maybe'occupancyStatus"
+maybe'odometer ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'odometer" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'odometer = Data.ProtoLens.Field.field @"maybe'odometer"
+maybe'position ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'position" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'position = Data.ProtoLens.Field.field @"maybe'position"
+maybe'routeId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'routeId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'routeId = Data.ProtoLens.Field.field @"maybe'routeId"
+maybe'routeType ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'routeType" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'routeType = Data.ProtoLens.Field.field @"maybe'routeType"
+maybe'scheduleRelationship ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'scheduleRelationship" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'scheduleRelationship
+ = Data.ProtoLens.Field.field @"maybe'scheduleRelationship"
+maybe'severityLevel ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'severityLevel" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'severityLevel
+ = Data.ProtoLens.Field.field @"maybe'severityLevel"
+maybe'shape ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'shape" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'shape = Data.ProtoLens.Field.field @"maybe'shape"
+maybe'shapeId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'shapeId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'shapeId = Data.ProtoLens.Field.field @"maybe'shapeId"
+maybe'speed ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'speed" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'speed = Data.ProtoLens.Field.field @"maybe'speed"
+maybe'start ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'start" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'start = Data.ProtoLens.Field.field @"maybe'start"
+maybe'startDate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'startDate" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'startDate = Data.ProtoLens.Field.field @"maybe'startDate"
+maybe'startTime ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'startTime" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'startTime = Data.ProtoLens.Field.field @"maybe'startTime"
+maybe'stopId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'stopId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'stopId = Data.ProtoLens.Field.field @"maybe'stopId"
+maybe'stopSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'stopSequence" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'stopSequence
+ = Data.ProtoLens.Field.field @"maybe'stopSequence"
+maybe'stopTimeProperties ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'stopTimeProperties" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'stopTimeProperties
+ = Data.ProtoLens.Field.field @"maybe'stopTimeProperties"
+maybe'time ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'time" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'time = Data.ProtoLens.Field.field @"maybe'time"
+maybe'timestamp ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'timestamp" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'timestamp = Data.ProtoLens.Field.field @"maybe'timestamp"
+maybe'trip ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'trip" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'trip = Data.ProtoLens.Field.field @"maybe'trip"
+maybe'tripId ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'tripId" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'tripId = Data.ProtoLens.Field.field @"maybe'tripId"
+maybe'tripProperties ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'tripProperties" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'tripProperties
+ = Data.ProtoLens.Field.field @"maybe'tripProperties"
+maybe'tripUpdate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'tripUpdate" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'tripUpdate = Data.ProtoLens.Field.field @"maybe'tripUpdate"
+maybe'ttsDescriptionText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'ttsDescriptionText" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'ttsDescriptionText
+ = Data.ProtoLens.Field.field @"maybe'ttsDescriptionText"
+maybe'ttsHeaderText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'ttsHeaderText" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'ttsHeaderText
+ = Data.ProtoLens.Field.field @"maybe'ttsHeaderText"
+maybe'uncertainty ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'uncertainty" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'uncertainty = Data.ProtoLens.Field.field @"maybe'uncertainty"
+maybe'url ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'url" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'url = Data.ProtoLens.Field.field @"maybe'url"
+maybe'vehicle ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "maybe'vehicle" a) =>
+ Lens.Family2.LensLike' f s a
+maybe'vehicle = Data.ProtoLens.Field.field @"maybe'vehicle"
+mediaType ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "mediaType" a) =>
+ Lens.Family2.LensLike' f s a
+mediaType = Data.ProtoLens.Field.field @"mediaType"
+multiCarriageDetails ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "multiCarriageDetails" a) =>
+ Lens.Family2.LensLike' f s a
+multiCarriageDetails
+ = Data.ProtoLens.Field.field @"multiCarriageDetails"
+occupancyPercentage ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "occupancyPercentage" a) =>
+ Lens.Family2.LensLike' f s a
+occupancyPercentage
+ = Data.ProtoLens.Field.field @"occupancyPercentage"
+occupancyStatus ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "occupancyStatus" a) =>
+ Lens.Family2.LensLike' f s a
+occupancyStatus = Data.ProtoLens.Field.field @"occupancyStatus"
+odometer ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "odometer" a) =>
+ Lens.Family2.LensLike' f s a
+odometer = Data.ProtoLens.Field.field @"odometer"
+position ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "position" a) =>
+ Lens.Family2.LensLike' f s a
+position = Data.ProtoLens.Field.field @"position"
+routeId ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "routeId" a) =>
+ Lens.Family2.LensLike' f s a
+routeId = Data.ProtoLens.Field.field @"routeId"
+routeType ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "routeType" a) =>
+ Lens.Family2.LensLike' f s a
+routeType = Data.ProtoLens.Field.field @"routeType"
+scheduleRelationship ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "scheduleRelationship" a) =>
+ Lens.Family2.LensLike' f s a
+scheduleRelationship
+ = Data.ProtoLens.Field.field @"scheduleRelationship"
+severityLevel ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "severityLevel" a) =>
+ Lens.Family2.LensLike' f s a
+severityLevel = Data.ProtoLens.Field.field @"severityLevel"
+shape ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "shape" a) =>
+ Lens.Family2.LensLike' f s a
+shape = Data.ProtoLens.Field.field @"shape"
+shapeId ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "shapeId" a) =>
+ Lens.Family2.LensLike' f s a
+shapeId = Data.ProtoLens.Field.field @"shapeId"
+speed ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "speed" a) =>
+ Lens.Family2.LensLike' f s a
+speed = Data.ProtoLens.Field.field @"speed"
+start ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "start" a) =>
+ Lens.Family2.LensLike' f s a
+start = Data.ProtoLens.Field.field @"start"
+startDate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "startDate" a) =>
+ Lens.Family2.LensLike' f s a
+startDate = Data.ProtoLens.Field.field @"startDate"
+startTime ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "startTime" a) =>
+ Lens.Family2.LensLike' f s a
+startTime = Data.ProtoLens.Field.field @"startTime"
+stopId ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "stopId" a) =>
+ Lens.Family2.LensLike' f s a
+stopId = Data.ProtoLens.Field.field @"stopId"
+stopSequence ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "stopSequence" a) =>
+ Lens.Family2.LensLike' f s a
+stopSequence = Data.ProtoLens.Field.field @"stopSequence"
+stopTimeProperties ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "stopTimeProperties" a) =>
+ Lens.Family2.LensLike' f s a
+stopTimeProperties
+ = Data.ProtoLens.Field.field @"stopTimeProperties"
+stopTimeUpdate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "stopTimeUpdate" a) =>
+ Lens.Family2.LensLike' f s a
+stopTimeUpdate = Data.ProtoLens.Field.field @"stopTimeUpdate"
+text ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "text" a) =>
+ Lens.Family2.LensLike' f s a
+text = Data.ProtoLens.Field.field @"text"
+time ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "time" a) =>
+ Lens.Family2.LensLike' f s a
+time = Data.ProtoLens.Field.field @"time"
+timestamp ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "timestamp" a) =>
+ Lens.Family2.LensLike' f s a
+timestamp = Data.ProtoLens.Field.field @"timestamp"
+translation ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "translation" a) =>
+ Lens.Family2.LensLike' f s a
+translation = Data.ProtoLens.Field.field @"translation"
+trip ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "trip" a) =>
+ Lens.Family2.LensLike' f s a
+trip = Data.ProtoLens.Field.field @"trip"
+tripId ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "tripId" a) =>
+ Lens.Family2.LensLike' f s a
+tripId = Data.ProtoLens.Field.field @"tripId"
+tripProperties ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "tripProperties" a) =>
+ Lens.Family2.LensLike' f s a
+tripProperties = Data.ProtoLens.Field.field @"tripProperties"
+tripUpdate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "tripUpdate" a) =>
+ Lens.Family2.LensLike' f s a
+tripUpdate = Data.ProtoLens.Field.field @"tripUpdate"
+ttsDescriptionText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "ttsDescriptionText" a) =>
+ Lens.Family2.LensLike' f s a
+ttsDescriptionText
+ = Data.ProtoLens.Field.field @"ttsDescriptionText"
+ttsHeaderText ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "ttsHeaderText" a) =>
+ Lens.Family2.LensLike' f s a
+ttsHeaderText = Data.ProtoLens.Field.field @"ttsHeaderText"
+uncertainty ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "uncertainty" a) =>
+ Lens.Family2.LensLike' f s a
+uncertainty = Data.ProtoLens.Field.field @"uncertainty"
+url ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "url" a) =>
+ Lens.Family2.LensLike' f s a
+url = Data.ProtoLens.Field.field @"url"
+vec'activePeriod ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'activePeriod" a) =>
+ Lens.Family2.LensLike' f s a
+vec'activePeriod = Data.ProtoLens.Field.field @"vec'activePeriod"
+vec'entity ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'entity" a) =>
+ Lens.Family2.LensLike' f s a
+vec'entity = Data.ProtoLens.Field.field @"vec'entity"
+vec'informedEntity ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'informedEntity" a) =>
+ Lens.Family2.LensLike' f s a
+vec'informedEntity
+ = Data.ProtoLens.Field.field @"vec'informedEntity"
+vec'localizedImage ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'localizedImage" a) =>
+ Lens.Family2.LensLike' f s a
+vec'localizedImage
+ = Data.ProtoLens.Field.field @"vec'localizedImage"
+vec'multiCarriageDetails ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'multiCarriageDetails" a) =>
+ Lens.Family2.LensLike' f s a
+vec'multiCarriageDetails
+ = Data.ProtoLens.Field.field @"vec'multiCarriageDetails"
+vec'stopTimeUpdate ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'stopTimeUpdate" a) =>
+ Lens.Family2.LensLike' f s a
+vec'stopTimeUpdate
+ = Data.ProtoLens.Field.field @"vec'stopTimeUpdate"
+vec'translation ::
+ forall f s a.
+ (Prelude.Functor f,
+ Data.ProtoLens.Field.HasField s "vec'translation" a) =>
+ Lens.Family2.LensLike' f s a
+vec'translation = Data.ProtoLens.Field.field @"vec'translation"
+vehicle ::
+ forall f s a.
+ (Prelude.Functor f, Data.ProtoLens.Field.HasField s "vehicle" a) =>
+ Lens.Family2.LensLike' f s a
+vehicle = Data.ProtoLens.Field.field @"vehicle" \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime.hs b/gtfs/GTFS/Realtime.hs
deleted file mode 100644
index 9c72aaa..0000000
--- a/gtfs/GTFS/Realtime.hs
+++ /dev/null
@@ -1,25 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime (protoInfo, fileDescriptorProto) where
-import Prelude ((+), (/), (++), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import Text.DescriptorProtos.FileDescriptorProto (FileDescriptorProto)
-import Text.ProtocolBuffers.Reflections (ProtoInfo)
-import qualified Text.ProtocolBuffers.WireMessage as P' (wireGet,getFromBS)
-
-protoInfo :: ProtoInfo
-protoInfo
- = Prelude'.read
- "ProtoInfo {protoMod = ProtoName {protobufName = FIName \".transit_realtime\", haskellPrefix = [], parentModule = [MName \"GTFS\"], baseName = MName \"Realtime\"}, protoFilePath = [\"GTFS\",\"Realtime.hs\"], protoSource = \"gtfs-realtime.proto\", extensionKeys = fromList [], messages = [DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedMessage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedMessage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedMessage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.header\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"header\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.gtfs_realtime_version\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"gtfs_realtime_version\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.incrementality\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"incrementality\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}), hsRawDefault = Just \"FULL_DATASET\", hsDefault = Just (HsDef'Enum \"FULL_DATASET\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedEntity.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.is_deleted\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"is_deleted\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.trip_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"trip_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.alert\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"alert\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.shape\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"shape\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.stop_time_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"stop_time_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeEvent.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.uncertainty\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"uncertainty\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.arrival\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"arrival\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure_occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure_occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Just \"SCHEDULED\", hsDefault = Just (HsDef'Enum \"SCHEDULED\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_time_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_time_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"StopTimeProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties.assigned_stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\",MName \"StopTimeProperties\"], baseName' = FName \"assigned_stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"TripProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.position\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"position\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}), hsRawDefault = Just \"IN_TRANSIT_TO\", hsDefault = Just (HsDef'Enum \"IN_TRANSIT_TO\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.congestion_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"congestion_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 72}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 80}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.multi_carriage_details\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"multi_carriage_details\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CarriageDetails.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Just \"NO_DATA_AVAILABLE\", hsDefault = Just (HsDef'Enum \"NO_DATA_AVAILABLE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Just \"-1\", hsDefault = Just (HsDef'Integer (-1)), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.carriage_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"carriage_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Alert.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.active_period\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"active_period\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.informed_entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"informed_entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.cause\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"cause\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}), hsRawDefault = Just \"UNKNOWN_CAUSE\", hsDefault = Just (HsDef'Enum \"UNKNOWN_CAUSE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.effect\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"effect\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}), hsRawDefault = Just \"UNKNOWN_EFFECT\", hsDefault = Just (HsDef'Enum \"UNKNOWN_EFFECT\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 12}, wireTag = WireTag {getWireTag = 98}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 13}, wireTag = WireTag {getWireTag = 106}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.severity_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"severity_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 14}, wireTag = WireTag {getWireTag = 112}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}), hsRawDefault = Just \"UNKNOWN_SEVERITY\", hsDefault = Just (HsDef'Enum \"UNKNOWN_SEVERITY\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image_alternative_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image_alternative_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 16}, wireTag = WireTag {getWireTag = 130}, packedTag = Nothing, wireTagLength = 2, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TimeRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.start\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.end\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Position.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.latitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"latitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 13}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.longitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"longitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 21}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.bearing\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"bearing\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 29}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.odometer\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"odometer\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 33}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.speed\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"speed\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 45}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehicleDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.license_plate\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"license_plate\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}, descFilePath = [\"GTFS\",\"Realtime\",\"EntitySelector.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.agency_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"agency_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.translation\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName' = FName \"translation\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString\",\"Translation.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.localized_image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName' = FName \"localized_image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage\",\"LocalizedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.media_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"media_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False},DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Shape.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.encoded_polyline\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"encoded_polyline\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}], enums = [EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader\",\"Incrementality.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"FULL_DATASET\"),(EnumCode {getEnumCode = 1},\"DIFFERENTIAL\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"ScheduleRelationship.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"SCHEDULED\"),(EnumCode {getEnumCode = 1},\"SKIPPED\"),(EnumCode {getEnumCode = 2},\"NO_DATA\"),(EnumCode {getEnumCode = 3},\"UNSCHEDULED\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"VehicleStopStatus.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"INCOMING_AT\"),(EnumCode {getEnumCode = 1},\"STOPPED_AT\"),(EnumCode {getEnumCode = 2},\"IN_TRANSIT_TO\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CongestionLevel.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"UNKNOWN_CONGESTION_LEVEL\"),(EnumCode {getEnumCode = 1},\"RUNNING_SMOOTHLY\"),(EnumCode {getEnumCode = 2},\"STOP_AND_GO\"),(EnumCode {getEnumCode = 3},\"CONGESTION\"),(EnumCode {getEnumCode = 4},\"SEVERE_CONGESTION\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"OccupancyStatus.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"EMPTY\"),(EnumCode {getEnumCode = 1},\"MANY_SEATS_AVAILABLE\"),(EnumCode {getEnumCode = 2},\"FEW_SEATS_AVAILABLE\"),(EnumCode {getEnumCode = 3},\"STANDING_ROOM_ONLY\"),(EnumCode {getEnumCode = 4},\"CRUSHED_STANDING_ROOM_ONLY\"),(EnumCode {getEnumCode = 5},\"FULL\"),(EnumCode {getEnumCode = 6},\"NOT_ACCEPTING_PASSENGERS\"),(EnumCode {getEnumCode = 7},\"NO_DATA_AVAILABLE\"),(EnumCode {getEnumCode = 8},\"NOT_BOARDABLE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"Cause.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"UNKNOWN_CAUSE\"),(EnumCode {getEnumCode = 2},\"OTHER_CAUSE\"),(EnumCode {getEnumCode = 3},\"TECHNICAL_PROBLEM\"),(EnumCode {getEnumCode = 4},\"STRIKE\"),(EnumCode {getEnumCode = 5},\"DEMONSTRATION\"),(EnumCode {getEnumCode = 6},\"ACCIDENT\"),(EnumCode {getEnumCode = 7},\"HOLIDAY\"),(EnumCode {getEnumCode = 8},\"WEATHER\"),(EnumCode {getEnumCode = 9},\"MAINTENANCE\"),(EnumCode {getEnumCode = 10},\"CONSTRUCTION\"),(EnumCode {getEnumCode = 11},\"POLICE_ACTIVITY\"),(EnumCode {getEnumCode = 12},\"MEDICAL_EMERGENCY\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"Effect.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"NO_SERVICE\"),(EnumCode {getEnumCode = 2},\"REDUCED_SERVICE\"),(EnumCode {getEnumCode = 3},\"SIGNIFICANT_DELAYS\"),(EnumCode {getEnumCode = 4},\"DETOUR\"),(EnumCode {getEnumCode = 5},\"ADDITIONAL_SERVICE\"),(EnumCode {getEnumCode = 6},\"MODIFIED_SERVICE\"),(EnumCode {getEnumCode = 7},\"OTHER_EFFECT\"),(EnumCode {getEnumCode = 8},\"UNKNOWN_EFFECT\"),(EnumCode {getEnumCode = 9},\"STOP_MOVED\"),(EnumCode {getEnumCode = 10},\"NO_EFFECT\"),(EnumCode {getEnumCode = 11},\"ACCESSIBILITY_ISSUE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"Alert\",\"SeverityLevel.hs\"], enumValues = [(EnumCode {getEnumCode = 1},\"UNKNOWN_SEVERITY\"),(EnumCode {getEnumCode = 2},\"INFO\"),(EnumCode {getEnumCode = 3},\"WARNING\"),(EnumCode {getEnumCode = 4},\"SEVERE\")], enumJsonInstances = False},EnumInfo {enumName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}, enumFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor\",\"ScheduleRelationship.hs\"], enumValues = [(EnumCode {getEnumCode = 0},\"SCHEDULED\"),(EnumCode {getEnumCode = 1},\"ADDED\"),(EnumCode {getEnumCode = 2},\"UNSCHEDULED\"),(EnumCode {getEnumCode = 3},\"CANCELED\"),(EnumCode {getEnumCode = 5},\"REPLACEMENT\"),(EnumCode {getEnumCode = 6},\"DUPLICATED\")], enumJsonInstances = False}], oneofs = [], services = [], knownKeyMap = fromList []}"
-
-fileDescriptorProto :: FileDescriptorProto
-fileDescriptorProto
- = P'.getFromBS (P'.wireGet 11)
- (P'.pack
- "\168+\n\DC3gtfs-realtime.proto\DC2\DLEtransit_realtime\"y\n\vFeedMessage\DC2,\n\ACKheader\CAN\SOH \STX(\v2\FS.transit_realtime.FeedHeader\DC2,\n\ACKentity\CAN\STX \ETX(\v2\FS.transit_realtime.FeedEntity*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\215\SOH\n\nFeedHeader\DC2\GS\n\NAKgtfs_realtime_version\CAN\SOH \STX(\t\DC2Q\n\SOincrementality\CAN\STX \SOH(\SO2+.transit_realtime.FeedHeader.Incrementality:\fFULL_DATASET\DC2\DC1\n\ttimestamp\CAN\ETX \SOH(\EOT\"4\n\SOIncrementality\DC2\DLE\n\fFULL_DATASET\DLE\NUL\DC2\DLE\n\fDIFFERENTIAL\DLE\SOH*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\250\SOH\n\nFeedEntity\DC2\n\n\STXid\CAN\SOH \STX(\t\DC2\EM\n\nis_deleted\CAN\STX \SOH(\b:\ENQfalse\DC21\n\vtrip_update\CAN\ETX \SOH(\v2\FS.transit_realtime.TripUpdate\DC22\n\avehicle\CAN\EOT \SOH(\v2!.transit_realtime.VehiclePosition\DC2&\n\ENQalert\CAN\ENQ \SOH(\v2\ETB.transit_realtime.Alert\DC2&\n\ENQshape\CAN\ACK \SOH(\v2\ETB.transit_realtime.Shape*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\235\b\n\nTripUpdate\DC2.\n\EOTtrip\CAN\SOH \STX(\v2 .transit_realtime.TripDescriptor\DC24\n\avehicle\CAN\ETX \SOH(\v2#.transit_realtime.VehicleDescriptor\DC2E\n\DLEstop_time_update\CAN\STX \ETX(\v2+.transit_realtime.TripUpdate.StopTimeUpdate\DC2\DC1\n\ttimestamp\CAN\EOT \SOH(\EOT\DC2\r\n\ENQdelay\CAN\ENQ \SOH(\ENQ\DC2D\n\SItrip_properties\CAN\ACK \SOH(\v2+.transit_realtime.TripUpdate.TripProperties\SUBQ\n\rStopTimeEvent\DC2\r\n\ENQdelay\CAN\SOH \SOH(\ENQ\DC2\f\n\EOTtime\CAN\STX \SOH(\ETX\DC2\DC3\n\vuncertainty\CAN\ETX \SOH(\ENQ*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUB\247\EOT\n\SOStopTimeUpdate\DC2\NAK\n\rstop_sequence\CAN\SOH \SOH(\r\DC2\SI\n\astop_id\CAN\EOT \SOH(\t\DC2;\n\aarrival\CAN\STX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEvent\DC2=\n\tdeparture\CAN\ETX \SOH(\v2*.transit_realtime.TripUpdate.StopTimeEvent\DC2U\n\SUBdeparture_occupancy_status\CAN\a \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus\DC2j\n\NAKschedule_relationship\CAN\ENQ \SOH(\SO2@.transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship:\tSCHEDULED\DC2\\\n\DC4stop_time_properties\CAN\ACK \SOH(\v2>.transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\SUB>\n\DC2StopTimeProperties\DC2\CAN\n\DLEassigned_stop_id\CAN\SOH \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"P\n\DC4ScheduleRelationship\DC2\r\n\tSCHEDULED\DLE\NUL\DC2\v\n\aSKIPPED\DLE\SOH\DC2\v\n\aNO_DATA\DLE\STX\DC2\SI\n\vUNSCHEDULED\DLE\ETX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\SUBk\n\SOTripProperties\DC2\SI\n\atrip_id\CAN\SOH \SOH(\t\DC2\DC2\n\nstart_date\CAN\STX \SOH(\t\DC2\DC2\n\nstart_time\CAN\ETX \SOH(\t\DC2\DLE\n\bshape_id\CAN\EOT \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\223\t\n\SIVehiclePosition\DC2.\n\EOTtrip\CAN\SOH \SOH(\v2 .transit_realtime.TripDescriptor\DC24\n\avehicle\CAN\b \SOH(\v2#.transit_realtime.VehicleDescriptor\DC2,\n\bposition\CAN\STX \SOH(\v2\SUB.transit_realtime.Position\DC2\GS\n\NAKcurrent_stop_sequence\CAN\ETX \SOH(\r\DC2\SI\n\astop_id\CAN\a \SOH(\t\DC2Z\n\SOcurrent_status\CAN\EOT \SOH(\SO23.transit_realtime.VehiclePosition.VehicleStopStatus:\rIN_TRANSIT_TO\DC2\DC1\n\ttimestamp\CAN\ENQ \SOH(\EOT\DC2K\n\DLEcongestion_level\CAN\ACK \SOH(\SO21.transit_realtime.VehiclePosition.CongestionLevel\DC2K\n\DLEoccupancy_status\CAN\t \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus\DC2\FS\n\DC4occupancy_percentage\CAN\n \SOH(\r\DC2Q\n\SYNmulti_carriage_details\CAN\v \ETX(\v21.transit_realtime.VehiclePosition.CarriageDetails\SUB\217\SOH\n\SICarriageDetails\DC2\n\n\STXid\CAN\SOH \SOH(\t\DC2\r\n\ENQlabel\CAN\STX \SOH(\t\DC2^\n\DLEoccupancy_status\CAN\ETX \SOH(\SO21.transit_realtime.VehiclePosition.OccupancyStatus:\DC1NO_DATA_AVAILABLE\DC2 \n\DC4occupancy_percentage\CAN\EOT \SOH(\ENQ:\STX-1\DC2\EM\n\DC1carriage_sequence\CAN\ENQ \SOH(\r*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"G\n\DC1VehicleStopStatus\DC2\SI\n\vINCOMING_AT\DLE\NUL\DC2\SO\n\nSTOPPED_AT\DLE\SOH\DC2\DC1\n\rIN_TRANSIT_TO\DLE\STX\"}\n\SICongestionLevel\DC2\FS\n\CANUNKNOWN_CONGESTION_LEVEL\DLE\NUL\DC2\DC4\n\DLERUNNING_SMOOTHLY\DLE\SOH\DC2\SI\n\vSTOP_AND_GO\DLE\STX\DC2\SO\n\nCONGESTION\DLE\ETX\DC2\NAK\n\DC1SEVERE_CONGESTION\DLE\EOT\"\217\SOH\n\SIOccupancyStatus\DC2\t\n\ENQEMPTY\DLE\NUL\DC2\CAN\n\DC4MANY_SEATS_AVAILABLE\DLE\SOH\DC2\ETB\n\DC3FEW_SEATS_AVAILABLE\DLE\STX\DC2\SYN\n\DC2STANDING_ROOM_ONLY\DLE\ETX\DC2\RS\n\SUBCRUSHED_STANDING_ROOM_ONLY\DLE\EOT\DC2\b\n\EOTFULL\DLE\ENQ\DC2\FS\n\CANNOT_ACCEPTING_PASSENGERS\DLE\ACK\DC2\NAK\n\DC1NO_DATA_AVAILABLE\DLE\a\DC2\DC1\n\rNOT_BOARDABLE\DLE\b*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\246\t\n\ENQAlert\DC22\n\ractive_period\CAN\SOH \ETX(\v2\ESC.transit_realtime.TimeRange\DC29\n\SIinformed_entity\CAN\ENQ \ETX(\v2 .transit_realtime.EntitySelector\DC2;\n\ENQcause\CAN\ACK \SOH(\SO2\GS.transit_realtime.Alert.Cause:\rUNKNOWN_CAUSE\DC2>\n\ACKeffect\CAN\a \SOH(\SO2\RS.transit_realtime.Alert.Effect:\SOUNKNOWN_EFFECT\DC2/\n\ETXurl\CAN\b \SOH(\v2\".transit_realtime.TranslatedString\DC27\n\vheader_text\CAN\n \SOH(\v2\".transit_realtime.TranslatedString\DC2<\n\DLEdescription_text\CAN\v \SOH(\v2\".transit_realtime.TranslatedString\DC2;\n\SItts_header_text\CAN\f \SOH(\v2\".transit_realtime.TranslatedString\DC2@\n\DC4tts_description_text\CAN\r \SOH(\v2\".transit_realtime.TranslatedString\DC2O\n\SOseverity_level\CAN\SO \SOH(\SO2%.transit_realtime.Alert.SeverityLevel:\DLEUNKNOWN_SEVERITY\DC20\n\ENQimage\CAN\SI \SOH(\v2!.transit_realtime.TranslatedImage\DC2B\n\SYNimage_alternative_text\CAN\DLE \SOH(\v2\".transit_realtime.TranslatedString\"\216\SOH\n\ENQCause\DC2\DC1\n\rUNKNOWN_CAUSE\DLE\SOH\DC2\SI\n\vOTHER_CAUSE\DLE\STX\DC2\NAK\n\DC1TECHNICAL_PROBLEM\DLE\ETX\DC2\n\n\ACKSTRIKE\DLE\EOT\DC2\DC1\n\rDEMONSTRATION\DLE\ENQ\DC2\f\n\bACCIDENT\DLE\ACK\DC2\v\n\aHOLIDAY\DLE\a\DC2\v\n\aWEATHER\DLE\b\DC2\SI\n\vMAINTENANCE\DLE\t\DC2\DLE\n\fCONSTRUCTION\DLE\n\DC2\DC3\n\SIPOLICE_ACTIVITY\DLE\v\DC2\NAK\n\DC1MEDICAL_EMERGENCY\DLE\f\"\221\SOH\n\ACKEffect\DC2\SO\n\nNO_SERVICE\DLE\SOH\DC2\DC3\n\SIREDUCED_SERVICE\DLE\STX\DC2\SYN\n\DC2SIGNIFICANT_DELAYS\DLE\ETX\DC2\n\n\ACKDETOUR\DLE\EOT\DC2\SYN\n\DC2ADDITIONAL_SERVICE\DLE\ENQ\DC2\DC4\n\DLEMODIFIED_SERVICE\DLE\ACK\DC2\DLE\n\fOTHER_EFFECT\DLE\a\DC2\DC2\n\SOUNKNOWN_EFFECT\DLE\b\DC2\SO\n\nSTOP_MOVED\DLE\t\DC2\r\n\tNO_EFFECT\DLE\n\DC2\ETB\n\DC3ACCESSIBILITY_ISSUE\DLE\v\"H\n\rSeverityLevel\DC2\DC4\n\DLEUNKNOWN_SEVERITY\DLE\SOH\DC2\b\n\EOTINFO\DLE\STX\DC2\v\n\aWARNING\DLE\ETX\DC2\n\n\ACKSEVERE\DLE\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"7\n\tTimeRange\DC2\r\n\ENQstart\CAN\SOH \SOH(\EOT\DC2\v\n\ETXend\CAN\STX \SOH(\EOT*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"q\n\bPosition\DC2\DLE\n\blatitude\CAN\SOH \STX(\STX\DC2\DC1\n\tlongitude\CAN\STX \STX(\STX\DC2\SI\n\abearing\CAN\ETX \SOH(\STX\DC2\DLE\n\bodometer\CAN\EOT \SOH(\SOH\DC2\r\n\ENQspeed\CAN\ENQ \SOH(\STX*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\201\STX\n\SOTripDescriptor\DC2\SI\n\atrip_id\CAN\SOH \SOH(\t\DC2\DLE\n\broute_id\CAN\ENQ \SOH(\t\DC2\DC4\n\fdirection_id\CAN\ACK \SOH(\r\DC2\DC2\n\nstart_time\CAN\STX \SOH(\t\DC2\DC2\n\nstart_date\CAN\ETX \SOH(\t\DC2T\n\NAKschedule_relationship\CAN\EOT \SOH(\SO25.transit_realtime.TripDescriptor.ScheduleRelationship\"p\n\DC4ScheduleRelationship\DC2\r\n\tSCHEDULED\DLE\NUL\DC2\t\n\ENQADDED\DLE\SOH\DC2\SI\n\vUNSCHEDULED\DLE\STX\DC2\f\n\bCANCELED\DLE\ETX\DC2\SI\n\vREPLACEMENT\DLE\ENQ\DC2\SO\n\nDUPLICATED\DLE\ACK*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"U\n\DC1VehicleDescriptor\DC2\n\n\STXid\CAN\SOH \SOH(\t\DC2\r\n\ENQlabel\CAN\STX \SOH(\t\DC2\NAK\n\rlicense_plate\CAN\ETX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\176\SOH\n\SOEntitySelector\DC2\DC1\n\tagency_id\CAN\SOH \SOH(\t\DC2\DLE\n\broute_id\CAN\STX \SOH(\t\DC2\DC2\n\nroute_type\CAN\ETX \SOH(\ENQ\DC2.\n\EOTtrip\CAN\EOT \SOH(\v2 .transit_realtime.TripDescriptor\DC2\SI\n\astop_id\CAN\ENQ \SOH(\t\DC2\DC4\n\fdirection_id\CAN\ACK \SOH(\r*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\166\SOH\n\DLETranslatedString\DC2C\n\vtranslation\CAN\SOH \ETX(\v2..transit_realtime.TranslatedString.Translation\SUB=\n\vTranslation\DC2\f\n\EOTtext\CAN\SOH \STX(\t\DC2\DLE\n\blanguage\CAN\STX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"\193\SOH\n\SITranslatedImage\DC2I\n\SIlocalized_image\CAN\SOH \ETX(\v20.transit_realtime.TranslatedImage.LocalizedImage\SUBS\n\SOLocalizedImage\DC2\v\n\ETXurl\CAN\SOH \STX(\t\DC2\DC2\n\nmedia_type\CAN\STX \STX(\t\DC2\DLE\n\blanguage\CAN\ETX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144N\"C\n\ENQShape\DC2\DLE\n\bshape_id\CAN\SOH \SOH(\t\DC2\CAN\n\DLEencoded_polyline\CAN\STX \SOH(\t*\ACK\b\232\a\DLE\208\SI*\ACK\b\168F\DLE\144NB(\n\rGTFS.realtimeH\SOHP\NUL\128\SOH\NUL\136\SOH\NUL\144\SOH\NUL\160\SOH\NUL\184\SOH\NUL\216\SOH\NUL\248\SOH\NULb\ACKproto2") \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Alert.hs b/gtfs/GTFS/Realtime/Alert.hs
deleted file mode 100644
index bca6530..0000000
--- a/gtfs/GTFS/Realtime/Alert.hs
+++ /dev/null
@@ -1,204 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Alert (Alert(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.Alert.Cause as GTFS.Realtime.Alert
-import qualified GTFS.Realtime.Alert.Effect as GTFS.Realtime.Alert
-import qualified GTFS.Realtime.Alert.SeverityLevel as GTFS.Realtime.Alert
-import qualified GTFS.Realtime.EntitySelector as GTFS.Realtime
-import qualified GTFS.Realtime.TimeRange as GTFS.Realtime
-import qualified GTFS.Realtime.TranslatedImage as GTFS.Realtime
-import qualified GTFS.Realtime.TranslatedString as GTFS.Realtime
-
-data Alert = Alert{active_period :: !(P'.Seq GTFS.Realtime.TimeRange), informed_entity :: !(P'.Seq GTFS.Realtime.EntitySelector),
- cause :: !(P'.Maybe GTFS.Realtime.Alert.Cause), effect :: !(P'.Maybe GTFS.Realtime.Alert.Effect),
- url :: !(P'.Maybe GTFS.Realtime.TranslatedString), header_text :: !(P'.Maybe GTFS.Realtime.TranslatedString),
- description_text :: !(P'.Maybe GTFS.Realtime.TranslatedString),
- tts_header_text :: !(P'.Maybe GTFS.Realtime.TranslatedString),
- tts_description_text :: !(P'.Maybe GTFS.Realtime.TranslatedString),
- severity_level :: !(P'.Maybe GTFS.Realtime.Alert.SeverityLevel),
- image :: !(P'.Maybe GTFS.Realtime.TranslatedImage),
- image_alternative_text :: !(P'.Maybe GTFS.Realtime.TranslatedString), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage Alert where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable Alert where
- mergeAppend (Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13)
- (Alert y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12 y'13)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- !z'8 = P'.mergeAppend x'8 y'8
- !z'9 = P'.mergeAppend x'9 y'9
- !z'10 = P'.mergeAppend x'10 y'10
- !z'11 = P'.mergeAppend x'11 y'11
- !z'12 = P'.mergeAppend x'12 y'12
- !z'13 = P'.mergeAppend x'13 y'13
- in Alert z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8 z'9 z'10 z'11 z'12 z'13
-
-instance P'.Default Alert where
- defaultValue
- = Alert P'.defaultValue P'.defaultValue (Prelude'.Just (Prelude'.read "UNKNOWN_CAUSE"))
- (Prelude'.Just (Prelude'.read "UNKNOWN_EFFECT"))
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- (Prelude'.Just (Prelude'.read "UNKNOWN_SEVERITY"))
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
-
-instance P'.Wire Alert where
- wireSize ft' self'@(Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeRep 1 11 x'2 + P'.wireSizeOpt 1 14 x'3 + P'.wireSizeOpt 1 14 x'4 +
- P'.wireSizeOpt 1 11 x'5
- + P'.wireSizeOpt 1 11 x'6
- + P'.wireSizeOpt 1 11 x'7
- + P'.wireSizeOpt 1 11 x'8
- + P'.wireSizeOpt 1 11 x'9
- + P'.wireSizeOpt 1 14 x'10
- + P'.wireSizeOpt 1 11 x'11
- + P'.wireSizeOpt 2 11 x'12
- + P'.wireSizeExtField x'13)
- wirePutWithSize ft' self'@(Alert x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12 x'13)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutRepWithSize 42 11 x'2, P'.wirePutOptWithSize 48 14 x'3,
- P'.wirePutOptWithSize 56 14 x'4, P'.wirePutOptWithSize 66 11 x'5, P'.wirePutOptWithSize 82 11 x'6,
- P'.wirePutOptWithSize 90 11 x'7, P'.wirePutOptWithSize 98 11 x'8, P'.wirePutOptWithSize 106 11 x'9,
- P'.wirePutOptWithSize 112 14 x'10, P'.wirePutOptWithSize 122 11 x'11, P'.wirePutOptWithSize 130 11 x'12,
- P'.wirePutExtFieldWithSize x'13]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{active_period = P'.append (active_period old'Self) new'Field})
- (P'.wireGet 11)
- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{informed_entity = P'.append (informed_entity old'Self) new'Field})
- (P'.wireGet 11)
- 48 -> Prelude'.fmap (\ !new'Field -> old'Self{cause = Prelude'.Just new'Field}) (P'.wireGet 14)
- 56 -> Prelude'.fmap (\ !new'Field -> old'Self{effect = Prelude'.Just new'Field}) (P'.wireGet 14)
- 66 -> Prelude'.fmap (\ !new'Field -> old'Self{url = P'.mergeAppend (url old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 82 -> Prelude'.fmap
- (\ !new'Field -> old'Self{header_text = P'.mergeAppend (header_text old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 90 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{description_text = P'.mergeAppend (description_text old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 98 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{tts_header_text = P'.mergeAppend (tts_header_text old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 106 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{tts_description_text = P'.mergeAppend (tts_description_text old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 112 -> Prelude'.fmap (\ !new'Field -> old'Self{severity_level = Prelude'.Just new'Field}) (P'.wireGet 14)
- 122 -> Prelude'.fmap (\ !new'Field -> old'Self{image = P'.mergeAppend (image old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 130 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{image_alternative_text =
- P'.mergeAppend (image_alternative_text old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> Alert) Alert where
- getVal m' f' = f' m'
-
-instance P'.GPB Alert
-
-instance P'.ReflectDescriptor Alert where
- getMessageInfo _
- = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 42, 48, 56, 66, 82, 90, 98, 106, 112, 122, 130])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Alert.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.active_period\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"active_period\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.informed_entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"informed_entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.cause\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"cause\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Cause\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Cause\"}), hsRawDefault = Just \"UNKNOWN_CAUSE\", hsDefault = Just (HsDef'Enum \"UNKNOWN_CAUSE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.effect\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"effect\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.Effect\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"Effect\"}), hsRawDefault = Just \"UNKNOWN_EFFECT\", hsDefault = Just (HsDef'Enum \"UNKNOWN_EFFECT\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 82}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_header_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_header_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 12}, wireTag = WireTag {getWireTag = 98}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.tts_description_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"tts_description_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 13}, wireTag = WireTag {getWireTag = 106}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.severity_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"severity_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 14}, wireTag = WireTag {getWireTag = 112}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert.SeverityLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName = MName \"SeverityLevel\"}), hsRawDefault = Just \"UNKNOWN_SEVERITY\", hsDefault = Just (HsDef'Enum \"UNKNOWN_SEVERITY\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 15}, wireTag = WireTag {getWireTag = 122}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Alert.image_alternative_text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Alert\"], baseName' = FName \"image_alternative_text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 16}, wireTag = WireTag {getWireTag = 130}, packedTag = Nothing, wireTagLength = 2, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType Alert where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg Alert where
- textPut msg
- = do
- P'.tellT "active_period" (active_period msg)
- P'.tellT "informed_entity" (informed_entity msg)
- P'.tellT "cause" (cause msg)
- P'.tellT "effect" (effect msg)
- P'.tellT "url" (url msg)
- P'.tellT "header_text" (header_text msg)
- P'.tellT "description_text" (description_text msg)
- P'.tellT "tts_header_text" (tts_header_text msg)
- P'.tellT "tts_description_text" (tts_description_text msg)
- P'.tellT "severity_level" (severity_level msg)
- P'.tellT "image" (image msg)
- P'.tellT "image_alternative_text" (image_alternative_text msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice
- [parse'active_period, parse'informed_entity, parse'cause, parse'effect, parse'url, parse'header_text,
- parse'description_text, parse'tts_header_text, parse'tts_description_text, parse'severity_level, parse'image,
- parse'image_alternative_text])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'active_period
- = Prelude'.fmap (\ v o -> o{active_period = P'.append (active_period o) v}) (P'.try (P'.getT "active_period"))
- parse'informed_entity
- = Prelude'.fmap (\ v o -> o{informed_entity = P'.append (informed_entity o) v}) (P'.try (P'.getT "informed_entity"))
- parse'cause = Prelude'.fmap (\ v o -> o{cause = v}) (P'.try (P'.getT "cause"))
- parse'effect = Prelude'.fmap (\ v o -> o{effect = v}) (P'.try (P'.getT "effect"))
- parse'url = Prelude'.fmap (\ v o -> o{url = v}) (P'.try (P'.getT "url"))
- parse'header_text = Prelude'.fmap (\ v o -> o{header_text = v}) (P'.try (P'.getT "header_text"))
- parse'description_text = Prelude'.fmap (\ v o -> o{description_text = v}) (P'.try (P'.getT "description_text"))
- parse'tts_header_text = Prelude'.fmap (\ v o -> o{tts_header_text = v}) (P'.try (P'.getT "tts_header_text"))
- parse'tts_description_text = Prelude'.fmap (\ v o -> o{tts_description_text = v}) (P'.try (P'.getT "tts_description_text"))
- parse'severity_level = Prelude'.fmap (\ v o -> o{severity_level = v}) (P'.try (P'.getT "severity_level"))
- parse'image = Prelude'.fmap (\ v o -> o{image = v}) (P'.try (P'.getT "image"))
- parse'image_alternative_text
- = Prelude'.fmap (\ v o -> o{image_alternative_text = v}) (P'.try (P'.getT "image_alternative_text")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Alert/Cause.hs b/gtfs/GTFS/Realtime/Alert/Cause.hs
deleted file mode 100644
index 9f71db7..0000000
--- a/gtfs/GTFS/Realtime/Alert/Cause.hs
+++ /dev/null
@@ -1,118 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Alert.Cause (Cause(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Cause = UNKNOWN_CAUSE
- | OTHER_CAUSE
- | TECHNICAL_PROBLEM
- | STRIKE
- | DEMONSTRATION
- | ACCIDENT
- | HOLIDAY
- | WEATHER
- | MAINTENANCE
- | CONSTRUCTION
- | POLICE_ACTIVITY
- | MEDICAL_EMERGENCY
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.Mergeable Cause
-
-instance Prelude'.Bounded Cause where
- minBound = UNKNOWN_CAUSE
- maxBound = MEDICAL_EMERGENCY
-
-instance P'.Default Cause where
- defaultValue = UNKNOWN_CAUSE
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe Cause
-toMaybe'Enum 1 = Prelude'.Just UNKNOWN_CAUSE
-toMaybe'Enum 2 = Prelude'.Just OTHER_CAUSE
-toMaybe'Enum 3 = Prelude'.Just TECHNICAL_PROBLEM
-toMaybe'Enum 4 = Prelude'.Just STRIKE
-toMaybe'Enum 5 = Prelude'.Just DEMONSTRATION
-toMaybe'Enum 6 = Prelude'.Just ACCIDENT
-toMaybe'Enum 7 = Prelude'.Just HOLIDAY
-toMaybe'Enum 8 = Prelude'.Just WEATHER
-toMaybe'Enum 9 = Prelude'.Just MAINTENANCE
-toMaybe'Enum 10 = Prelude'.Just CONSTRUCTION
-toMaybe'Enum 11 = Prelude'.Just POLICE_ACTIVITY
-toMaybe'Enum 12 = Prelude'.Just MEDICAL_EMERGENCY
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum Cause where
- fromEnum UNKNOWN_CAUSE = 1
- fromEnum OTHER_CAUSE = 2
- fromEnum TECHNICAL_PROBLEM = 3
- fromEnum STRIKE = 4
- fromEnum DEMONSTRATION = 5
- fromEnum ACCIDENT = 6
- fromEnum HOLIDAY = 7
- fromEnum WEATHER = 8
- fromEnum MAINTENANCE = 9
- fromEnum CONSTRUCTION = 10
- fromEnum POLICE_ACTIVITY = 11
- fromEnum MEDICAL_EMERGENCY = 12
- toEnum = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.Cause") . toMaybe'Enum
- succ UNKNOWN_CAUSE = OTHER_CAUSE
- succ OTHER_CAUSE = TECHNICAL_PROBLEM
- succ TECHNICAL_PROBLEM = STRIKE
- succ STRIKE = DEMONSTRATION
- succ DEMONSTRATION = ACCIDENT
- succ ACCIDENT = HOLIDAY
- succ HOLIDAY = WEATHER
- succ WEATHER = MAINTENANCE
- succ MAINTENANCE = CONSTRUCTION
- succ CONSTRUCTION = POLICE_ACTIVITY
- succ POLICE_ACTIVITY = MEDICAL_EMERGENCY
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.Cause"
- pred OTHER_CAUSE = UNKNOWN_CAUSE
- pred TECHNICAL_PROBLEM = OTHER_CAUSE
- pred STRIKE = TECHNICAL_PROBLEM
- pred DEMONSTRATION = STRIKE
- pred ACCIDENT = DEMONSTRATION
- pred HOLIDAY = ACCIDENT
- pred WEATHER = HOLIDAY
- pred MAINTENANCE = WEATHER
- pred CONSTRUCTION = MAINTENANCE
- pred POLICE_ACTIVITY = CONSTRUCTION
- pred MEDICAL_EMERGENCY = POLICE_ACTIVITY
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.Cause"
-
-instance P'.Wire Cause where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB Cause
-
-instance P'.MessageAPI msg' (msg' -> Cause) Cause where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum Cause where
- reflectEnum
- = [(1, "UNKNOWN_CAUSE", UNKNOWN_CAUSE), (2, "OTHER_CAUSE", OTHER_CAUSE), (3, "TECHNICAL_PROBLEM", TECHNICAL_PROBLEM),
- (4, "STRIKE", STRIKE), (5, "DEMONSTRATION", DEMONSTRATION), (6, "ACCIDENT", ACCIDENT), (7, "HOLIDAY", HOLIDAY),
- (8, "WEATHER", WEATHER), (9, "MAINTENANCE", MAINTENANCE), (10, "CONSTRUCTION", CONSTRUCTION),
- (11, "POLICE_ACTIVITY", POLICE_ACTIVITY), (12, "MEDICAL_EMERGENCY", MEDICAL_EMERGENCY)]
- reflectEnumInfo _
- = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.Cause") [] ["GTFS", "Realtime", "Alert"] "Cause")
- ["GTFS", "Realtime", "Alert", "Cause.hs"]
- [(1, "UNKNOWN_CAUSE"), (2, "OTHER_CAUSE"), (3, "TECHNICAL_PROBLEM"), (4, "STRIKE"), (5, "DEMONSTRATION"), (6, "ACCIDENT"),
- (7, "HOLIDAY"), (8, "WEATHER"), (9, "MAINTENANCE"), (10, "CONSTRUCTION"), (11, "POLICE_ACTIVITY"), (12, "MEDICAL_EMERGENCY")]
- Prelude'.False
-
-instance P'.TextType Cause where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Alert/Effect.hs b/gtfs/GTFS/Realtime/Alert/Effect.hs
deleted file mode 100644
index dcaa77d..0000000
--- a/gtfs/GTFS/Realtime/Alert/Effect.hs
+++ /dev/null
@@ -1,114 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Alert.Effect (Effect(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Effect = NO_SERVICE
- | REDUCED_SERVICE
- | SIGNIFICANT_DELAYS
- | DETOUR
- | ADDITIONAL_SERVICE
- | MODIFIED_SERVICE
- | OTHER_EFFECT
- | UNKNOWN_EFFECT
- | STOP_MOVED
- | NO_EFFECT
- | ACCESSIBILITY_ISSUE
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.Mergeable Effect
-
-instance Prelude'.Bounded Effect where
- minBound = NO_SERVICE
- maxBound = ACCESSIBILITY_ISSUE
-
-instance P'.Default Effect where
- defaultValue = NO_SERVICE
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe Effect
-toMaybe'Enum 1 = Prelude'.Just NO_SERVICE
-toMaybe'Enum 2 = Prelude'.Just REDUCED_SERVICE
-toMaybe'Enum 3 = Prelude'.Just SIGNIFICANT_DELAYS
-toMaybe'Enum 4 = Prelude'.Just DETOUR
-toMaybe'Enum 5 = Prelude'.Just ADDITIONAL_SERVICE
-toMaybe'Enum 6 = Prelude'.Just MODIFIED_SERVICE
-toMaybe'Enum 7 = Prelude'.Just OTHER_EFFECT
-toMaybe'Enum 8 = Prelude'.Just UNKNOWN_EFFECT
-toMaybe'Enum 9 = Prelude'.Just STOP_MOVED
-toMaybe'Enum 10 = Prelude'.Just NO_EFFECT
-toMaybe'Enum 11 = Prelude'.Just ACCESSIBILITY_ISSUE
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum Effect where
- fromEnum NO_SERVICE = 1
- fromEnum REDUCED_SERVICE = 2
- fromEnum SIGNIFICANT_DELAYS = 3
- fromEnum DETOUR = 4
- fromEnum ADDITIONAL_SERVICE = 5
- fromEnum MODIFIED_SERVICE = 6
- fromEnum OTHER_EFFECT = 7
- fromEnum UNKNOWN_EFFECT = 8
- fromEnum STOP_MOVED = 9
- fromEnum NO_EFFECT = 10
- fromEnum ACCESSIBILITY_ISSUE = 11
- toEnum = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.Effect") . toMaybe'Enum
- succ NO_SERVICE = REDUCED_SERVICE
- succ REDUCED_SERVICE = SIGNIFICANT_DELAYS
- succ SIGNIFICANT_DELAYS = DETOUR
- succ DETOUR = ADDITIONAL_SERVICE
- succ ADDITIONAL_SERVICE = MODIFIED_SERVICE
- succ MODIFIED_SERVICE = OTHER_EFFECT
- succ OTHER_EFFECT = UNKNOWN_EFFECT
- succ UNKNOWN_EFFECT = STOP_MOVED
- succ STOP_MOVED = NO_EFFECT
- succ NO_EFFECT = ACCESSIBILITY_ISSUE
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.Effect"
- pred REDUCED_SERVICE = NO_SERVICE
- pred SIGNIFICANT_DELAYS = REDUCED_SERVICE
- pred DETOUR = SIGNIFICANT_DELAYS
- pred ADDITIONAL_SERVICE = DETOUR
- pred MODIFIED_SERVICE = ADDITIONAL_SERVICE
- pred OTHER_EFFECT = MODIFIED_SERVICE
- pred UNKNOWN_EFFECT = OTHER_EFFECT
- pred STOP_MOVED = UNKNOWN_EFFECT
- pred NO_EFFECT = STOP_MOVED
- pred ACCESSIBILITY_ISSUE = NO_EFFECT
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.Effect"
-
-instance P'.Wire Effect where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB Effect
-
-instance P'.MessageAPI msg' (msg' -> Effect) Effect where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum Effect where
- reflectEnum
- = [(1, "NO_SERVICE", NO_SERVICE), (2, "REDUCED_SERVICE", REDUCED_SERVICE), (3, "SIGNIFICANT_DELAYS", SIGNIFICANT_DELAYS),
- (4, "DETOUR", DETOUR), (5, "ADDITIONAL_SERVICE", ADDITIONAL_SERVICE), (6, "MODIFIED_SERVICE", MODIFIED_SERVICE),
- (7, "OTHER_EFFECT", OTHER_EFFECT), (8, "UNKNOWN_EFFECT", UNKNOWN_EFFECT), (9, "STOP_MOVED", STOP_MOVED),
- (10, "NO_EFFECT", NO_EFFECT), (11, "ACCESSIBILITY_ISSUE", ACCESSIBILITY_ISSUE)]
- reflectEnumInfo _
- = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.Effect") [] ["GTFS", "Realtime", "Alert"] "Effect")
- ["GTFS", "Realtime", "Alert", "Effect.hs"]
- [(1, "NO_SERVICE"), (2, "REDUCED_SERVICE"), (3, "SIGNIFICANT_DELAYS"), (4, "DETOUR"), (5, "ADDITIONAL_SERVICE"),
- (6, "MODIFIED_SERVICE"), (7, "OTHER_EFFECT"), (8, "UNKNOWN_EFFECT"), (9, "STOP_MOVED"), (10, "NO_EFFECT"),
- (11, "ACCESSIBILITY_ISSUE")]
- Prelude'.False
-
-instance P'.TextType Effect where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs b/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs
deleted file mode 100644
index bb50ff3..0000000
--- a/gtfs/GTFS/Realtime/Alert/SeverityLevel.hs
+++ /dev/null
@@ -1,76 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Alert.SeverityLevel (SeverityLevel(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data SeverityLevel = UNKNOWN_SEVERITY
- | INFO
- | WARNING
- | SEVERE
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable SeverityLevel
-
-instance Prelude'.Bounded SeverityLevel where
- minBound = UNKNOWN_SEVERITY
- maxBound = SEVERE
-
-instance P'.Default SeverityLevel where
- defaultValue = UNKNOWN_SEVERITY
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe SeverityLevel
-toMaybe'Enum 1 = Prelude'.Just UNKNOWN_SEVERITY
-toMaybe'Enum 2 = Prelude'.Just INFO
-toMaybe'Enum 3 = Prelude'.Just WARNING
-toMaybe'Enum 4 = Prelude'.Just SEVERE
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum SeverityLevel where
- fromEnum UNKNOWN_SEVERITY = 1
- fromEnum INFO = 2
- fromEnum WARNING = 3
- fromEnum SEVERE = 4
- toEnum
- = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.Alert.SeverityLevel") .
- toMaybe'Enum
- succ UNKNOWN_SEVERITY = INFO
- succ INFO = WARNING
- succ WARNING = SEVERE
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.Alert.SeverityLevel"
- pred INFO = UNKNOWN_SEVERITY
- pred WARNING = INFO
- pred SEVERE = WARNING
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.Alert.SeverityLevel"
-
-instance P'.Wire SeverityLevel where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB SeverityLevel
-
-instance P'.MessageAPI msg' (msg' -> SeverityLevel) SeverityLevel where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum SeverityLevel where
- reflectEnum = [(1, "UNKNOWN_SEVERITY", UNKNOWN_SEVERITY), (2, "INFO", INFO), (3, "WARNING", WARNING), (4, "SEVERE", SEVERE)]
- reflectEnumInfo _
- = P'.EnumInfo (P'.makePNF (P'.pack ".transit_realtime.Alert.SeverityLevel") [] ["GTFS", "Realtime", "Alert"] "SeverityLevel")
- ["GTFS", "Realtime", "Alert", "SeverityLevel.hs"]
- [(1, "UNKNOWN_SEVERITY"), (2, "INFO"), (3, "WARNING"), (4, "SEVERE")]
- Prelude'.False
-
-instance P'.TextType SeverityLevel where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/EntitySelector.hs b/gtfs/GTFS/Realtime/EntitySelector.hs
deleted file mode 100644
index c4441ae..0000000
--- a/gtfs/GTFS/Realtime/EntitySelector.hs
+++ /dev/null
@@ -1,125 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.EntitySelector (EntitySelector(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime
-
-data EntitySelector = EntitySelector{agency_id :: !(P'.Maybe P'.Utf8), route_id :: !(P'.Maybe P'.Utf8),
- route_type :: !(P'.Maybe P'.Int32), trip :: !(P'.Maybe GTFS.Realtime.TripDescriptor),
- stop_id :: !(P'.Maybe P'.Utf8), direction_id :: !(P'.Maybe P'.Word32),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage EntitySelector where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable EntitySelector where
- mergeAppend (EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7) (EntitySelector y'1 y'2 y'3 y'4 y'5 y'6 y'7)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- in EntitySelector z'1 z'2 z'3 z'4 z'5 z'6 z'7
-
-instance P'.Default EntitySelector where
- defaultValue
- = EntitySelector P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire EntitySelector where
- wireSize ft' self'@(EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 5 x'3 + P'.wireSizeOpt 1 11 x'4 +
- P'.wireSizeOpt 1 9 x'5
- + P'.wireSizeOpt 1 13 x'6
- + P'.wireSizeExtField x'7)
- wirePutWithSize ft' self'@(EntitySelector x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 24 5 x'3,
- P'.wirePutOptWithSize 34 11 x'4, P'.wirePutOptWithSize 42 9 x'5, P'.wirePutOptWithSize 48 13 x'6,
- P'.wirePutExtFieldWithSize x'7]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{agency_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{route_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{route_type = Prelude'.Just new'Field}) (P'.wireGet 5)
- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 48 -> Prelude'.fmap (\ !new'Field -> old'Self{direction_id = Prelude'.Just new'Field}) (P'.wireGet 13)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> EntitySelector) EntitySelector where
- getVal m' f' = f' m'
-
-instance P'.GPB EntitySelector
-
-instance P'.ReflectDescriptor EntitySelector where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 34, 42, 48])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.EntitySelector\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"EntitySelector\"}, descFilePath = [\"GTFS\",\"Realtime\",\"EntitySelector.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.agency_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"agency_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.route_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"route_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.EntitySelector.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"EntitySelector\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType EntitySelector where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg EntitySelector where
- textPut msg
- = do
- P'.tellT "agency_id" (agency_id msg)
- P'.tellT "route_id" (route_id msg)
- P'.tellT "route_type" (route_type msg)
- P'.tellT "trip" (trip msg)
- P'.tellT "stop_id" (stop_id msg)
- P'.tellT "direction_id" (direction_id msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice [parse'agency_id, parse'route_id, parse'route_type, parse'trip, parse'stop_id, parse'direction_id])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'agency_id = Prelude'.fmap (\ v o -> o{agency_id = v}) (P'.try (P'.getT "agency_id"))
- parse'route_id = Prelude'.fmap (\ v o -> o{route_id = v}) (P'.try (P'.getT "route_id"))
- parse'route_type = Prelude'.fmap (\ v o -> o{route_type = v}) (P'.try (P'.getT "route_type"))
- parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip"))
- parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id"))
- parse'direction_id = Prelude'.fmap (\ v o -> o{direction_id = v}) (P'.try (P'.getT "direction_id")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/FeedEntity.hs b/gtfs/GTFS/Realtime/FeedEntity.hs
deleted file mode 100644
index 4ac137a..0000000
--- a/gtfs/GTFS/Realtime/FeedEntity.hs
+++ /dev/null
@@ -1,132 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.FeedEntity (FeedEntity(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.Alert as GTFS.Realtime
-import qualified GTFS.Realtime.Shape as GTFS.Realtime
-import qualified GTFS.Realtime.TripUpdate as GTFS.Realtime
-import qualified GTFS.Realtime.VehiclePosition as GTFS.Realtime
-
-data FeedEntity = FeedEntity{id :: !(P'.Utf8), is_deleted :: !(P'.Maybe P'.Bool),
- trip_update :: !(P'.Maybe GTFS.Realtime.TripUpdate),
- vehicle :: !(P'.Maybe GTFS.Realtime.VehiclePosition), alert :: !(P'.Maybe GTFS.Realtime.Alert),
- shape :: !(P'.Maybe GTFS.Realtime.Shape), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage FeedEntity where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable FeedEntity where
- mergeAppend (FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7) (FeedEntity y'1 y'2 y'3 y'4 y'5 y'6 y'7)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- in FeedEntity z'1 z'2 z'3 z'4 z'5 z'6 z'7
-
-instance P'.Default FeedEntity where
- defaultValue
- = FeedEntity P'.defaultValue (Prelude'.Just Prelude'.False) P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
- P'.defaultValue
-
-instance P'.Wire FeedEntity where
- wireSize ft' self'@(FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 8 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 +
- P'.wireSizeOpt 1 11 x'5
- + P'.wireSizeOpt 1 11 x'6
- + P'.wireSizeExtField x'7)
- wirePutWithSize ft' self'@(FeedEntity x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 16 8 x'2, P'.wirePutOptWithSize 26 11 x'3,
- P'.wirePutOptWithSize 34 11 x'4, P'.wirePutOptWithSize 42 11 x'5, P'.wirePutOptWithSize 50 11 x'6,
- P'.wirePutExtFieldWithSize x'7]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = new'Field}) (P'.wireGet 9)
- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{is_deleted = Prelude'.Just new'Field}) (P'.wireGet 8)
- 26 -> Prelude'.fmap
- (\ !new'Field -> old'Self{trip_update = P'.mergeAppend (trip_update old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{alert = P'.mergeAppend (alert old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 50 -> Prelude'.fmap (\ !new'Field -> old'Self{shape = P'.mergeAppend (shape old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> FeedEntity) FeedEntity where
- getVal m' f' = f' m'
-
-instance P'.GPB FeedEntity
-
-instance P'.ReflectDescriptor FeedEntity where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16, 26, 34, 42, 50])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedEntity.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.is_deleted\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"is_deleted\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 8}, typeName = Nothing, hsRawDefault = Just \"false\", hsDefault = Just (HsDef'Bool False), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.trip_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"trip_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.alert\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"alert\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Alert\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Alert\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedEntity.shape\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedEntity\"], baseName' = FName \"shape\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType FeedEntity where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg FeedEntity where
- textPut msg
- = do
- P'.tellT "id" (id msg)
- P'.tellT "is_deleted" (is_deleted msg)
- P'.tellT "trip_update" (trip_update msg)
- P'.tellT "vehicle" (vehicle msg)
- P'.tellT "alert" (alert msg)
- P'.tellT "shape" (shape msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'id, parse'is_deleted, parse'trip_update, parse'vehicle, parse'alert, parse'shape])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id"))
- parse'is_deleted = Prelude'.fmap (\ v o -> o{is_deleted = v}) (P'.try (P'.getT "is_deleted"))
- parse'trip_update = Prelude'.fmap (\ v o -> o{trip_update = v}) (P'.try (P'.getT "trip_update"))
- parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle"))
- parse'alert = Prelude'.fmap (\ v o -> o{alert = v}) (P'.try (P'.getT "alert"))
- parse'shape = Prelude'.fmap (\ v o -> o{shape = v}) (P'.try (P'.getT "shape")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/FeedHeader.hs b/gtfs/GTFS/Realtime/FeedHeader.hs
deleted file mode 100644
index f4b8667..0000000
--- a/gtfs/GTFS/Realtime/FeedHeader.hs
+++ /dev/null
@@ -1,104 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.FeedHeader (FeedHeader(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.FeedHeader.Incrementality as GTFS.Realtime.FeedHeader
-
-data FeedHeader = FeedHeader{gtfs_realtime_version :: !(P'.Utf8),
- incrementality :: !(P'.Maybe GTFS.Realtime.FeedHeader.Incrementality),
- timestamp :: !(P'.Maybe P'.Word64), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage FeedHeader where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable FeedHeader where
- mergeAppend (FeedHeader x'1 x'2 x'3 x'4) (FeedHeader y'1 y'2 y'3 y'4)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- in FeedHeader z'1 z'2 z'3 z'4
-
-instance P'.Default FeedHeader where
- defaultValue = FeedHeader P'.defaultValue (Prelude'.Just (Prelude'.read "FULL_DATASET")) P'.defaultValue P'.defaultValue
-
-instance P'.Wire FeedHeader where
- wireSize ft' self'@(FeedHeader x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 14 x'2 + P'.wireSizeOpt 1 4 x'3 + P'.wireSizeExtField x'4)
- wirePutWithSize ft' self'@(FeedHeader x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 16 14 x'2, P'.wirePutOptWithSize 24 4 x'3,
- P'.wirePutExtFieldWithSize x'4]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{gtfs_realtime_version = new'Field}) (P'.wireGet 9)
- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{incrementality = Prelude'.Just new'Field}) (P'.wireGet 14)
- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> FeedHeader) FeedHeader where
- getVal m' f' = f' m'
-
-instance P'.GPB FeedHeader
-
-instance P'.ReflectDescriptor FeedHeader where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 16, 24])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedHeader.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.gtfs_realtime_version\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"gtfs_realtime_version\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.incrementality\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"incrementality\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader.Incrementality\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName = MName \"Incrementality\"}), hsRawDefault = Just \"FULL_DATASET\", hsDefault = Just (HsDef'Enum \"FULL_DATASET\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedHeader.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedHeader\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType FeedHeader where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg FeedHeader where
- textPut msg
- = do
- P'.tellT "gtfs_realtime_version" (gtfs_realtime_version msg)
- P'.tellT "incrementality" (incrementality msg)
- P'.tellT "timestamp" (timestamp msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'gtfs_realtime_version, parse'incrementality, parse'timestamp]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'gtfs_realtime_version
- = Prelude'.fmap (\ v o -> o{gtfs_realtime_version = v}) (P'.try (P'.getT "gtfs_realtime_version"))
- parse'incrementality = Prelude'.fmap (\ v o -> o{incrementality = v}) (P'.try (P'.getT "incrementality"))
- parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs b/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs
deleted file mode 100644
index ad6e194..0000000
--- a/gtfs/GTFS/Realtime/FeedHeader/Incrementality.hs
+++ /dev/null
@@ -1,67 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.FeedHeader.Incrementality (Incrementality(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Incrementality = FULL_DATASET
- | DIFFERENTIAL
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable Incrementality
-
-instance Prelude'.Bounded Incrementality where
- minBound = FULL_DATASET
- maxBound = DIFFERENTIAL
-
-instance P'.Default Incrementality where
- defaultValue = FULL_DATASET
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe Incrementality
-toMaybe'Enum 0 = Prelude'.Just FULL_DATASET
-toMaybe'Enum 1 = Prelude'.Just DIFFERENTIAL
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum Incrementality where
- fromEnum FULL_DATASET = 0
- fromEnum DIFFERENTIAL = 1
- toEnum
- = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.FeedHeader.Incrementality") .
- toMaybe'Enum
- succ FULL_DATASET = DIFFERENTIAL
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.FeedHeader.Incrementality"
- pred DIFFERENTIAL = FULL_DATASET
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.FeedHeader.Incrementality"
-
-instance P'.Wire Incrementality where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB Incrementality
-
-instance P'.MessageAPI msg' (msg' -> Incrementality) Incrementality where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum Incrementality where
- reflectEnum = [(0, "FULL_DATASET", FULL_DATASET), (1, "DIFFERENTIAL", DIFFERENTIAL)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.FeedHeader.Incrementality") [] ["GTFS", "Realtime", "FeedHeader"] "Incrementality")
- ["GTFS", "Realtime", "FeedHeader", "Incrementality.hs"]
- [(0, "FULL_DATASET"), (1, "DIFFERENTIAL")]
- Prelude'.False
-
-instance P'.TextType Incrementality where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/FeedMessage.hs b/gtfs/GTFS/Realtime/FeedMessage.hs
deleted file mode 100644
index f3c25d2..0000000
--- a/gtfs/GTFS/Realtime/FeedMessage.hs
+++ /dev/null
@@ -1,97 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.FeedMessage (FeedMessage(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.FeedEntity as GTFS.Realtime
-import qualified GTFS.Realtime.FeedHeader as GTFS.Realtime
-
-data FeedMessage = FeedMessage{header :: !(GTFS.Realtime.FeedHeader), entity :: !(P'.Seq GTFS.Realtime.FeedEntity),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage FeedMessage where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable FeedMessage where
- mergeAppend (FeedMessage x'1 x'2 x'3) (FeedMessage y'1 y'2 y'3)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- in FeedMessage z'1 z'2 z'3
-
-instance P'.Default FeedMessage where
- defaultValue = FeedMessage P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire FeedMessage where
- wireSize ft' self'@(FeedMessage x'1 x'2 x'3)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeRep 1 11 x'2 + P'.wireSizeExtField x'3)
- wirePutWithSize ft' self'@(FeedMessage x'1 x'2 x'3)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize [P'.wirePutReqWithSize 10 11 x'1, P'.wirePutRepWithSize 18 11 x'2, P'.wirePutExtFieldWithSize x'3]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{header = P'.mergeAppend (header old'Self) (new'Field)}) (P'.wireGet 11)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{entity = P'.append (entity old'Self) new'Field}) (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> FeedMessage) FeedMessage where
- getVal m' f' = f' m'
-
-instance P'.GPB FeedMessage
-
-instance P'.ReflectDescriptor FeedMessage where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.FeedMessage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedMessage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"FeedMessage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.header\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"header\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedHeader\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedHeader\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.FeedMessage.entity\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"FeedMessage\"], baseName' = FName \"entity\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.FeedEntity\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"FeedEntity\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType FeedMessage where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg FeedMessage where
- textPut msg
- = do
- P'.tellT "header" (header msg)
- P'.tellT "entity" (entity msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'header, parse'entity]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'header = Prelude'.fmap (\ v o -> o{header = v}) (P'.try (P'.getT "header"))
- parse'entity = Prelude'.fmap (\ v o -> o{entity = P'.append (entity o) v}) (P'.try (P'.getT "entity")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Position.hs b/gtfs/GTFS/Realtime/Position.hs
deleted file mode 100644
index 7cea83b..0000000
--- a/gtfs/GTFS/Realtime/Position.hs
+++ /dev/null
@@ -1,112 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Position (Position(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Position = Position{latitude :: !(P'.Float), longitude :: !(P'.Float), bearing :: !(P'.Maybe P'.Float),
- odometer :: !(P'.Maybe P'.Double), speed :: !(P'.Maybe P'.Float), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage Position where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable Position where
- mergeAppend (Position x'1 x'2 x'3 x'4 x'5 x'6) (Position y'1 y'2 y'3 y'4 y'5 y'6)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- in Position z'1 z'2 z'3 z'4 z'5 z'6
-
-instance P'.Default Position where
- defaultValue = Position P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire Position where
- wireSize ft' self'@(Position x'1 x'2 x'3 x'4 x'5 x'6)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeReq 1 2 x'1 + P'.wireSizeReq 1 2 x'2 + P'.wireSizeOpt 1 2 x'3 + P'.wireSizeOpt 1 1 x'4 +
- P'.wireSizeOpt 1 2 x'5
- + P'.wireSizeExtField x'6)
- wirePutWithSize ft' self'@(Position x'1 x'2 x'3 x'4 x'5 x'6)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutReqWithSize 13 2 x'1, P'.wirePutReqWithSize 21 2 x'2, P'.wirePutOptWithSize 29 2 x'3,
- P'.wirePutOptWithSize 33 1 x'4, P'.wirePutOptWithSize 45 2 x'5, P'.wirePutExtFieldWithSize x'6]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 13 -> Prelude'.fmap (\ !new'Field -> old'Self{latitude = new'Field}) (P'.wireGet 2)
- 21 -> Prelude'.fmap (\ !new'Field -> old'Self{longitude = new'Field}) (P'.wireGet 2)
- 29 -> Prelude'.fmap (\ !new'Field -> old'Self{bearing = Prelude'.Just new'Field}) (P'.wireGet 2)
- 33 -> Prelude'.fmap (\ !new'Field -> old'Self{odometer = Prelude'.Just new'Field}) (P'.wireGet 1)
- 45 -> Prelude'.fmap (\ !new'Field -> old'Self{speed = Prelude'.Just new'Field}) (P'.wireGet 2)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> Position) Position where
- getVal m' f' = f' m'
-
-instance P'.GPB Position
-
-instance P'.ReflectDescriptor Position where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [13, 21]) (P'.fromDistinctAscList [13, 21, 29, 33, 45])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Position.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.latitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"latitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 13}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.longitude\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"longitude\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 21}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.bearing\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"bearing\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 29}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.odometer\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"odometer\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 33}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 1}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Position.speed\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Position\"], baseName' = FName \"speed\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 45}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 2}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType Position where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg Position where
- textPut msg
- = do
- P'.tellT "latitude" (latitude msg)
- P'.tellT "longitude" (longitude msg)
- P'.tellT "bearing" (bearing msg)
- P'.tellT "odometer" (odometer msg)
- P'.tellT "speed" (speed msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'latitude, parse'longitude, parse'bearing, parse'odometer, parse'speed]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'latitude = Prelude'.fmap (\ v o -> o{latitude = v}) (P'.try (P'.getT "latitude"))
- parse'longitude = Prelude'.fmap (\ v o -> o{longitude = v}) (P'.try (P'.getT "longitude"))
- parse'bearing = Prelude'.fmap (\ v o -> o{bearing = v}) (P'.try (P'.getT "bearing"))
- parse'odometer = Prelude'.fmap (\ v o -> o{odometer = v}) (P'.try (P'.getT "odometer"))
- parse'speed = Prelude'.fmap (\ v o -> o{speed = v}) (P'.try (P'.getT "speed")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/Shape.hs b/gtfs/GTFS/Realtime/Shape.hs
deleted file mode 100644
index a19cd49..0000000
--- a/gtfs/GTFS/Realtime/Shape.hs
+++ /dev/null
@@ -1,94 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.Shape (Shape(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Shape = Shape{shape_id :: !(P'.Maybe P'.Utf8), encoded_polyline :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage Shape where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable Shape where
- mergeAppend (Shape x'1 x'2 x'3) (Shape y'1 y'2 y'3)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- in Shape z'1 z'2 z'3
-
-instance P'.Default Shape where
- defaultValue = Shape P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire Shape where
- wireSize ft' self'@(Shape x'1 x'2 x'3)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeExtField x'3)
- wirePutWithSize ft' self'@(Shape x'1 x'2 x'3)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutExtFieldWithSize x'3]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{shape_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{encoded_polyline = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> Shape) Shape where
- getVal m' f' = f' m'
-
-instance P'.GPB Shape
-
-instance P'.ReflectDescriptor Shape where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.Shape\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Shape\"}, descFilePath = [\"GTFS\",\"Realtime\",\"Shape.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.Shape.encoded_polyline\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"Shape\"], baseName' = FName \"encoded_polyline\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType Shape where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg Shape where
- textPut msg
- = do
- P'.tellT "shape_id" (shape_id msg)
- P'.tellT "encoded_polyline" (encoded_polyline msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'shape_id, parse'encoded_polyline]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'shape_id = Prelude'.fmap (\ v o -> o{shape_id = v}) (P'.try (P'.getT "shape_id"))
- parse'encoded_polyline = Prelude'.fmap (\ v o -> o{encoded_polyline = v}) (P'.try (P'.getT "encoded_polyline")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TimeRange.hs b/gtfs/GTFS/Realtime/TimeRange.hs
deleted file mode 100644
index 1384a08..0000000
--- a/gtfs/GTFS/Realtime/TimeRange.hs
+++ /dev/null
@@ -1,94 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TimeRange (TimeRange(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data TimeRange = TimeRange{start :: !(P'.Maybe P'.Word64), end :: !(P'.Maybe P'.Word64), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TimeRange where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TimeRange where
- mergeAppend (TimeRange x'1 x'2 x'3) (TimeRange y'1 y'2 y'3)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- in TimeRange z'1 z'2 z'3
-
-instance P'.Default TimeRange where
- defaultValue = TimeRange P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire TimeRange where
- wireSize ft' self'@(TimeRange x'1 x'2 x'3)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeOpt 1 4 x'1 + P'.wireSizeOpt 1 4 x'2 + P'.wireSizeExtField x'3)
- wirePutWithSize ft' self'@(TimeRange x'1 x'2 x'3)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize [P'.wirePutOptWithSize 8 4 x'1, P'.wirePutOptWithSize 16 4 x'2, P'.wirePutExtFieldWithSize x'3]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{start = Prelude'.Just new'Field}) (P'.wireGet 4)
- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{end = Prelude'.Just new'Field}) (P'.wireGet 4)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TimeRange) TimeRange where
- getVal m' f' = f' m'
-
-instance P'.GPB TimeRange
-
-instance P'.ReflectDescriptor TimeRange where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TimeRange\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TimeRange\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TimeRange.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.start\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"start\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TimeRange.end\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TimeRange\"], baseName' = FName \"end\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TimeRange where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TimeRange where
- textPut msg
- = do
- P'.tellT "start" (start msg)
- P'.tellT "end" (end msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'start, parse'end]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'start = Prelude'.fmap (\ v o -> o{start = v}) (P'.try (P'.getT "start"))
- parse'end = Prelude'.fmap (\ v o -> o{end = v}) (P'.try (P'.getT "end")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TranslatedImage.hs b/gtfs/GTFS/Realtime/TranslatedImage.hs
deleted file mode 100644
index c6e4b1f..0000000
--- a/gtfs/GTFS/Realtime/TranslatedImage.hs
+++ /dev/null
@@ -1,93 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TranslatedImage (TranslatedImage(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TranslatedImage.LocalizedImage as GTFS.Realtime.TranslatedImage
-
-data TranslatedImage = TranslatedImage{localized_image :: !(P'.Seq GTFS.Realtime.TranslatedImage.LocalizedImage),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TranslatedImage where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TranslatedImage where
- mergeAppend (TranslatedImage x'1 x'2) (TranslatedImage y'1 y'2)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- in TranslatedImage z'1 z'2
-
-instance P'.Default TranslatedImage where
- defaultValue = TranslatedImage P'.defaultValue P'.defaultValue
-
-instance P'.Wire TranslatedImage where
- wireSize ft' self'@(TranslatedImage x'1 x'2)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeExtField x'2)
- wirePutWithSize ft' self'@(TranslatedImage x'1 x'2)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields = P'.sequencePutWithSize [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutExtFieldWithSize x'2]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{localized_image = P'.append (localized_image old'Self) new'Field})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TranslatedImage) TranslatedImage where
- getVal m' f' = f' m'
-
-instance P'.GPB TranslatedImage
-
-instance P'.ReflectDescriptor TranslatedImage where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.localized_image\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName' = FName \"localized_image\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TranslatedImage where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TranslatedImage where
- textPut msg
- = do
- P'.tellT "localized_image" (localized_image msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'localized_image]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'localized_image
- = Prelude'.fmap (\ v o -> o{localized_image = P'.append (localized_image o) v}) (P'.try (P'.getT "localized_image")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs b/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs
deleted file mode 100644
index d1bc9ab..0000000
--- a/gtfs/GTFS/Realtime/TranslatedImage/LocalizedImage.hs
+++ /dev/null
@@ -1,101 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TranslatedImage.LocalizedImage (LocalizedImage(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data LocalizedImage = LocalizedImage{url :: !(P'.Utf8), media_type :: !(P'.Utf8), language :: !(P'.Maybe P'.Utf8),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage LocalizedImage where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable LocalizedImage where
- mergeAppend (LocalizedImage x'1 x'2 x'3 x'4) (LocalizedImage y'1 y'2 y'3 y'4)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- in LocalizedImage z'1 z'2 z'3 z'4
-
-instance P'.Default LocalizedImage where
- defaultValue = LocalizedImage P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire LocalizedImage where
- wireSize ft' self'@(LocalizedImage x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeReq 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeExtField x'4)
- wirePutWithSize ft' self'@(LocalizedImage x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutReqWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3,
- P'.wirePutExtFieldWithSize x'4]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{url = new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{media_type = new'Field}) (P'.wireGet 9)
- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{language = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> LocalizedImage) LocalizedImage where
- getVal m' f' = f' m'
-
-instance P'.GPB LocalizedImage
-
-instance P'.ReflectDescriptor LocalizedImage where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10, 18]) (P'.fromDistinctAscList [10, 18, 26])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedImage.LocalizedImage\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\"], baseName = MName \"LocalizedImage\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedImage\",\"LocalizedImage.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.url\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"url\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.media_type\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"media_type\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedImage.LocalizedImage.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedImage\",MName \"LocalizedImage\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType LocalizedImage where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg LocalizedImage where
- textPut msg
- = do
- P'.tellT "url" (url msg)
- P'.tellT "media_type" (media_type msg)
- P'.tellT "language" (language msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'url, parse'media_type, parse'language]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'url = Prelude'.fmap (\ v o -> o{url = v}) (P'.try (P'.getT "url"))
- parse'media_type = Prelude'.fmap (\ v o -> o{media_type = v}) (P'.try (P'.getT "media_type"))
- parse'language = Prelude'.fmap (\ v o -> o{language = v}) (P'.try (P'.getT "language")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TranslatedString.hs b/gtfs/GTFS/Realtime/TranslatedString.hs
deleted file mode 100644
index 3d270ce..0000000
--- a/gtfs/GTFS/Realtime/TranslatedString.hs
+++ /dev/null
@@ -1,92 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TranslatedString (TranslatedString(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TranslatedString.Translation as GTFS.Realtime.TranslatedString
-
-data TranslatedString = TranslatedString{translation :: !(P'.Seq GTFS.Realtime.TranslatedString.Translation),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TranslatedString where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TranslatedString where
- mergeAppend (TranslatedString x'1 x'2) (TranslatedString y'1 y'2)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- in TranslatedString z'1 z'2
-
-instance P'.Default TranslatedString where
- defaultValue = TranslatedString P'.defaultValue P'.defaultValue
-
-instance P'.Wire TranslatedString where
- wireSize ft' self'@(TranslatedString x'1 x'2)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeRep 1 11 x'1 + P'.wireSizeExtField x'2)
- wirePutWithSize ft' self'@(TranslatedString x'1 x'2)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields = P'.sequencePutWithSize [P'.wirePutRepWithSize 10 11 x'1, P'.wirePutExtFieldWithSize x'2]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{translation = P'.append (translation old'Self) new'Field})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TranslatedString) TranslatedString where
- getVal m' f' = f' m'
-
-instance P'.GPB TranslatedString
-
-instance P'.ReflectDescriptor TranslatedString where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TranslatedString\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.translation\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName' = FName \"translation\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TranslatedString where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TranslatedString where
- textPut msg
- = do
- P'.tellT "translation" (translation msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'translation]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'translation = Prelude'.fmap (\ v o -> o{translation = P'.append (translation o) v}) (P'.try (P'.getT "translation")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TranslatedString/Translation.hs b/gtfs/GTFS/Realtime/TranslatedString/Translation.hs
deleted file mode 100644
index 8ff7e1c..0000000
--- a/gtfs/GTFS/Realtime/TranslatedString/Translation.hs
+++ /dev/null
@@ -1,94 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TranslatedString.Translation (Translation(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data Translation = Translation{text :: !(P'.Utf8), language :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage Translation where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable Translation where
- mergeAppend (Translation x'1 x'2 x'3) (Translation y'1 y'2 y'3)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- in Translation z'1 z'2 z'3
-
-instance P'.Default Translation where
- defaultValue = Translation P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire Translation where
- wireSize ft' self'@(Translation x'1 x'2 x'3)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeReq 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeExtField x'3)
- wirePutWithSize ft' self'@(Translation x'1 x'2 x'3)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize [P'.wirePutReqWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutExtFieldWithSize x'3]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{text = new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{language = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> Translation) Translation where
- getVal m' f' = f' m'
-
-instance P'.GPB Translation
-
-instance P'.ReflectDescriptor Translation where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TranslatedString.Translation\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\"], baseName = MName \"Translation\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TranslatedString\",\"Translation.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.text\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"text\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TranslatedString.Translation.language\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TranslatedString\",MName \"Translation\"], baseName' = FName \"language\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType Translation where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg Translation where
- textPut msg
- = do
- P'.tellT "text" (text msg)
- P'.tellT "language" (language msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'text, parse'language]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'text = Prelude'.fmap (\ v o -> o{text = v}) (P'.try (P'.getT "text"))
- parse'language = Prelude'.fmap (\ v o -> o{language = v}) (P'.try (P'.getT "language")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripDescriptor.hs b/gtfs/GTFS/Realtime/TripDescriptor.hs
deleted file mode 100644
index 501f196..0000000
--- a/gtfs/GTFS/Realtime/TripDescriptor.hs
+++ /dev/null
@@ -1,128 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripDescriptor (TripDescriptor(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TripDescriptor.ScheduleRelationship as GTFS.Realtime.TripDescriptor
-
-data TripDescriptor = TripDescriptor{trip_id :: !(P'.Maybe P'.Utf8), route_id :: !(P'.Maybe P'.Utf8),
- direction_id :: !(P'.Maybe P'.Word32), start_time :: !(P'.Maybe P'.Utf8),
- start_date :: !(P'.Maybe P'.Utf8),
- schedule_relationship :: !(P'.Maybe GTFS.Realtime.TripDescriptor.ScheduleRelationship),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TripDescriptor where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TripDescriptor where
- mergeAppend (TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7) (TripDescriptor y'1 y'2 y'3 y'4 y'5 y'6 y'7)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- in TripDescriptor z'1 z'2 z'3 z'4 z'5 z'6 z'7
-
-instance P'.Default TripDescriptor where
- defaultValue
- = TripDescriptor P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire TripDescriptor where
- wireSize ft' self'@(TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 13 x'3 + P'.wireSizeOpt 1 9 x'4 +
- P'.wireSizeOpt 1 9 x'5
- + P'.wireSizeOpt 1 14 x'6
- + P'.wireSizeExtField x'7)
- wirePutWithSize ft' self'@(TripDescriptor x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'4, P'.wirePutOptWithSize 26 9 x'5,
- P'.wirePutOptWithSize 32 14 x'6, P'.wirePutOptWithSize 42 9 x'2, P'.wirePutOptWithSize 48 13 x'3,
- P'.wirePutExtFieldWithSize x'7]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 42 -> Prelude'.fmap (\ !new'Field -> old'Self{route_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 48 -> Prelude'.fmap (\ !new'Field -> old'Self{direction_id = Prelude'.Just new'Field}) (P'.wireGet 13)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{start_time = Prelude'.Just new'Field}) (P'.wireGet 9)
- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{start_date = Prelude'.Just new'Field}) (P'.wireGet 9)
- 32 -> Prelude'.fmap (\ !new'Field -> old'Self{schedule_relationship = Prelude'.Just new'Field}) (P'.wireGet 14)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TripDescriptor) TripDescriptor where
- getVal m' f' = f' m'
-
-instance P'.GPB TripDescriptor
-
-instance P'.ReflectDescriptor TripDescriptor where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26, 32, 42, 48])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.route_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"route_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 42}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.direction_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"direction_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripDescriptor.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripDescriptor\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TripDescriptor where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TripDescriptor where
- textPut msg
- = do
- P'.tellT "trip_id" (trip_id msg)
- P'.tellT "route_id" (route_id msg)
- P'.tellT "direction_id" (direction_id msg)
- P'.tellT "start_time" (start_time msg)
- P'.tellT "start_date" (start_date msg)
- P'.tellT "schedule_relationship" (schedule_relationship msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice
- [parse'trip_id, parse'route_id, parse'direction_id, parse'start_time, parse'start_date,
- parse'schedule_relationship])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'trip_id = Prelude'.fmap (\ v o -> o{trip_id = v}) (P'.try (P'.getT "trip_id"))
- parse'route_id = Prelude'.fmap (\ v o -> o{route_id = v}) (P'.try (P'.getT "route_id"))
- parse'direction_id = Prelude'.fmap (\ v o -> o{direction_id = v}) (P'.try (P'.getT "direction_id"))
- parse'start_time = Prelude'.fmap (\ v o -> o{start_time = v}) (P'.try (P'.getT "start_time"))
- parse'start_date = Prelude'.fmap (\ v o -> o{start_date = v}) (P'.try (P'.getT "start_date"))
- parse'schedule_relationship
- = Prelude'.fmap (\ v o -> o{schedule_relationship = v}) (P'.try (P'.getT "schedule_relationship")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs b/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs
deleted file mode 100644
index 2a4c150..0000000
--- a/gtfs/GTFS/Realtime/TripDescriptor/ScheduleRelationship.hs
+++ /dev/null
@@ -1,91 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripDescriptor.ScheduleRelationship (ScheduleRelationship(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data ScheduleRelationship = SCHEDULED
- | ADDED
- | UNSCHEDULED
- | CANCELED
- | REPLACEMENT
- | DUPLICATED
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable ScheduleRelationship
-
-instance Prelude'.Bounded ScheduleRelationship where
- minBound = SCHEDULED
- maxBound = DUPLICATED
-
-instance P'.Default ScheduleRelationship where
- defaultValue = SCHEDULED
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe ScheduleRelationship
-toMaybe'Enum 0 = Prelude'.Just SCHEDULED
-toMaybe'Enum 1 = Prelude'.Just ADDED
-toMaybe'Enum 2 = Prelude'.Just UNSCHEDULED
-toMaybe'Enum 3 = Prelude'.Just CANCELED
-toMaybe'Enum 5 = Prelude'.Just REPLACEMENT
-toMaybe'Enum 6 = Prelude'.Just DUPLICATED
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum ScheduleRelationship where
- fromEnum SCHEDULED = 0
- fromEnum ADDED = 1
- fromEnum UNSCHEDULED = 2
- fromEnum CANCELED = 3
- fromEnum REPLACEMENT = 5
- fromEnum DUPLICATED = 6
- toEnum
- = P'.fromMaybe
- (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship")
- . toMaybe'Enum
- succ SCHEDULED = ADDED
- succ ADDED = UNSCHEDULED
- succ UNSCHEDULED = CANCELED
- succ CANCELED = REPLACEMENT
- succ REPLACEMENT = DUPLICATED
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship"
- pred ADDED = SCHEDULED
- pred UNSCHEDULED = ADDED
- pred CANCELED = UNSCHEDULED
- pred REPLACEMENT = CANCELED
- pred DUPLICATED = REPLACEMENT
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripDescriptor.ScheduleRelationship"
-
-instance P'.Wire ScheduleRelationship where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB ScheduleRelationship
-
-instance P'.MessageAPI msg' (msg' -> ScheduleRelationship) ScheduleRelationship where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum ScheduleRelationship where
- reflectEnum
- = [(0, "SCHEDULED", SCHEDULED), (1, "ADDED", ADDED), (2, "UNSCHEDULED", UNSCHEDULED), (3, "CANCELED", CANCELED),
- (5, "REPLACEMENT", REPLACEMENT), (6, "DUPLICATED", DUPLICATED)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.TripDescriptor.ScheduleRelationship") [] ["GTFS", "Realtime", "TripDescriptor"]
- "ScheduleRelationship")
- ["GTFS", "Realtime", "TripDescriptor", "ScheduleRelationship.hs"]
- [(0, "SCHEDULED"), (1, "ADDED"), (2, "UNSCHEDULED"), (3, "CANCELED"), (5, "REPLACEMENT"), (6, "DUPLICATED")]
- Prelude'.False
-
-instance P'.TextType ScheduleRelationship where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripUpdate.hs b/gtfs/GTFS/Realtime/TripUpdate.hs
deleted file mode 100644
index 24ef425..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate.hs
+++ /dev/null
@@ -1,133 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate (TripUpdate(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime
-import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate as GTFS.Realtime.TripUpdate
-import qualified GTFS.Realtime.TripUpdate.TripProperties as GTFS.Realtime.TripUpdate
-import qualified GTFS.Realtime.VehicleDescriptor as GTFS.Realtime
-
-data TripUpdate = TripUpdate{trip :: !(GTFS.Realtime.TripDescriptor), vehicle :: !(P'.Maybe GTFS.Realtime.VehicleDescriptor),
- stop_time_update :: !(P'.Seq GTFS.Realtime.TripUpdate.StopTimeUpdate),
- timestamp :: !(P'.Maybe P'.Word64), delay :: !(P'.Maybe P'.Int32),
- trip_properties :: !(P'.Maybe GTFS.Realtime.TripUpdate.TripProperties), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TripUpdate where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TripUpdate where
- mergeAppend (TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7) (TripUpdate y'1 y'2 y'3 y'4 y'5 y'6 y'7)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- in TripUpdate z'1 z'2 z'3 z'4 z'5 z'6 z'7
-
-instance P'.Default TripUpdate where
- defaultValue
- = TripUpdate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire TripUpdate where
- wireSize ft' self'@(TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeReq 1 11 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeRep 1 11 x'3 + P'.wireSizeOpt 1 4 x'4 +
- P'.wireSizeOpt 1 5 x'5
- + P'.wireSizeOpt 1 11 x'6
- + P'.wireSizeExtField x'7)
- wirePutWithSize ft' self'@(TripUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutReqWithSize 10 11 x'1, P'.wirePutRepWithSize 18 11 x'3, P'.wirePutOptWithSize 26 11 x'2,
- P'.wirePutOptWithSize 32 4 x'4, P'.wirePutOptWithSize 40 5 x'5, P'.wirePutOptWithSize 50 11 x'6,
- P'.wirePutExtFieldWithSize x'7]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (new'Field)}) (P'.wireGet 11)
- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_time_update = P'.append (stop_time_update old'Self) new'Field})
- (P'.wireGet 11)
- 32 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4)
- 40 -> Prelude'.fmap (\ !new'Field -> old'Self{delay = Prelude'.Just new'Field}) (P'.wireGet 5)
- 50 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{trip_properties = P'.mergeAppend (trip_properties old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TripUpdate) TripUpdate where
- getVal m' f' = f' m'
-
-instance P'.GPB TripUpdate
-
-instance P'.ReflectDescriptor TripUpdate where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList [10]) (P'.fromDistinctAscList [10, 18, 26, 32, 40, 50])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = True, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.stop_time_update\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"stop_time_update\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.trip_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName' = FName \"trip_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TripUpdate where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TripUpdate where
- textPut msg
- = do
- P'.tellT "trip" (trip msg)
- P'.tellT "vehicle" (vehicle msg)
- P'.tellT "stop_time_update" (stop_time_update msg)
- P'.tellT "timestamp" (timestamp msg)
- P'.tellT "delay" (delay msg)
- P'.tellT "trip_properties" (trip_properties msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice [parse'trip, parse'vehicle, parse'stop_time_update, parse'timestamp, parse'delay, parse'trip_properties])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip"))
- parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle"))
- parse'stop_time_update
- = Prelude'.fmap (\ v o -> o{stop_time_update = P'.append (stop_time_update o) v}) (P'.try (P'.getT "stop_time_update"))
- parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp"))
- parse'delay = Prelude'.fmap (\ v o -> o{delay = v}) (P'.try (P'.getT "delay"))
- parse'trip_properties = Prelude'.fmap (\ v o -> o{trip_properties = v}) (P'.try (P'.getT "trip_properties")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs
deleted file mode 100644
index 0005e4c..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeEvent.hs
+++ /dev/null
@@ -1,101 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate.StopTimeEvent (StopTimeEvent(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data StopTimeEvent = StopTimeEvent{delay :: !(P'.Maybe P'.Int32), time :: !(P'.Maybe P'.Int64), uncertainty :: !(P'.Maybe P'.Int32),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage StopTimeEvent where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable StopTimeEvent where
- mergeAppend (StopTimeEvent x'1 x'2 x'3 x'4) (StopTimeEvent y'1 y'2 y'3 y'4)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- in StopTimeEvent z'1 z'2 z'3 z'4
-
-instance P'.Default StopTimeEvent where
- defaultValue = StopTimeEvent P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire StopTimeEvent where
- wireSize ft' self'@(StopTimeEvent x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeOpt 1 5 x'1 + P'.wireSizeOpt 1 3 x'2 + P'.wireSizeOpt 1 5 x'3 + P'.wireSizeExtField x'4)
- wirePutWithSize ft' self'@(StopTimeEvent x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 8 5 x'1, P'.wirePutOptWithSize 16 3 x'2, P'.wirePutOptWithSize 24 5 x'3,
- P'.wirePutExtFieldWithSize x'4]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{delay = Prelude'.Just new'Field}) (P'.wireGet 5)
- 16 -> Prelude'.fmap (\ !new'Field -> old'Self{time = Prelude'.Just new'Field}) (P'.wireGet 3)
- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{uncertainty = Prelude'.Just new'Field}) (P'.wireGet 5)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> StopTimeEvent) StopTimeEvent where
- getVal m' f' = f' m'
-
-instance P'.GPB StopTimeEvent
-
-instance P'.ReflectDescriptor StopTimeEvent where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 16, 24])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeEvent.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.delay\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"delay\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 16}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 3}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeEvent.uncertainty\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeEvent\"], baseName' = FName \"uncertainty\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType StopTimeEvent where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg StopTimeEvent where
- textPut msg
- = do
- P'.tellT "delay" (delay msg)
- P'.tellT "time" (time msg)
- P'.tellT "uncertainty" (uncertainty msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'delay, parse'time, parse'uncertainty]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'delay = Prelude'.fmap (\ v o -> o{delay = v}) (P'.try (P'.getT "delay"))
- parse'time = Prelude'.fmap (\ v o -> o{time = v}) (P'.try (P'.getT "time"))
- parse'uncertainty = Prelude'.fmap (\ v o -> o{uncertainty = v}) (P'.try (P'.getT "uncertainty")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs
deleted file mode 100644
index 25ae353..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate.hs
+++ /dev/null
@@ -1,149 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate.StopTimeUpdate (StopTimeUpdate(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.TripUpdate.StopTimeEvent as GTFS.Realtime.TripUpdate
-import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship as GTFS.Realtime.TripUpdate.StopTimeUpdate
-import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties as GTFS.Realtime.TripUpdate.StopTimeUpdate
-import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition
-
-data StopTimeUpdate = StopTimeUpdate{stop_sequence :: !(P'.Maybe P'.Word32), stop_id :: !(P'.Maybe P'.Utf8),
- arrival :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeEvent),
- departure :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeEvent),
- departure_occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus),
- schedule_relationship ::
- !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship),
- stop_time_properties :: !(P'.Maybe GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage StopTimeUpdate where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable StopTimeUpdate where
- mergeAppend (StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8) (StopTimeUpdate y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- !z'8 = P'.mergeAppend x'8 y'8
- in StopTimeUpdate z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8
-
-instance P'.Default StopTimeUpdate where
- defaultValue
- = StopTimeUpdate P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
-
-instance P'.Wire StopTimeUpdate where
- wireSize ft' self'@(StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 13 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 11 x'4 +
- P'.wireSizeOpt 1 14 x'5
- + P'.wireSizeOpt 1 14 x'6
- + P'.wireSizeOpt 1 11 x'7
- + P'.wireSizeExtField x'8)
- wirePutWithSize ft' self'@(StopTimeUpdate x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 8 13 x'1, P'.wirePutOptWithSize 18 11 x'3, P'.wirePutOptWithSize 26 11 x'4,
- P'.wirePutOptWithSize 34 9 x'2, P'.wirePutOptWithSize 40 14 x'6, P'.wirePutOptWithSize 50 11 x'7,
- P'.wirePutOptWithSize 56 14 x'5, P'.wirePutExtFieldWithSize x'8]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 8 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_sequence = Prelude'.Just new'Field}) (P'.wireGet 13)
- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{arrival = P'.mergeAppend (arrival old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 26 -> Prelude'.fmap
- (\ !new'Field -> old'Self{departure = P'.mergeAppend (departure old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 56 -> Prelude'.fmap (\ !new'Field -> old'Self{departure_occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14)
- 40 -> Prelude'.fmap (\ !new'Field -> old'Self{schedule_relationship = Prelude'.Just new'Field}) (P'.wireGet 14)
- 50 -> Prelude'.fmap
- (\ !new'Field ->
- old'Self{stop_time_properties = P'.mergeAppend (stop_time_properties old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> StopTimeUpdate) StopTimeUpdate where
- getVal m' f' = f' m'
-
-instance P'.GPB StopTimeUpdate
-
-instance P'.ReflectDescriptor StopTimeUpdate where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [8, 18, 26, 34, 40, 50, 56])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeUpdate\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 8}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.arrival\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"arrival\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeEvent\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"StopTimeEvent\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.departure_occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"departure_occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 56}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.schedule_relationship\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"schedule_relationship\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"ScheduleRelationship\"}), hsRawDefault = Just \"SCHEDULED\", hsDefault = Just (HsDef'Enum \"SCHEDULED\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.stop_time_properties\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName' = FName \"stop_time_properties\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 50}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType StopTimeUpdate where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg StopTimeUpdate where
- textPut msg
- = do
- P'.tellT "stop_sequence" (stop_sequence msg)
- P'.tellT "stop_id" (stop_id msg)
- P'.tellT "arrival" (arrival msg)
- P'.tellT "departure" (departure msg)
- P'.tellT "departure_occupancy_status" (departure_occupancy_status msg)
- P'.tellT "schedule_relationship" (schedule_relationship msg)
- P'.tellT "stop_time_properties" (stop_time_properties msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice
- [parse'stop_sequence, parse'stop_id, parse'arrival, parse'departure, parse'departure_occupancy_status,
- parse'schedule_relationship, parse'stop_time_properties])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'stop_sequence = Prelude'.fmap (\ v o -> o{stop_sequence = v}) (P'.try (P'.getT "stop_sequence"))
- parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id"))
- parse'arrival = Prelude'.fmap (\ v o -> o{arrival = v}) (P'.try (P'.getT "arrival"))
- parse'departure = Prelude'.fmap (\ v o -> o{departure = v}) (P'.try (P'.getT "departure"))
- parse'departure_occupancy_status
- = Prelude'.fmap (\ v o -> o{departure_occupancy_status = v}) (P'.try (P'.getT "departure_occupancy_status"))
- parse'schedule_relationship
- = Prelude'.fmap (\ v o -> o{schedule_relationship = v}) (P'.try (P'.getT "schedule_relationship"))
- parse'stop_time_properties = Prelude'.fmap (\ v o -> o{stop_time_properties = v}) (P'.try (P'.getT "stop_time_properties"))
diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs
deleted file mode 100644
index 050ac88..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/ScheduleRelationship.hs
+++ /dev/null
@@ -1,83 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship (ScheduleRelationship(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data ScheduleRelationship = SCHEDULED
- | SKIPPED
- | NO_DATA
- | UNSCHEDULED
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable ScheduleRelationship
-
-instance Prelude'.Bounded ScheduleRelationship where
- minBound = SCHEDULED
- maxBound = UNSCHEDULED
-
-instance P'.Default ScheduleRelationship where
- defaultValue = SCHEDULED
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe ScheduleRelationship
-toMaybe'Enum 0 = Prelude'.Just SCHEDULED
-toMaybe'Enum 1 = Prelude'.Just SKIPPED
-toMaybe'Enum 2 = Prelude'.Just NO_DATA
-toMaybe'Enum 3 = Prelude'.Just UNSCHEDULED
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum ScheduleRelationship where
- fromEnum SCHEDULED = 0
- fromEnum SKIPPED = 1
- fromEnum NO_DATA = 2
- fromEnum UNSCHEDULED = 3
- toEnum
- = P'.fromMaybe
- (Prelude'.error
- "hprotoc generated code: toEnum failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship")
- . toMaybe'Enum
- succ SCHEDULED = SKIPPED
- succ SKIPPED = NO_DATA
- succ NO_DATA = UNSCHEDULED
- succ _
- = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship"
- pred SKIPPED = SCHEDULED
- pred NO_DATA = SKIPPED
- pred UNSCHEDULED = NO_DATA
- pred _
- = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship"
-
-instance P'.Wire ScheduleRelationship where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB ScheduleRelationship
-
-instance P'.MessageAPI msg' (msg' -> ScheduleRelationship) ScheduleRelationship where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum ScheduleRelationship where
- reflectEnum = [(0, "SCHEDULED", SCHEDULED), (1, "SKIPPED", SKIPPED), (2, "NO_DATA", NO_DATA), (3, "UNSCHEDULED", UNSCHEDULED)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship") []
- ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate"]
- "ScheduleRelationship")
- ["GTFS", "Realtime", "TripUpdate", "StopTimeUpdate", "ScheduleRelationship.hs"]
- [(0, "SCHEDULED"), (1, "SKIPPED"), (2, "NO_DATA"), (3, "UNSCHEDULED")]
- Prelude'.False
-
-instance P'.TextType ScheduleRelationship where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs b/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs
deleted file mode 100644
index 8784522..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate/StopTimeUpdate/StopTimeProperties.hs
+++ /dev/null
@@ -1,89 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties (StopTimeProperties(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data StopTimeProperties = StopTimeProperties{assigned_stop_id :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage StopTimeProperties where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable StopTimeProperties where
- mergeAppend (StopTimeProperties x'1 x'2) (StopTimeProperties y'1 y'2)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- in StopTimeProperties z'1 z'2
-
-instance P'.Default StopTimeProperties where
- defaultValue = StopTimeProperties P'.defaultValue P'.defaultValue
-
-instance P'.Wire StopTimeProperties where
- wireSize ft' self'@(StopTimeProperties x'1 x'2)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeExtField x'2)
- wirePutWithSize ft' self'@(StopTimeProperties x'1 x'2)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields = P'.sequencePutWithSize [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutExtFieldWithSize x'2]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{assigned_stop_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> StopTimeProperties) StopTimeProperties where
- getVal m' f' = f' m'
-
-instance P'.GPB StopTimeProperties
-
-instance P'.ReflectDescriptor StopTimeProperties where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\"], baseName = MName \"StopTimeProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"StopTimeUpdate\",\"StopTimeProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.StopTimeUpdate.StopTimeProperties.assigned_stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"StopTimeUpdate\",MName \"StopTimeProperties\"], baseName' = FName \"assigned_stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType StopTimeProperties where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg StopTimeProperties where
- textPut msg
- = do
- P'.tellT "assigned_stop_id" (assigned_stop_id msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'assigned_stop_id]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'assigned_stop_id = Prelude'.fmap (\ v o -> o{assigned_stop_id = v}) (P'.try (P'.getT "assigned_stop_id")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs b/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs
deleted file mode 100644
index ad66022..0000000
--- a/gtfs/GTFS/Realtime/TripUpdate/TripProperties.hs
+++ /dev/null
@@ -1,108 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.TripUpdate.TripProperties (TripProperties(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data TripProperties = TripProperties{trip_id :: !(P'.Maybe P'.Utf8), start_date :: !(P'.Maybe P'.Utf8),
- start_time :: !(P'.Maybe P'.Utf8), shape_id :: !(P'.Maybe P'.Utf8),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage TripProperties where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable TripProperties where
- mergeAppend (TripProperties x'1 x'2 x'3 x'4 x'5) (TripProperties y'1 y'2 y'3 y'4 y'5)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- in TripProperties z'1 z'2 z'3 z'4 z'5
-
-instance P'.Default TripProperties where
- defaultValue = TripProperties P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire TripProperties where
- wireSize ft' self'@(TripProperties x'1 x'2 x'3 x'4 x'5)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeOpt 1 9 x'4 +
- P'.wireSizeExtField x'5)
- wirePutWithSize ft' self'@(TripProperties x'1 x'2 x'3 x'4 x'5)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3,
- P'.wirePutOptWithSize 34 9 x'4, P'.wirePutExtFieldWithSize x'5]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{start_date = Prelude'.Just new'Field}) (P'.wireGet 9)
- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{start_time = Prelude'.Just new'Field}) (P'.wireGet 9)
- 34 -> Prelude'.fmap (\ !new'Field -> old'Self{shape_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> TripProperties) TripProperties where
- getVal m' f' = f' m'
-
-instance P'.GPB TripProperties
-
-instance P'.ReflectDescriptor TripProperties where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26, 34])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.TripUpdate.TripProperties\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\"], baseName = MName \"TripProperties\"}, descFilePath = [\"GTFS\",\"Realtime\",\"TripUpdate\",\"TripProperties.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.trip_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"trip_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_date\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_date\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.start_time\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"start_time\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.TripUpdate.TripProperties.shape_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"TripUpdate\",MName \"TripProperties\"], baseName' = FName \"shape_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 34}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType TripProperties where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg TripProperties where
- textPut msg
- = do
- P'.tellT "trip_id" (trip_id msg)
- P'.tellT "start_date" (start_date msg)
- P'.tellT "start_time" (start_time msg)
- P'.tellT "shape_id" (shape_id msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'trip_id, parse'start_date, parse'start_time, parse'shape_id]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'trip_id = Prelude'.fmap (\ v o -> o{trip_id = v}) (P'.try (P'.getT "trip_id"))
- parse'start_date = Prelude'.fmap (\ v o -> o{start_date = v}) (P'.try (P'.getT "start_date"))
- parse'start_time = Prelude'.fmap (\ v o -> o{start_time = v}) (P'.try (P'.getT "start_time"))
- parse'shape_id = Prelude'.fmap (\ v o -> o{shape_id = v}) (P'.try (P'.getT "shape_id")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehicleDescriptor.hs b/gtfs/GTFS/Realtime/VehicleDescriptor.hs
deleted file mode 100644
index 41bd0fa..0000000
--- a/gtfs/GTFS/Realtime/VehicleDescriptor.hs
+++ /dev/null
@@ -1,101 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehicleDescriptor (VehicleDescriptor(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data VehicleDescriptor = VehicleDescriptor{id :: !(P'.Maybe P'.Utf8), label :: !(P'.Maybe P'.Utf8),
- license_plate :: !(P'.Maybe P'.Utf8), ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage VehicleDescriptor where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable VehicleDescriptor where
- mergeAppend (VehicleDescriptor x'1 x'2 x'3 x'4) (VehicleDescriptor y'1 y'2 y'3 y'4)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- in VehicleDescriptor z'1 z'2 z'3 z'4
-
-instance P'.Default VehicleDescriptor where
- defaultValue = VehicleDescriptor P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
-
-instance P'.Wire VehicleDescriptor where
- wireSize ft' self'@(VehicleDescriptor x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 9 x'3 + P'.wireSizeExtField x'4)
- wirePutWithSize ft' self'@(VehicleDescriptor x'1 x'2 x'3 x'4)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 26 9 x'3,
- P'.wirePutExtFieldWithSize x'4]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{label = Prelude'.Just new'Field}) (P'.wireGet 9)
- 26 -> Prelude'.fmap (\ !new'Field -> old'Self{license_plate = Prelude'.Just new'Field}) (P'.wireGet 9)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> VehicleDescriptor) VehicleDescriptor where
- getVal m' f' = f' m'
-
-instance P'.GPB VehicleDescriptor
-
-instance P'.ReflectDescriptor VehicleDescriptor where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 26])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehicleDescriptor.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehicleDescriptor.license_plate\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehicleDescriptor\"], baseName' = FName \"license_plate\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 26}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType VehicleDescriptor where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg VehicleDescriptor where
- textPut msg
- = do
- P'.tellT "id" (id msg)
- P'.tellT "label" (label msg)
- P'.tellT "license_plate" (license_plate msg)
- textGet
- = do
- mods <- P'.sepEndBy (P'.choice [parse'id, parse'label, parse'license_plate]) P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id"))
- parse'label = Prelude'.fmap (\ v o -> o{label = v}) (P'.try (P'.getT "label"))
- parse'license_plate = Prelude'.fmap (\ v o -> o{license_plate = v}) (P'.try (P'.getT "license_plate")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehiclePosition.hs b/gtfs/GTFS/Realtime/VehiclePosition.hs
deleted file mode 100644
index da2cb12..0000000
--- a/gtfs/GTFS/Realtime/VehiclePosition.hs
+++ /dev/null
@@ -1,183 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehiclePosition (VehiclePosition(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.Position as GTFS.Realtime
-import qualified GTFS.Realtime.TripDescriptor as GTFS.Realtime
-import qualified GTFS.Realtime.VehicleDescriptor as GTFS.Realtime
-import qualified GTFS.Realtime.VehiclePosition.CarriageDetails as GTFS.Realtime.VehiclePosition
-import qualified GTFS.Realtime.VehiclePosition.CongestionLevel as GTFS.Realtime.VehiclePosition
-import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition
-import qualified GTFS.Realtime.VehiclePosition.VehicleStopStatus as GTFS.Realtime.VehiclePosition
-
-data VehiclePosition = VehiclePosition{trip :: !(P'.Maybe GTFS.Realtime.TripDescriptor),
- vehicle :: !(P'.Maybe GTFS.Realtime.VehicleDescriptor),
- position :: !(P'.Maybe GTFS.Realtime.Position),
- current_stop_sequence :: !(P'.Maybe P'.Word32), stop_id :: !(P'.Maybe P'.Utf8),
- current_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.VehicleStopStatus),
- timestamp :: !(P'.Maybe P'.Word64),
- congestion_level :: !(P'.Maybe GTFS.Realtime.VehiclePosition.CongestionLevel),
- occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus),
- occupancy_percentage :: !(P'.Maybe P'.Word32),
- multi_carriage_details :: !(P'.Seq GTFS.Realtime.VehiclePosition.CarriageDetails),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage VehiclePosition where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable VehiclePosition where
- mergeAppend (VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12)
- (VehiclePosition y'1 y'2 y'3 y'4 y'5 y'6 y'7 y'8 y'9 y'10 y'11 y'12)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- !z'7 = P'.mergeAppend x'7 y'7
- !z'8 = P'.mergeAppend x'8 y'8
- !z'9 = P'.mergeAppend x'9 y'9
- !z'10 = P'.mergeAppend x'10 y'10
- !z'11 = P'.mergeAppend x'11 y'11
- !z'12 = P'.mergeAppend x'12 y'12
- in VehiclePosition z'1 z'2 z'3 z'4 z'5 z'6 z'7 z'8 z'9 z'10 z'11 z'12
-
-instance P'.Default VehiclePosition where
- defaultValue
- = VehiclePosition P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue P'.defaultValue
- (Prelude'.Just (Prelude'.read "IN_TRANSIT_TO"))
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
- P'.defaultValue
-
-instance P'.Wire VehiclePosition where
- wireSize ft' self'@(VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 11 x'1 + P'.wireSizeOpt 1 11 x'2 + P'.wireSizeOpt 1 11 x'3 + P'.wireSizeOpt 1 13 x'4 +
- P'.wireSizeOpt 1 9 x'5
- + P'.wireSizeOpt 1 14 x'6
- + P'.wireSizeOpt 1 4 x'7
- + P'.wireSizeOpt 1 14 x'8
- + P'.wireSizeOpt 1 14 x'9
- + P'.wireSizeOpt 1 13 x'10
- + P'.wireSizeRep 1 11 x'11
- + P'.wireSizeExtField x'12)
- wirePutWithSize ft' self'@(VehiclePosition x'1 x'2 x'3 x'4 x'5 x'6 x'7 x'8 x'9 x'10 x'11 x'12)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 11 x'1, P'.wirePutOptWithSize 18 11 x'3, P'.wirePutOptWithSize 24 13 x'4,
- P'.wirePutOptWithSize 32 14 x'6, P'.wirePutOptWithSize 40 4 x'7, P'.wirePutOptWithSize 48 14 x'8,
- P'.wirePutOptWithSize 58 9 x'5, P'.wirePutOptWithSize 66 11 x'2, P'.wirePutOptWithSize 72 14 x'9,
- P'.wirePutOptWithSize 80 13 x'10, P'.wirePutRepWithSize 90 11 x'11, P'.wirePutExtFieldWithSize x'12]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{trip = P'.mergeAppend (trip old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 66 -> Prelude'.fmap (\ !new'Field -> old'Self{vehicle = P'.mergeAppend (vehicle old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{position = P'.mergeAppend (position old'Self) (Prelude'.Just new'Field)})
- (P'.wireGet 11)
- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{current_stop_sequence = Prelude'.Just new'Field}) (P'.wireGet 13)
- 58 -> Prelude'.fmap (\ !new'Field -> old'Self{stop_id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 32 -> Prelude'.fmap (\ !new'Field -> old'Self{current_status = Prelude'.Just new'Field}) (P'.wireGet 14)
- 40 -> Prelude'.fmap (\ !new'Field -> old'Self{timestamp = Prelude'.Just new'Field}) (P'.wireGet 4)
- 48 -> Prelude'.fmap (\ !new'Field -> old'Self{congestion_level = Prelude'.Just new'Field}) (P'.wireGet 14)
- 72 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14)
- 80 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_percentage = Prelude'.Just new'Field}) (P'.wireGet 13)
- 90 -> Prelude'.fmap
- (\ !new'Field -> old'Self{multi_carriage_details = P'.append (multi_carriage_details old'Self) new'Field})
- (P'.wireGet 11)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> VehiclePosition) VehiclePosition where
- getVal m' f' = f' m'
-
-instance P'.GPB VehiclePosition
-
-instance P'.ReflectDescriptor VehiclePosition where
- getMessageInfo _
- = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 32, 40, 48, 58, 66, 72, 80, 90])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehiclePosition\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.trip\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"trip\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.TripDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"TripDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.vehicle\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"vehicle\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 8}, wireTag = WireTag {getWireTag = 66}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehicleDescriptor\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"VehicleDescriptor\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.position\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"position\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.Position\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\"], baseName = MName \"Position\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_stop_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_stop_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.stop_id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"stop_id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 7}, wireTag = WireTag {getWireTag = 58}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.current_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"current_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.VehicleStopStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"VehicleStopStatus\"}), hsRawDefault = Just \"IN_TRANSIT_TO\", hsDefault = Just (HsDef'Enum \"IN_TRANSIT_TO\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.timestamp\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"timestamp\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 4}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.congestion_level\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"congestion_level\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 6}, wireTag = WireTag {getWireTag = 48}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CongestionLevel\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CongestionLevel\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 9}, wireTag = WireTag {getWireTag = 72}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 10}, wireTag = WireTag {getWireTag = 80}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.multi_carriage_details\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName' = FName \"multi_carriage_details\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 11}, wireTag = WireTag {getWireTag = 90}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = True, mightPack = False, typeCode = FieldType {getFieldType = 11}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}), hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType VehiclePosition where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg VehiclePosition where
- textPut msg
- = do
- P'.tellT "trip" (trip msg)
- P'.tellT "vehicle" (vehicle msg)
- P'.tellT "position" (position msg)
- P'.tellT "current_stop_sequence" (current_stop_sequence msg)
- P'.tellT "stop_id" (stop_id msg)
- P'.tellT "current_status" (current_status msg)
- P'.tellT "timestamp" (timestamp msg)
- P'.tellT "congestion_level" (congestion_level msg)
- P'.tellT "occupancy_status" (occupancy_status msg)
- P'.tellT "occupancy_percentage" (occupancy_percentage msg)
- P'.tellT "multi_carriage_details" (multi_carriage_details msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice
- [parse'trip, parse'vehicle, parse'position, parse'current_stop_sequence, parse'stop_id, parse'current_status,
- parse'timestamp, parse'congestion_level, parse'occupancy_status, parse'occupancy_percentage,
- parse'multi_carriage_details])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'trip = Prelude'.fmap (\ v o -> o{trip = v}) (P'.try (P'.getT "trip"))
- parse'vehicle = Prelude'.fmap (\ v o -> o{vehicle = v}) (P'.try (P'.getT "vehicle"))
- parse'position = Prelude'.fmap (\ v o -> o{position = v}) (P'.try (P'.getT "position"))
- parse'current_stop_sequence
- = Prelude'.fmap (\ v o -> o{current_stop_sequence = v}) (P'.try (P'.getT "current_stop_sequence"))
- parse'stop_id = Prelude'.fmap (\ v o -> o{stop_id = v}) (P'.try (P'.getT "stop_id"))
- parse'current_status = Prelude'.fmap (\ v o -> o{current_status = v}) (P'.try (P'.getT "current_status"))
- parse'timestamp = Prelude'.fmap (\ v o -> o{timestamp = v}) (P'.try (P'.getT "timestamp"))
- parse'congestion_level = Prelude'.fmap (\ v o -> o{congestion_level = v}) (P'.try (P'.getT "congestion_level"))
- parse'occupancy_status = Prelude'.fmap (\ v o -> o{occupancy_status = v}) (P'.try (P'.getT "occupancy_status"))
- parse'occupancy_percentage = Prelude'.fmap (\ v o -> o{occupancy_percentage = v}) (P'.try (P'.getT "occupancy_percentage"))
- parse'multi_carriage_details
- = Prelude'.fmap (\ v o -> o{multi_carriage_details = P'.append (multi_carriage_details o) v})
- (P'.try (P'.getT "multi_carriage_details")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs b/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs
deleted file mode 100644
index 1afba89..0000000
--- a/gtfs/GTFS/Realtime/VehiclePosition/CarriageDetails.hs
+++ /dev/null
@@ -1,120 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehiclePosition.CarriageDetails (CarriageDetails(..)) where
-import Prelude ((+), (/), (++), (.), (==), (<=), (&&))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-import qualified GTFS.Realtime.VehiclePosition.OccupancyStatus as GTFS.Realtime.VehiclePosition
-
-data CarriageDetails = CarriageDetails{id :: !(P'.Maybe P'.Utf8), label :: !(P'.Maybe P'.Utf8),
- occupancy_status :: !(P'.Maybe GTFS.Realtime.VehiclePosition.OccupancyStatus),
- occupancy_percentage :: !(P'.Maybe P'.Int32), carriage_sequence :: !(P'.Maybe P'.Word32),
- ext'field :: !(P'.ExtField)}
- deriving (Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data, Prelude'.Generic)
-
-instance P'.ExtendMessage CarriageDetails where
- getExtField = ext'field
- putExtField e'f msg = msg{ext'field = e'f}
- validExtRanges msg = P'.extRanges (P'.reflectDescriptorInfo msg)
-
-instance P'.Mergeable CarriageDetails where
- mergeAppend (CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6) (CarriageDetails y'1 y'2 y'3 y'4 y'5 y'6)
- = let !z'1 = P'.mergeAppend x'1 y'1
- !z'2 = P'.mergeAppend x'2 y'2
- !z'3 = P'.mergeAppend x'3 y'3
- !z'4 = P'.mergeAppend x'4 y'4
- !z'5 = P'.mergeAppend x'5 y'5
- !z'6 = P'.mergeAppend x'6 y'6
- in CarriageDetails z'1 z'2 z'3 z'4 z'5 z'6
-
-instance P'.Default CarriageDetails where
- defaultValue
- = CarriageDetails P'.defaultValue P'.defaultValue (Prelude'.Just (Prelude'.read "NO_DATA_AVAILABLE")) (Prelude'.Just (-1))
- P'.defaultValue
- P'.defaultValue
-
-instance P'.Wire CarriageDetails where
- wireSize ft' self'@(CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6)
- = case ft' of
- 10 -> calc'Size
- 11 -> P'.prependMessageSize calc'Size
- _ -> P'.wireSizeErr ft' self'
- where
- calc'Size
- = (P'.wireSizeOpt 1 9 x'1 + P'.wireSizeOpt 1 9 x'2 + P'.wireSizeOpt 1 14 x'3 + P'.wireSizeOpt 1 5 x'4 +
- P'.wireSizeOpt 1 13 x'5
- + P'.wireSizeExtField x'6)
- wirePutWithSize ft' self'@(CarriageDetails x'1 x'2 x'3 x'4 x'5 x'6)
- = case ft' of
- 10 -> put'Fields
- 11 -> put'FieldsSized
- _ -> P'.wirePutErr ft' self'
- where
- put'Fields
- = P'.sequencePutWithSize
- [P'.wirePutOptWithSize 10 9 x'1, P'.wirePutOptWithSize 18 9 x'2, P'.wirePutOptWithSize 24 14 x'3,
- P'.wirePutOptWithSize 32 5 x'4, P'.wirePutOptWithSize 40 13 x'5, P'.wirePutExtFieldWithSize x'6]
- put'FieldsSized
- = let size' = Prelude'.fst (P'.runPutM put'Fields)
- put'Size
- = do
- P'.putSize size'
- Prelude'.return (P'.size'WireSize size')
- in P'.sequencePutWithSize [put'Size, put'Fields]
- wireGet ft'
- = case ft' of
- 10 -> P'.getBareMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- 11 -> P'.getMessageWith (P'.catch'Unknown' P'.discardUnknown update'Self)
- _ -> P'.wireGetErr ft'
- where
- update'Self wire'Tag old'Self
- = case wire'Tag of
- 10 -> Prelude'.fmap (\ !new'Field -> old'Self{id = Prelude'.Just new'Field}) (P'.wireGet 9)
- 18 -> Prelude'.fmap (\ !new'Field -> old'Self{label = Prelude'.Just new'Field}) (P'.wireGet 9)
- 24 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_status = Prelude'.Just new'Field}) (P'.wireGet 14)
- 32 -> Prelude'.fmap (\ !new'Field -> old'Self{occupancy_percentage = Prelude'.Just new'Field}) (P'.wireGet 5)
- 40 -> Prelude'.fmap (\ !new'Field -> old'Self{carriage_sequence = Prelude'.Just new'Field}) (P'.wireGet 13)
- _ -> let (field'Number, wire'Type) = P'.splitWireTag wire'Tag in
- if Prelude'.or [1000 <= field'Number && field'Number <= 1999, 9000 <= field'Number && field'Number <= 9999] then
- P'.loadExtension field'Number wire'Type old'Self else P'.unknown field'Number wire'Type old'Self
-
-instance P'.MessageAPI msg' (msg' -> CarriageDetails) CarriageDetails where
- getVal m' f' = f' m'
-
-instance P'.GPB CarriageDetails
-
-instance P'.ReflectDescriptor CarriageDetails where
- getMessageInfo _ = P'.GetMessageInfo (P'.fromDistinctAscList []) (P'.fromDistinctAscList [10, 18, 24, 32, 40])
- reflectDescriptorInfo _
- = Prelude'.read
- "DescriptorInfo {descName = ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.CarriageDetails\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"CarriageDetails\"}, descFilePath = [\"GTFS\",\"Realtime\",\"VehiclePosition\",\"CarriageDetails.hs\"], isGroup = False, fields = fromList [FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.id\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"id\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 1}, wireTag = WireTag {getWireTag = 10}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.label\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"label\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 2}, wireTag = WireTag {getWireTag = 18}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 9}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_status\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_status\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 3}, wireTag = WireTag {getWireTag = 24}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 14}, typeName = Just (ProtoName {protobufName = FIName \".transit_realtime.VehiclePosition.OccupancyStatus\", haskellPrefix = [], parentModule = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\"], baseName = MName \"OccupancyStatus\"}), hsRawDefault = Just \"NO_DATA_AVAILABLE\", hsDefault = Just (HsDef'Enum \"NO_DATA_AVAILABLE\"), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.occupancy_percentage\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"occupancy_percentage\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 4}, wireTag = WireTag {getWireTag = 32}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 5}, typeName = Nothing, hsRawDefault = Just \"-1\", hsDefault = Just (HsDef'Integer (-1)), isMapField = False, mapKeyVal = Nothing},FieldInfo {fieldName = ProtoFName {protobufName' = FIName \".transit_realtime.VehiclePosition.CarriageDetails.carriage_sequence\", haskellPrefix' = [], parentModule' = [MName \"GTFS\",MName \"Realtime\",MName \"VehiclePosition\",MName \"CarriageDetails\"], baseName' = FName \"carriage_sequence\", baseNamePrefix' = \"\"}, fieldNumber = FieldId {getFieldId = 5}, wireTag = WireTag {getWireTag = 40}, packedTag = Nothing, wireTagLength = 1, isPacked = False, isRequired = False, canRepeat = False, mightPack = False, typeCode = FieldType {getFieldType = 13}, typeName = Nothing, hsRawDefault = Nothing, hsDefault = Nothing, isMapField = False, mapKeyVal = Nothing}], descOneofs = fromList [], keys = fromList [], extRanges = [(FieldId {getFieldId = 1000},FieldId {getFieldId = 1999}),(FieldId {getFieldId = 9000},FieldId {getFieldId = 9999})], knownKeys = fromList [], storeUnknown = False, lazyFields = False, makeLenses = False, jsonInstances = False, mapEntry = False}"
-
-instance P'.TextType CarriageDetails where
- tellT = P'.tellSubMessage
- getT = P'.getSubMessage
-
-instance P'.TextMsg CarriageDetails where
- textPut msg
- = do
- P'.tellT "id" (id msg)
- P'.tellT "label" (label msg)
- P'.tellT "occupancy_status" (occupancy_status msg)
- P'.tellT "occupancy_percentage" (occupancy_percentage msg)
- P'.tellT "carriage_sequence" (carriage_sequence msg)
- textGet
- = do
- mods <- P'.sepEndBy
- (P'.choice [parse'id, parse'label, parse'occupancy_status, parse'occupancy_percentage, parse'carriage_sequence])
- P'.spaces
- Prelude'.return (Prelude'.foldl' (\ v f -> f v) P'.defaultValue mods)
- where
- parse'id = Prelude'.fmap (\ v o -> o{id = v}) (P'.try (P'.getT "id"))
- parse'label = Prelude'.fmap (\ v o -> o{label = v}) (P'.try (P'.getT "label"))
- parse'occupancy_status = Prelude'.fmap (\ v o -> o{occupancy_status = v}) (P'.try (P'.getT "occupancy_status"))
- parse'occupancy_percentage = Prelude'.fmap (\ v o -> o{occupancy_percentage = v}) (P'.try (P'.getT "occupancy_percentage"))
- parse'carriage_sequence = Prelude'.fmap (\ v o -> o{carriage_sequence = v}) (P'.try (P'.getT "carriage_sequence")) \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs b/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs
deleted file mode 100644
index 4f84eac..0000000
--- a/gtfs/GTFS/Realtime/VehiclePosition/CongestionLevel.hs
+++ /dev/null
@@ -1,85 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehiclePosition.CongestionLevel (CongestionLevel(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data CongestionLevel = UNKNOWN_CONGESTION_LEVEL
- | RUNNING_SMOOTHLY
- | STOP_AND_GO
- | CONGESTION
- | SEVERE_CONGESTION
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable CongestionLevel
-
-instance Prelude'.Bounded CongestionLevel where
- minBound = UNKNOWN_CONGESTION_LEVEL
- maxBound = SEVERE_CONGESTION
-
-instance P'.Default CongestionLevel where
- defaultValue = UNKNOWN_CONGESTION_LEVEL
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe CongestionLevel
-toMaybe'Enum 0 = Prelude'.Just UNKNOWN_CONGESTION_LEVEL
-toMaybe'Enum 1 = Prelude'.Just RUNNING_SMOOTHLY
-toMaybe'Enum 2 = Prelude'.Just STOP_AND_GO
-toMaybe'Enum 3 = Prelude'.Just CONGESTION
-toMaybe'Enum 4 = Prelude'.Just SEVERE_CONGESTION
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum CongestionLevel where
- fromEnum UNKNOWN_CONGESTION_LEVEL = 0
- fromEnum RUNNING_SMOOTHLY = 1
- fromEnum STOP_AND_GO = 2
- fromEnum CONGESTION = 3
- fromEnum SEVERE_CONGESTION = 4
- toEnum
- = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.CongestionLevel") .
- toMaybe'Enum
- succ UNKNOWN_CONGESTION_LEVEL = RUNNING_SMOOTHLY
- succ RUNNING_SMOOTHLY = STOP_AND_GO
- succ STOP_AND_GO = CONGESTION
- succ CONGESTION = SEVERE_CONGESTION
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.CongestionLevel"
- pred RUNNING_SMOOTHLY = UNKNOWN_CONGESTION_LEVEL
- pred STOP_AND_GO = RUNNING_SMOOTHLY
- pred CONGESTION = STOP_AND_GO
- pred SEVERE_CONGESTION = CONGESTION
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.CongestionLevel"
-
-instance P'.Wire CongestionLevel where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB CongestionLevel
-
-instance P'.MessageAPI msg' (msg' -> CongestionLevel) CongestionLevel where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum CongestionLevel where
- reflectEnum
- = [(0, "UNKNOWN_CONGESTION_LEVEL", UNKNOWN_CONGESTION_LEVEL), (1, "RUNNING_SMOOTHLY", RUNNING_SMOOTHLY),
- (2, "STOP_AND_GO", STOP_AND_GO), (3, "CONGESTION", CONGESTION), (4, "SEVERE_CONGESTION", SEVERE_CONGESTION)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.CongestionLevel") [] ["GTFS", "Realtime", "VehiclePosition"]
- "CongestionLevel")
- ["GTFS", "Realtime", "VehiclePosition", "CongestionLevel.hs"]
- [(0, "UNKNOWN_CONGESTION_LEVEL"), (1, "RUNNING_SMOOTHLY"), (2, "STOP_AND_GO"), (3, "CONGESTION"), (4, "SEVERE_CONGESTION")]
- Prelude'.False
-
-instance P'.TextType CongestionLevel where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs b/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs
deleted file mode 100644
index 92d4064..0000000
--- a/gtfs/GTFS/Realtime/VehiclePosition/OccupancyStatus.hs
+++ /dev/null
@@ -1,109 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehiclePosition.OccupancyStatus (OccupancyStatus(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data OccupancyStatus = EMPTY
- | MANY_SEATS_AVAILABLE
- | FEW_SEATS_AVAILABLE
- | STANDING_ROOM_ONLY
- | CRUSHED_STANDING_ROOM_ONLY
- | FULL
- | NOT_ACCEPTING_PASSENGERS
- | NO_DATA_AVAILABLE
- | NOT_BOARDABLE
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable OccupancyStatus
-
-instance Prelude'.Bounded OccupancyStatus where
- minBound = EMPTY
- maxBound = NOT_BOARDABLE
-
-instance P'.Default OccupancyStatus where
- defaultValue = EMPTY
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe OccupancyStatus
-toMaybe'Enum 0 = Prelude'.Just EMPTY
-toMaybe'Enum 1 = Prelude'.Just MANY_SEATS_AVAILABLE
-toMaybe'Enum 2 = Prelude'.Just FEW_SEATS_AVAILABLE
-toMaybe'Enum 3 = Prelude'.Just STANDING_ROOM_ONLY
-toMaybe'Enum 4 = Prelude'.Just CRUSHED_STANDING_ROOM_ONLY
-toMaybe'Enum 5 = Prelude'.Just FULL
-toMaybe'Enum 6 = Prelude'.Just NOT_ACCEPTING_PASSENGERS
-toMaybe'Enum 7 = Prelude'.Just NO_DATA_AVAILABLE
-toMaybe'Enum 8 = Prelude'.Just NOT_BOARDABLE
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum OccupancyStatus where
- fromEnum EMPTY = 0
- fromEnum MANY_SEATS_AVAILABLE = 1
- fromEnum FEW_SEATS_AVAILABLE = 2
- fromEnum STANDING_ROOM_ONLY = 3
- fromEnum CRUSHED_STANDING_ROOM_ONLY = 4
- fromEnum FULL = 5
- fromEnum NOT_ACCEPTING_PASSENGERS = 6
- fromEnum NO_DATA_AVAILABLE = 7
- fromEnum NOT_BOARDABLE = 8
- toEnum
- = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus") .
- toMaybe'Enum
- succ EMPTY = MANY_SEATS_AVAILABLE
- succ MANY_SEATS_AVAILABLE = FEW_SEATS_AVAILABLE
- succ FEW_SEATS_AVAILABLE = STANDING_ROOM_ONLY
- succ STANDING_ROOM_ONLY = CRUSHED_STANDING_ROOM_ONLY
- succ CRUSHED_STANDING_ROOM_ONLY = FULL
- succ FULL = NOT_ACCEPTING_PASSENGERS
- succ NOT_ACCEPTING_PASSENGERS = NO_DATA_AVAILABLE
- succ NO_DATA_AVAILABLE = NOT_BOARDABLE
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus"
- pred MANY_SEATS_AVAILABLE = EMPTY
- pred FEW_SEATS_AVAILABLE = MANY_SEATS_AVAILABLE
- pred STANDING_ROOM_ONLY = FEW_SEATS_AVAILABLE
- pred CRUSHED_STANDING_ROOM_ONLY = STANDING_ROOM_ONLY
- pred FULL = CRUSHED_STANDING_ROOM_ONLY
- pred NOT_ACCEPTING_PASSENGERS = FULL
- pred NO_DATA_AVAILABLE = NOT_ACCEPTING_PASSENGERS
- pred NOT_BOARDABLE = NO_DATA_AVAILABLE
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.OccupancyStatus"
-
-instance P'.Wire OccupancyStatus where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB OccupancyStatus
-
-instance P'.MessageAPI msg' (msg' -> OccupancyStatus) OccupancyStatus where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum OccupancyStatus where
- reflectEnum
- = [(0, "EMPTY", EMPTY), (1, "MANY_SEATS_AVAILABLE", MANY_SEATS_AVAILABLE), (2, "FEW_SEATS_AVAILABLE", FEW_SEATS_AVAILABLE),
- (3, "STANDING_ROOM_ONLY", STANDING_ROOM_ONLY), (4, "CRUSHED_STANDING_ROOM_ONLY", CRUSHED_STANDING_ROOM_ONLY),
- (5, "FULL", FULL), (6, "NOT_ACCEPTING_PASSENGERS", NOT_ACCEPTING_PASSENGERS), (7, "NO_DATA_AVAILABLE", NO_DATA_AVAILABLE),
- (8, "NOT_BOARDABLE", NOT_BOARDABLE)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.OccupancyStatus") [] ["GTFS", "Realtime", "VehiclePosition"]
- "OccupancyStatus")
- ["GTFS", "Realtime", "VehiclePosition", "OccupancyStatus.hs"]
- [(0, "EMPTY"), (1, "MANY_SEATS_AVAILABLE"), (2, "FEW_SEATS_AVAILABLE"), (3, "STANDING_ROOM_ONLY"),
- (4, "CRUSHED_STANDING_ROOM_ONLY"), (5, "FULL"), (6, "NOT_ACCEPTING_PASSENGERS"), (7, "NO_DATA_AVAILABLE"),
- (8, "NOT_BOARDABLE")]
- Prelude'.False
-
-instance P'.TextType OccupancyStatus where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs b/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
deleted file mode 100644
index 3bc70e5..0000000
--- a/gtfs/GTFS/Realtime/VehiclePosition/VehicleStopStatus.hs
+++ /dev/null
@@ -1,73 +0,0 @@
-{-# LANGUAGE BangPatterns, DataKinds, DeriveDataTypeable, DeriveGeneric, FlexibleInstances, MultiParamTypeClasses, OverloadedStrings
- #-}
-{-# OPTIONS_GHC -w #-}
-module GTFS.Realtime.VehiclePosition.VehicleStopStatus (VehicleStopStatus(..)) where
-import Prelude ((+), (/), (.))
-import qualified Prelude as Prelude'
-import qualified Data.List as Prelude'
-import qualified Data.Typeable as Prelude'
-import qualified GHC.Generics as Prelude'
-import qualified Data.Data as Prelude'
-import qualified Text.ProtocolBuffers.Header as P'
-
-data VehicleStopStatus = INCOMING_AT
- | STOPPED_AT
- | IN_TRANSIT_TO
- deriving (Prelude'.Read, Prelude'.Show, Prelude'.Eq, Prelude'.Ord, Prelude'.Typeable, Prelude'.Data,
- Prelude'.Generic)
-
-instance P'.Mergeable VehicleStopStatus
-
-instance Prelude'.Bounded VehicleStopStatus where
- minBound = INCOMING_AT
- maxBound = IN_TRANSIT_TO
-
-instance P'.Default VehicleStopStatus where
- defaultValue = INCOMING_AT
-
-toMaybe'Enum :: Prelude'.Int -> P'.Maybe VehicleStopStatus
-toMaybe'Enum 0 = Prelude'.Just INCOMING_AT
-toMaybe'Enum 1 = Prelude'.Just STOPPED_AT
-toMaybe'Enum 2 = Prelude'.Just IN_TRANSIT_TO
-toMaybe'Enum _ = Prelude'.Nothing
-
-instance Prelude'.Enum VehicleStopStatus where
- fromEnum INCOMING_AT = 0
- fromEnum STOPPED_AT = 1
- fromEnum IN_TRANSIT_TO = 2
- toEnum
- = P'.fromMaybe (Prelude'.error "hprotoc generated code: toEnum failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus")
- . toMaybe'Enum
- succ INCOMING_AT = STOPPED_AT
- succ STOPPED_AT = IN_TRANSIT_TO
- succ _ = Prelude'.error "hprotoc generated code: succ failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus"
- pred STOPPED_AT = INCOMING_AT
- pred IN_TRANSIT_TO = STOPPED_AT
- pred _ = Prelude'.error "hprotoc generated code: pred failure for type GTFS.Realtime.VehiclePosition.VehicleStopStatus"
-
-instance P'.Wire VehicleStopStatus where
- wireSize ft' enum = P'.wireSize ft' (Prelude'.fromEnum enum)
- wirePut ft' enum = P'.wirePut ft' (Prelude'.fromEnum enum)
- wireGet 14 = P'.wireGetEnum toMaybe'Enum
- wireGet ft' = P'.wireGetErr ft'
- wireGetPacked 14 = P'.wireGetPackedEnum toMaybe'Enum
- wireGetPacked ft' = P'.wireGetErr ft'
-
-instance P'.GPB VehicleStopStatus
-
-instance P'.MessageAPI msg' (msg' -> VehicleStopStatus) VehicleStopStatus where
- getVal m' f' = f' m'
-
-instance P'.ReflectEnum VehicleStopStatus where
- reflectEnum = [(0, "INCOMING_AT", INCOMING_AT), (1, "STOPPED_AT", STOPPED_AT), (2, "IN_TRANSIT_TO", IN_TRANSIT_TO)]
- reflectEnumInfo _
- = P'.EnumInfo
- (P'.makePNF (P'.pack ".transit_realtime.VehiclePosition.VehicleStopStatus") [] ["GTFS", "Realtime", "VehiclePosition"]
- "VehicleStopStatus")
- ["GTFS", "Realtime", "VehiclePosition", "VehicleStopStatus.hs"]
- [(0, "INCOMING_AT"), (1, "STOPPED_AT"), (2, "IN_TRANSIT_TO")]
- Prelude'.False
-
-instance P'.TextType VehicleStopStatus where
- tellT = P'.tellShow
- getT = P'.getRead \ No newline at end of file
diff --git a/gtfs/Servant/GTFS/Realtime.hs b/gtfs/Servant/GTFS/Realtime.hs
deleted file mode 100644
index 8923b92..0000000
--- a/gtfs/Servant/GTFS/Realtime.hs
+++ /dev/null
@@ -1,38 +0,0 @@
-{-# LANGUAGE FlexibleInstances #-}
-{-# LANGUAGE MultiParamTypeClasses #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TypeApplications #-}
-{-# LANGUAGE ScopedTypeVariables #-}
-{-# LANGUAGE UndecidableInstances #-}
-
-
-module Servant.GTFS.Realtime (Proto) where
-
-import Servant
- ( MimeRender(..),
- MimeUnrender(mimeUnrender),
- Accept(contentType),
- Proxy(Proxy) )
-import Text.ProtocolBuffers
- ( Wire, ReflectDescriptor, messagePut, messageGet )
-import Network.HTTP.Media ((//))
-import Data.Either.Combinators (mapRight)
-import Data.Swagger (ToSchema(..))
-
-
--- | A servant encoding for protobuf-encoded messages
-data Proto
-
-instance Accept Proto where
- contentType _ = "application" // "octet-stream"
-
-instance (Wire msg, ReflectDescriptor msg) => MimeUnrender Proto msg where
- mimeUnrender _ = mapRight fst . messageGet @msg
-
-instance (Wire msg, ReflectDescriptor msg) => MimeRender Proto msg where
- mimeRender _ = messagePut
-
--- TODO: this instance is horrible; ideally it should at least include
--- the name of the message type (if at all possible)
-instance {-# OVERLAPPABLE #-} Wire msg => ToSchema msg where
- declareNamedSchema _ = declareNamedSchema (Proxy @String)
diff --git a/lib/API.hs b/lib/API.hs
index 5ea1c06..b0e12f6 100644
--- a/lib/API.hs
+++ b/lib/API.hs
@@ -2,7 +2,9 @@
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE UndecidableInstances #-}
-- | The sole authorative definition of this server's API, given as a Servant-style
-- Haskell type. All other descriptions of the API are generated from this one.
@@ -23,14 +25,16 @@ import Data.Time (Day, UTCTime)
import Data.UUID (UUID)
import Servant (Application, FormUrlEncoded,
FromHttpApiData (parseUrlPiece),
- MimeRender (..), Server, err401,
+ MimeRender (..),
+ MimeUnrender (..), Server, err401,
err404, type (:>))
-import Servant.API (Capture, Get, JSON, MimeRender,
+import Servant.API (Accept, Capture, Get, JSON,
+ MimeRender, MimeUnrender,
NoContent, OctetStream, PlainText,
Post, QueryParam, Raw, ReqBody,
type (:<|>) (..))
import Servant.API.WebSocket (WebSocket)
-import Servant.GTFS.Realtime (Proto)
+-- import Servant.GTFS.Realtime (Proto)
import Servant.Swagger (HasSwagger (..))
import Web.Internal.FormUrlEncoded (Form)
@@ -38,14 +42,16 @@ import Control.Lens (At (at), (&), (?~))
import Data.Aeson (FromJSON (..), Value,
genericParseJSON)
import Data.ByteString (ByteString)
+import qualified Data.ByteString.Lazy as LB
import Data.HashMap.Strict.InsOrd (singleton)
+import Data.ProtoLens (Message, encodeMessage)
import GHC.Generics (Generic)
import GTFS
-import GTFS.Realtime.FeedEntity
-import GTFS.Realtime.FeedMessage (FeedMessage)
-import Prometheus
-
+import Network.HTTP.Media ((//))
import Persist
+import Prometheus
+import Proto.GtfsRealtime (FeedMessage)
+import Servant.API.ContentTypes (Accept (..))
newtype RegisterJson = RegisterJson
{ registerAgent :: Text }
@@ -117,3 +123,16 @@ instance HasSwagger WebSocket where
}
}
+-- | A servant encoding for protobuf-encoded messages
+data Proto
+
+instance Accept Proto where
+ contentType _ = "application" // "octet-stream"
+
+instance Message msg => MimeRender Proto msg where
+ mimeRender _ = LB.fromStrict . encodeMessage
+
+-- TODO: this instance is horrible; ideally it should at least include
+-- the name of the message type (if at all possible)
+instance {-# OVERLAPPABLE #-} Message msg => ToSchema msg where
+ declareNamedSchema _ = declareNamedSchema (Proxy @String)
diff --git a/lib/Server/ControlRoom.hs b/lib/Server/ControlRoom.hs
index 8fef7f9..402f0b8 100644
--- a/lib/Server/ControlRoom.hs
+++ b/lib/Server/ControlRoom.hs
@@ -48,7 +48,6 @@ import GHC.Generics (Generic)
import Server.Util (Service, secondsNow)
import Text.Blaze.Html (ToMarkup (..))
import Text.Blaze.Internal (MarkupM (Empty))
-import Text.ProtocolBuffers (Default (defaultValue))
import Text.Read (readMaybe)
import Text.Shakespeare.Text
import Yesod
diff --git a/lib/Server/GTFS_RT.hs b/lib/Server/GTFS_RT.hs
index 70f3c63..cfb02ce 100644
--- a/lib/Server/GTFS_RT.hs
+++ b/lib/Server/GTFS_RT.hs
@@ -1,113 +1,60 @@
-{-# LANGUAGE DataKinds #-}
-{-# LANGUAGE NamedFieldPuns #-}
-{-# LANGUAGE OverloadedLists #-}
-{-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE RecordWildCards #-}
-{-# LANGUAGE TupleSections #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE OverloadedLists #-}
+{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE PartialTypeSignatures #-}
+{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TupleSections #-}
module Server.GTFS_RT (gtfsRealtimeServer) where
-import Prelude hiding
- (id)
-
-import API (GtfsRealtimeAPI)
-import Control.Monad (forM)
-import Control.Monad.IO.Class (MonadIO (..))
-import qualified Data.ByteString.Char8 as C8
-import Data.ByteString.Lazy (fromStrict)
-import Data.Functor ((<&>))
-import qualified Data.Map as M
-import Data.Maybe (catMaybes,
- mapMaybe)
-import Data.Pool (Pool)
-import Data.Sequence (Seq)
-import qualified Data.Sequence as Seq
-import Data.Text (Text)
-import qualified Data.Text as T
-import Data.Text.Encoding (encodeUtf8)
-import Data.Time.Calendar (Day,
- toGregorian)
-import Data.Time.Clock (UTCTime (utctDay),
- addUTCTime,
- getCurrentTime)
-import Data.Time.Clock.POSIX (getPOSIXTime)
-import Data.Time.Clock.System (SystemTime (systemSeconds),
- getSystemTime,
- utcToSystemTime)
-import qualified Data.UUID as UUID
-import Data.Word (Word64)
-import Database.Persist (Entity (..),
- PersistQueryRead (selectFirst),
- selectList,
- (==.))
-import Database.Persist.Postgresql (SqlBackend)
-import GHC.Float (double2Float,
- int2Double)
-import GTFS (Depth (..),
- GTFS (..),
- Seconds (..),
- Stop (..),
- Trip (..),
- TripID,
- showTimeWithSeconds,
- stationId,
- toSeconds,
- toUTC,
- tripsOnDay)
-import GTFS.Realtime.Alert as AL (Alert (..))
-import GTFS.Realtime.Alert.SeverityLevel (SeverityLevel (WARNING))
-import GTFS.Realtime.EntitySelector as ES (EntitySelector (..))
-import GTFS.Realtime.FeedEntity as FE (FeedEntity (..))
-import GTFS.Realtime.FeedHeader (FeedHeader (FeedHeader))
-import GTFS.Realtime.FeedHeader.Incrementality (Incrementality (FULL_DATASET))
-import GTFS.Realtime.FeedMessage as FM (FeedMessage (..))
-import GTFS.Realtime.Position as POS (Position (..))
-import GTFS.Realtime.TimeRange (TimeRange (TimeRange))
-import GTFS.Realtime.TranslatedString (TranslatedString (TranslatedString))
-import GTFS.Realtime.TranslatedString.Translation (Translation (Translation))
-import GTFS.Realtime.TripDescriptor as TD (TripDescriptor (..))
-import qualified GTFS.Realtime.TripDescriptor.ScheduleRelationship as TSR
-import GTFS.Realtime.TripUpdate as TU (TripUpdate (..))
-import GTFS.Realtime.TripUpdate.StopTimeEvent as STE (StopTimeEvent (..))
-import GTFS.Realtime.TripUpdate.StopTimeUpdate as STU (StopTimeUpdate (..))
-import qualified GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship as SR
-import GTFS.Realtime.VehicleDescriptor as VD (VehicleDescriptor (..))
-import GTFS.Realtime.VehiclePosition as VP (VehiclePosition (..))
-import Persist (Announcement (..),
- EntityField (..),
- Key (..),
- Running (..),
- Token (..),
- TrainAnchor (..),
- TrainPing (..),
- runSql)
-import Servant.API ((:<|>) (..))
-import Text.ProtocolBuffers (Utf8 (Utf8),
- defaultValue)
-
-import Control.Monad.Extra (mapMaybeM)
-import Data.List.NonEmpty (nonEmpty)
-import Data.Time.Format.ISO8601 (ISO8601 (iso8601Format),
- iso8601Show)
-import Data.UUID (toASCIIBytes,
- toLazyASCIIBytes)
-import qualified Data.Vector as V
-import Extrapolation (Extrapolator (extrapolateAtPosition, extrapolateAtSeconds),
- LinearExtrapolator (..))
-import GTFS.Realtime.TripUpdate (TripUpdate (TripUpdate))
-import Server.Util (Service,
- secondsNow)
-
-uuidUtf8 :: UUID.UUID -> Utf8
-uuidUtf8 = Utf8 . fromStrict . UUID.toASCIIBytes
-
-toUtf8 :: Text -> Utf8
-toUtf8 = Utf8 . fromStrict . encodeUtf8
+import API (GtfsRealtimeAPI)
+import Control.Lens ((&), (.~))
+import Control.Monad (forM)
+import Control.Monad.Extra (mapMaybeM)
+import Control.Monad.IO.Class (MonadIO (..))
+import Data.Functor ((<&>))
+import Data.List.NonEmpty (NonEmpty, nonEmpty)
+import qualified Data.Map as M
+import Data.Maybe (catMaybes, mapMaybe)
+import Data.Pool (Pool)
+import Data.ProtoLens (defMessage)
+import Data.Text (Text)
+import qualified Data.Text as T
+import Data.Time.Calendar (Day, toGregorian)
+import Data.Time.Clock (UTCTime (utctDay), addUTCTime,
+ getCurrentTime)
+import Data.Time.Clock.System (SystemTime (systemSeconds),
+ getSystemTime, utcToSystemTime)
+import Data.Time.Format.ISO8601 (iso8601Show)
+import Data.UUID (toASCIIBytes, toLazyASCIIBytes)
+import qualified Data.UUID as UUID
+import qualified Data.Vector as V
+import Database.Persist (Entity (..),
+ PersistQueryRead (selectFirst),
+ selectList, (==.))
+import Database.Persist.Postgresql (SqlBackend)
+import Extrapolation (Extrapolator (extrapolateAtPosition, extrapolateAtSeconds),
+ LinearExtrapolator (..))
+import GHC.Float (double2Float, int2Double)
+import GTFS (Depth (..), GTFS (..),
+ Seconds (..), Stop (..),
+ Trip (..), TripID,
+ showTimeWithSeconds, stationId,
+ toSeconds, toUTC, tripsOnDay)
+import Persist (Announcement (..),
+ EntityField (..), Key (..),
+ Running (..), Token (..),
+ TrainAnchor (..), TrainPing (..),
+ runSql)
+import qualified Proto.GtfsRealtime as RT
+import qualified Proto.GtfsRealtime_Fields as RT
+import Servant.API ((:<|>) (..))
+import Server.Util (Service, secondsNow)
-- | formats a day in the "stupid" format used by gtfs realtime
-toStupidDate :: Day -> Utf8
-toStupidDate date = toUtf8
- $ pad 4 year <> pad 2 month <> pad 2 day
+toStupidDate :: Day -> Text
+toStupidDate date =
+ pad 4 year <> pad 2 month <> pad 2 day
where (year, month, day) = toGregorian date
pad len num = T.pack $ if ndigits < len
then replicate (len - ndigits) '0' <> show num
@@ -119,173 +66,124 @@ toStupidTime :: Num i => UTCTime -> i
toStupidTime = fromIntegral . systemSeconds . utcToSystemTime
gtfsRealtimeServer :: GTFS -> Pool SqlBackend -> Service GtfsRealtimeAPI
-gtfsRealtimeServer gtfs@GTFS{..} dbpool = handleServiceAlerts :<|> handleTripUpdates :<|> handleVehiclePositions
- where handleServiceAlerts = runSql dbpool $ do
- -- TODO filter: only select current & future days
- announcements <- selectList [] []
- dFeedMessage $ Seq.fromList $ fmap mkAlert announcements
- where mkAlert (Entity (AnnouncementKey uuid) Announcement{..}) =
- (dFeedEntity (uuidUtf8 uuid))
- { alert = Just $ Alert
- { active_period = [TimeRange Nothing Nothing defaultValue]
- -- TODO: is this time range reasonable, needed, etc.?
- , informed_entity =
- [dEntitySelector
- { ES.trip =
- Just (dTripDescriptor announcementTrip (Just announcementDay) Nothing)
- }
- ]
- , cause = Nothing
- , effect = Nothing
- , url = fmap (lang "de" . toUtf8) announcementUrl
- , header_text = Just $ lang "de" (toUtf8 announcementHeader)
- , description_text = Just $ lang "de" (toUtf8 announcementMessage)
- , tts_header_text = Nothing
- , tts_description_text = Nothing
- , severity_level = Nothing
- , image = Nothing
- , image_alternative_text = Nothing
- , AL.ext'field = defaultValue
- }
- }
-
-
- handleTripUpdates = runSql dbpool $ do
- today <- liftIO $ getCurrentTime <&> utctDay
- nowSeconds <- secondsNow today
- let running = M.toList $ tripsOnDay gtfs today
- anchors <- flip mapMaybeM running $ \(tripId, trip@Trip{..}) -> do
- entities <- selectList [TrainAnchorTrip ==. tripId, TrainAnchorDay ==. today] []
- case nonEmpty (fmap entityVal entities) of
- Nothing -> pure Nothing
- Just anchors ->
- pure $ Just (tripId, trip, anchors)
-
- dFeedMessage $ Seq.fromList $ mapMaybe (mkTripUpdate today nowSeconds) anchors
- where mkTripUpdate today nowSeconds (tripId :: Text, Trip{..} :: Trip Deep Deep, anchors) =
- let lastCall = extrapolateAtSeconds LinearExtrapolator anchors nowSeconds
- stations = tripStops
- <&> (\stop@Stop{..} -> (, stop) <$> extrapolateAtPosition LinearExtrapolator anchors (int2Double stopSequence))
- (lastAnchor, lastStop) = V.last (V.catMaybes stations)
- stillRunning = trainAnchorDelay lastAnchor + toSeconds (stopArrival lastStop) tzseries today
- < nowSeconds + 5 * 60
- -- note: these IDs should be stable across iterations, so just do tripId + runningday. TODO: breaks in case of cross-midnight?
- in if not stillRunning then Nothing else Just
- (dFeedEntity (Utf8 $ fromStrict (encodeUtf8 tripId <> "-" <> C8.pack (iso8601Show today))))
- { FE.trip_update = Just $ TripUpdate
- { TU.trip = dTripDescriptor tripId (Just today) (Just $ toUtf8 $ T.pack $ showTimeWithSeconds $ stopDeparture $ V.head tripStops) -- TODO will break if cross-midnight train
- , TU.vehicle = Nothing
- , TU.stop_time_update = Seq.fromList
- $ fmap (\(TrainAnchor{..}, Stop{..}) -> StopTimeUpdate
- { STU.stop_sequence = Just (fromIntegral stopSequence)
- , STU.stop_id = Just (toUtf8 $ stationId stopStation)
- , STU.arrival = Just (
- defaultValue
- { STE.delay = Just $ fromIntegral $ unSeconds trainAnchorDelay
- , STE.time = Just $ toStupidTime (addUTCTime (fromIntegral $ unSeconds trainAnchorDelay) (toUTC stopArrival tzseries today))
- , STE.uncertainty = Just 60 })
- , STU.departure = Just (
- defaultValue
- { STE.delay = Just $ fromIntegral $ unSeconds trainAnchorDelay
- , STE.time = Just $ toStupidTime (addUTCTime (fromIntegral $ unSeconds trainAnchorDelay) (toUTC stopDeparture tzseries today))
- , STE.uncertainty = Just 60 })
- , STU.departure_occupancy_status = Nothing
- , STU.schedule_relationship = Just SR.SCHEDULED
- , STU.stop_time_properties = Nothing
- , STU.ext'field = defaultValue
- })
- $ catMaybes $ V.toList stations
- , TU.delay = Nothing -- lastCall <&> (fromIntegral . unSeconds . trainAnchorDelay)
- , TU.timestamp = lastCall <&> (toStupidTime . trainAnchorCreated)
- , TU.trip_properties = Nothing
- , TU.ext'field = defaultValue
- }
- }
-
- handleVehiclePositions = runSql dbpool $ do
- (running :: [Entity Running]) <- selectList [] []
- pings <- forM running $ \(Entity key entity) -> do
- selectFirst [TrainPingToken ==. key] [] <&> fmap (, entity)
- dFeedMessage $ Seq.fromList $ mkPosition <$> catMaybes pings
- where mkPosition (Entity (TrainPingKey key) TrainPing{..}, Running{..}) =
- (dFeedEntity (toUtf8 . T.pack . show $ key))
- { FE.vehicle = Just $ VehiclePosition
- { trip = Just (dTripDescriptor runningTrip Nothing Nothing)
- , VP.vehicle = case runningVehicle of
- Nothing -> Nothing
- Just trainset -> Just $ VehicleDescriptor
- { VD.id = Nothing
- , VD.label = Just (toUtf8 trainset)
- , VD.license_plate = Nothing
- , VD.ext'field = defaultValue
- }
- , position = Just $ Position
- { latitude = double2Float trainPingLat
- , longitude = double2Float trainPingLong
- , odometer = Nothing
- , speed = Nothing
- , bearing = Nothing
- , POS.ext'field = defaultValue
- }
- -- TODO: at least one of these should probably be given
- , current_stop_sequence = Nothing
- , stop_id = Nothing
- , current_status = Nothing
- , timestamp = Just (toStupidTime trainPingTimestamp)
- , congestion_level = Nothing
- , occupancy_status = Nothing
- , occupancy_percentage = Nothing
- , multi_carriage_details = []
- , VP.ext'field = defaultValue
- }
- }
-
-
-lang :: Utf8 -> Utf8 -> TranslatedString
-lang code msg = TranslatedString [Translation msg (Just code) defaultValue] defaultValue
-
--- | a default FeedMessage, issued at the current system time
--- TODO: do we ever need incremental updates?
--- TODO: maybe instead use last update time?
-dFeedMessage :: MonadIO m => Seq FeedEntity -> m FeedMessage
-dFeedMessage entities = do
+gtfsRealtimeServer gtfs@GTFS{..} dbpool =
+ handleServiceAlerts :<|> handleTripUpdates :<|> handleVehiclePositions
+ where
+ handleServiceAlerts = runSql dbpool $ do
+ announcements <- selectList [] []
+ defFeedMessage (fmap mkAlert announcements)
+
+ where
+ mkAlert :: Entity Announcement -> RT.FeedEntity
+ mkAlert (Entity (AnnouncementKey uuid) Announcement{..}) =
+ defMessage
+ & RT.id .~ UUID.toText uuid
+ & RT.alert .~ (defMessage
+ & RT.activePeriod .~ [ defMessage :: RT.TimeRange ]
+ & RT.informedEntity .~ [ defMessage
+ & RT.trip .~ defTripDescriptor announcementTrip (Just announcementDay) Nothing
+ ]
+ & RT.maybe'url .~ fmap (monolingual "de") announcementUrl
+ & RT.headerText .~ monolingual "de" announcementHeader
+ & RT.descriptionText .~ monolingual "de" announcementMessage
+ )
+
+ handleTripUpdates = runSql dbpool $ do
+ today <- liftIO $ getCurrentTime <&> utctDay
+ nowSeconds <- secondsNow today
+ let running = M.toList (tripsOnDay gtfs today)
+ anchors <- flip mapMaybeM running $ \(tripId, trip@Trip{..}) -> do
+ entities <- selectList [TrainAnchorTrip ==. tripId, TrainAnchorDay ==. today] []
+ case nonEmpty (fmap entityVal entities) of
+ Nothing -> pure Nothing
+ Just anchors -> pure $ Just (tripId, trip, anchors)
+
+ defFeedMessage (mapMaybe (mkTripUpdate today nowSeconds) anchors)
+ where
+ mkTripUpdate :: Day -> Seconds -> (Text, Trip 'Deep 'Deep, NonEmpty TrainAnchor) -> Maybe RT.FeedEntity
+ mkTripUpdate today nowSeconds (tripId :: Text, Trip{..} :: Trip Deep Deep, anchors) =
+ let lastCall = extrapolateAtSeconds LinearExtrapolator anchors nowSeconds
+ stations = tripStops
+ <&> (\stop@Stop{..} -> (, stop)
+ <$> extrapolateAtPosition LinearExtrapolator anchors (int2Double stopSequence))
+ (lastAnchor, lastStop) = V.last (V.catMaybes stations)
+ stillRunning = trainAnchorDelay lastAnchor + toSeconds (stopArrival lastStop) tzseries today
+ < nowSeconds + 5 * 60
+ in if not stillRunning then Nothing else Just $ defMessage
+ & RT.id .~ (tripId <> "-" <> T.pack (iso8601Show today))
+ & RT.tripUpdate .~ (defMessage
+ & RT.trip .~ defTripDescriptor tripId (Just today) (Just $ T.pack (showTimeWithSeconds $ stopDeparture $ V.head tripStops))
+ & RT.stopTimeUpdate .~ fmap mkStopTimeUpdate (catMaybes $ V.toList stations)
+ & RT.maybe'delay .~ Nothing -- lastCall <&> (fromIntegral . unSeconds . trainAnchorDelay)
+ & RT.maybe'timestamp .~ fmap (toStupidTime . trainAnchorCreated) lastCall
+ )
+ where
+ mkStopTimeUpdate :: (TrainAnchor, Stop Deep) -> RT.TripUpdate'StopTimeUpdate
+ mkStopTimeUpdate (TrainAnchor{..}, Stop{..}) = defMessage
+ & RT.stopSequence .~ fromIntegral stopSequence
+ & RT.stopId .~ stationId stopStation
+ & RT.arrival .~ (defMessage
+ & RT.delay .~ fromIntegral (unSeconds trainAnchorDelay)
+ & RT.time .~ toStupidTime (addUTCTime
+ (fromIntegral $ unSeconds trainAnchorDelay)
+ (toUTC stopArrival tzseries today))
+ & RT.uncertainty .~ 60
+ )
+ & RT.departure .~ (defMessage
+ & RT.delay .~ fromIntegral (unSeconds trainAnchorDelay)
+ & RT.time .~ toStupidTime (addUTCTime
+ (fromIntegral $ unSeconds trainAnchorDelay)
+ (toUTC stopDeparture tzseries today))
+ & RT.uncertainty .~ 60
+ )
+ & RT.scheduleRelationship .~ RT.TripUpdate'StopTimeUpdate'SCHEDULED
+
+ handleVehiclePositions = runSql dbpool $ do
+ (running :: [Entity Running]) <- selectList [] []
+ pings <- forM running $ \(Entity key entity) -> do
+ selectFirst [TrainPingToken ==. key] [] <&> fmap (, entity)
+ defFeedMessage (mkPosition <$> catMaybes pings)
+
+ where
+ mkPosition :: (Entity TrainPing, Running) -> RT.FeedEntity
+ mkPosition (Entity (TrainPingKey key) TrainPing{..}, Running{..}) = defMessage
+ & RT.id .~ T.pack (show key)
+ & RT.vehicle .~ (defMessage
+ & RT.trip .~ defTripDescriptor runningTrip Nothing Nothing
+ & RT.maybe'vehicle .~ case runningVehicle of
+ Nothing -> Nothing
+ Just trainset -> Just $ defMessage
+ & RT.label .~ trainset
+ & RT.position .~ (defMessage
+ & RT.latitude .~ double2Float trainPingLat
+ & RT.longitude .~ double2Float trainPingLong
+ )
+ -- TODO: should probably give currentStopSequence/stopId here as well
+ & RT.timestamp .~ toStupidTime trainPingTimestamp
+ )
+
+
+monolingual :: Text -> Text -> RT.TranslatedString
+monolingual code msg = defMessage & RT.translation .~ [
+ defMessage
+ & RT.text .~ msg
+ & RT.language .~ code
+ ]
+
+defFeedMessage :: MonadIO m => [RT.FeedEntity] -> m RT.FeedMessage
+defFeedMessage entities = do
now <- liftIO getSystemTime <&> systemSeconds
- pure $ FeedMessage
- { header = FeedHeader "2.0" (Just FULL_DATASET) (Just $ fromIntegral now) defaultValue
- , entity = entities
- , FM.ext'field = defaultValue
- }
-
--- | a dummy FeedEntity (use record updates to add meaningful values to this)
-dFeedEntity :: Utf8 -> FeedEntity
-dFeedEntity id = FeedEntity
- { id
- , is_deleted = Nothing
- , trip_update = Nothing
- , vehicle = Nothing
- , alert = Nothing
- , shape = Nothing
- , FE.ext'field = defaultValue
- }
-
-dEntitySelector :: EntitySelector
-dEntitySelector = EntitySelector
- { agency_id = Nothing
- , route_id = Nothing
- , route_type = Nothing
- , trip = Nothing
- , stop_id = Nothing
- , direction_id = Nothing
- , ES.ext'field = defaultValue
- }
-
-dTripDescriptor :: TripID -> Maybe Day -> Maybe Utf8 -> TripDescriptor
-dTripDescriptor tripID day starttime = TripDescriptor
- { trip_id = Just (toUtf8 tripID)
- , route_id = Nothing
- , direction_id = Nothing
- , start_time = starttime
- , start_date = fmap toStupidDate day
- , schedule_relationship = Just TSR.SCHEDULED
- , TD.ext'field = defaultValue
- }
+ pure $ defMessage
+ & RT.header .~ (defMessage
+ & RT.gtfsRealtimeVersion .~ "2.0"
+ & RT.incrementality .~ RT.FeedHeader'FULL_DATASET
+ & RT.timestamp .~ fromIntegral now
+ )
+ & RT.entity .~ entities
+
+defTripDescriptor :: TripID -> Maybe Day -> Maybe Text -> RT.TripDescriptor
+defTripDescriptor tripId day starttime = defMessage
+ & RT.tripId .~ tripId
+ & RT.scheduleRelationship .~ RT.TripDescriptor'SCHEDULED
+ & RT.maybe'startTime .~ starttime
+ & RT.maybe'startDate .~ fmap toStupidDate day
diff --git a/tracktrain.cabal b/tracktrain.cabal
index d1acb1c..e763f6d 100644
--- a/tracktrain.cabal
+++ b/tracktrain.cabal
@@ -24,8 +24,8 @@ extra-source-files: CHANGELOG.md
executable tracktrain
main-is: Main.hs
ghc-options: -threaded -rtsopts
- build-depends: base ^>=4.15.1.0
- , bytestring >= 0.10.10.0
+ build-depends: base ^>=4.17
+ , bytestring ^>= 0.11
, fmt >= 0.6.3.0
, time
, aeson
@@ -35,13 +35,13 @@ executable tracktrain
, data-default-class >= 0.1.2
, persistent-postgresql
, monad-logger
- , gtfs
- , protocol-buffers
+ , gtfs-realtime
, conferer
, conferer-aeson
, conferer-yaml
, directory
, extra
+ , proto-lens
hs-source-dirs: app
default-language: Haskell2010
default-extensions: OverloadedStrings
@@ -49,12 +49,11 @@ executable tracktrain
library
- build-depends: base ^>=4.15.1.0
- , gtfs
- , protocol-buffers
+ build-depends: base ^>=4.17
+ , gtfs-realtime
, zip-archive
, cassava >= 0.5.2.0
- , bytestring >= 0.10.10.0
+ , bytestring ^>= 0.11
, uri-bytestring
, vector >= 0.12.3.1
, regex-tdfa
@@ -94,7 +93,7 @@ library
, yesod-auth
, yesod-auth-oauth2
, yesod-core
- , hoauth2 <= 2.6.0
+ , hoauth2
, blaze-html
, blaze-markup
, timezone-olson
@@ -104,6 +103,8 @@ library
, prometheus-client
, prometheus-metrics-ghc
, exceptions
+ , proto-lens
+ , http-media
hs-source-dirs: lib
exposed-modules: GTFS
, Server
@@ -122,46 +123,10 @@ library
, ScopedTypeVariables
, ViewPatterns
-library gtfs
- build-depends: base ^>=4.15.1.0
- , protocol-buffers
- , protocol-buffers-descriptor
- , servant
- , servant-server
- , http-media
- , either
- , swagger2
+library gtfs-realtime
+ build-depends: base ^>=4.17
+ , proto-lens-runtime
default-language: Haskell2010
- hs-source-dirs: gtfs
- exposed-modules: GTFS.Realtime
- , GTFS.Realtime.Alert
- , GTFS.Realtime.Alert.Cause
- , GTFS.Realtime.Alert.Effect
- , GTFS.Realtime.Alert.SeverityLevel
- , GTFS.Realtime.EntitySelector
- , GTFS.Realtime.FeedEntity
- , GTFS.Realtime.FeedHeader
- , GTFS.Realtime.FeedHeader.Incrementality
- , GTFS.Realtime.FeedMessage
- , GTFS.Realtime.Position
- , GTFS.Realtime.Shape
- , GTFS.Realtime.TimeRange
- , GTFS.Realtime.TranslatedImage
- , GTFS.Realtime.TranslatedImage.LocalizedImage
- , GTFS.Realtime.TranslatedString
- , GTFS.Realtime.TranslatedString.Translation
- , GTFS.Realtime.TripDescriptor
- , GTFS.Realtime.TripDescriptor.ScheduleRelationship
- , GTFS.Realtime.TripUpdate
- , GTFS.Realtime.TripUpdate.StopTimeEvent
- , GTFS.Realtime.TripUpdate.StopTimeUpdate
- , GTFS.Realtime.TripUpdate.StopTimeUpdate.ScheduleRelationship
- , GTFS.Realtime.TripUpdate.StopTimeUpdate.StopTimeProperties
- , GTFS.Realtime.TripUpdate.TripProperties
- , GTFS.Realtime.VehicleDescriptor
- , GTFS.Realtime.VehiclePosition
- , GTFS.Realtime.VehiclePosition.CarriageDetails
- , GTFS.Realtime.VehiclePosition.CongestionLevel
- , GTFS.Realtime.VehiclePosition.OccupancyStatus
- , GTFS.Realtime.VehiclePosition.VehicleStopStatus
- , Servant.GTFS.Realtime
+ hs-source-dirs: gtfs-realtime
+ exposed-modules: Proto.GtfsRealtime
+ , Proto.GtfsRealtime_Fields